aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf-bfd.h
diff options
context:
space:
mode:
authorRichard Sandiford <rdsandiford@googlemail.com>2007-12-15 09:35:58 +0000
committerRichard Sandiford <rdsandiford@googlemail.com>2007-12-15 09:35:58 +0000
commit9f4b847e239cc0e20de3662855f25d298aad8b8c (patch)
tree3ba63b6174945e6840791ef9e30c5563cdee9f89 /bfd/elf-bfd.h
parent9d0a14d3f3339d988a395262538629b05cac99d3 (diff)
downloadgdb-9f4b847e239cc0e20de3662855f25d298aad8b8c.zip
gdb-9f4b847e239cc0e20de3662855f25d298aad8b8c.tar.gz
gdb-9f4b847e239cc0e20de3662855f25d298aad8b8c.tar.bz2
bfd/
* elf-bfd.h (eh_cie_fde): Remove need_lsda_relative. Move make_lsda_relative to u.cie. * elf-eh-frame.c (cie): Rename make_lsda_relative to can_make_lsda_relative. (_bfd_elf_parse_eh_frame): Don't set the old eh_cie_fde make_lsda_relative field. Update after cie renaming. Set u.cie.make_lsda_relative if can_make_lsda_relative and if we find a relocation against the LSDA. (_bfd_elf_discard_section_eh_frame): Copy make_lsda_relative when changing a CIE's group representative. (_bfd_elf_eh_frame_section_offset): Don't set need_ldsa_relative here. (_bfd_elf_write_section_eh_frame): Check u.cie.make_lsda_relative rather than need_lsda_relative.
Diffstat (limited to 'bfd/elf-bfd.h')
-rw-r--r--bfd/elf-bfd.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h
index f5fcc6f..a4e974f 100644
--- a/bfd/elf-bfd.h
+++ b/bfd/elf-bfd.h
@@ -285,6 +285,11 @@ struct eh_cie_fde
/* True if we have marked relocations associated with this CIE. */
unsigned int gc_mark : 1;
+
+ /* True if we have decided to turn an absolute LSDA encoding into
+ a PC-relative one. It is the group representative's setting
+ that matters. */
+ unsigned int make_lsda_relative : 1;
} cie;
} u;
unsigned int reloc_index;
@@ -299,8 +304,6 @@ struct eh_cie_fde
unsigned int add_augmentation_size : 1;
unsigned int add_fde_encoding : 1;
unsigned int make_relative : 1;
- unsigned int make_lsda_relative : 1;
- unsigned int need_lsda_relative : 1;
unsigned int per_encoding_relative : 1;
unsigned int *set_loc;
};