diff options
author | Richard Sandiford <rdsandiford@googlemail.com> | 2007-12-15 09:35:58 +0000 |
---|---|---|
committer | Richard Sandiford <rdsandiford@googlemail.com> | 2007-12-15 09:35:58 +0000 |
commit | 9f4b847e239cc0e20de3662855f25d298aad8b8c (patch) | |
tree | 3ba63b6174945e6840791ef9e30c5563cdee9f89 /bfd/elf-bfd.h | |
parent | 9d0a14d3f3339d988a395262538629b05cac99d3 (diff) | |
download | fsf-binutils-gdb-9f4b847e239cc0e20de3662855f25d298aad8b8c.zip fsf-binutils-gdb-9f4b847e239cc0e20de3662855f25d298aad8b8c.tar.gz fsf-binutils-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.h | 7 |
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; }; |