diff options
author | Alan Modra <amodra@bigpond.net.au> | 2004-10-10 07:58:07 +0000 |
---|---|---|
committer | Alan Modra <amodra@bigpond.net.au> | 2004-10-10 07:58:07 +0000 |
commit | 58fce6ab152ec4eed4b58538849067eae9dad900 (patch) | |
tree | c6be334a7cca137b769a24f60049204ee2f9713c /bfd/elf-bfd.h | |
parent | 2a95775bcb6f5f300ba1949639ceffb9ac5f3835 (diff) | |
download | gdb-58fce6ab152ec4eed4b58538849067eae9dad900.tar.gz |
* elf-bfd.h (struct eh_cie_fde): Add cie_inf, remove sec.
(struct eh_frame_hdr_info): Add last_cie_inf, remove last_cie_offset.
* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Delete code
setting offsets for removed CIEs. Don't set "sec", instead set
cie_inf for FDEs. Keep a pointer to last struct eh_cie_fde for a
CIE in hdr_info. Only set make_relative and make_lsda_relative
for CIEs. Use pointers rather than array indices.
(_bfd_elf_eh_frame_section_offset): Test/set make_relative,
make_lsda_relative, need_* on cie_inf for FDEs.
(_bfd_elf_write_section_eh_frame): Adjust offset and new_offset for
section output_offset. Delete cie_offset, instead use cie_inf
pointer to CIE entry. Use need_relative and need_lsda_relative on
CIE entry for FDEs. Use pointers rather than array indices.
Diffstat (limited to 'bfd/elf-bfd.h')
-rw-r--r-- | bfd/elf-bfd.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h index bfee05d1faf..f9b1b4ad314 100644 --- a/bfd/elf-bfd.h +++ b/bfd/elf-bfd.h @@ -286,9 +286,10 @@ struct cie struct eh_cie_fde { - unsigned int offset; + /* For FDEs, this points to the CIE used. */ + struct eh_cie_fde *cie_inf; unsigned int size; - asection *sec; + unsigned int offset; unsigned int new_offset; unsigned char fde_encoding; unsigned char lsda_encoding; @@ -319,8 +320,8 @@ struct eh_frame_hdr_info { struct cie last_cie; asection *last_cie_sec; + struct eh_cie_fde *last_cie_inf; asection *hdr_sec; - unsigned int last_cie_offset; unsigned int fde_count, array_count; struct eh_frame_array_ent *array; /* TRUE if .eh_frame_hdr should contain the sorted search table. |