summaryrefslogtreecommitdiff
path: root/bfd/elf-bfd.h
diff options
context:
space:
mode:
authorAlan Modra <amodra@bigpond.net.au>2004-10-10 07:58:07 +0000
committerAlan Modra <amodra@bigpond.net.au>2004-10-10 07:58:07 +0000
commit58fce6ab152ec4eed4b58538849067eae9dad900 (patch)
treec6be334a7cca137b769a24f60049204ee2f9713c /bfd/elf-bfd.h
parent2a95775bcb6f5f300ba1949639ceffb9ac5f3835 (diff)
downloadgdb-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.h7
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.