* elf-eh-frame.c (struct cie): Add make_lsda_relative.
authorJakub Jelinek <jakub@redhat.com>
Tue, 18 Dec 2001 11:49:52 +0000 (11:49 +0000)
committerJakub Jelinek <jakub@redhat.com>
Tue, 18 Dec 2001 11:49:52 +0000 (11:49 +0000)
commit9e2a48988a4e469d5010bcd27c036ef9ee10a53e
tree19842d7514f85f4a6839c66ba7e4992eb3b53cc1
parent53c3f2bec7ea5f00b3119b817f80d557230d47dc
* elf-eh-frame.c (struct cie): Add make_lsda_relative.
(struct eh_cie_fde): Add lsda_encoding, lsda_offset,
make_lsda_relative.
(read_value, write_value): New.
(_bfd_elf_discard_section_eh_frame): Inicialize
lsda_encoding, lsda_offset and make_lsda_relative.
(_bfd_elf_eh_frame_section_offset): If make_lsda_relative,
request no dynamic reloc for LSDA field of FDE.
(_bfd_elf_write_section_eh_frame): Handle make_lsda_relative.
If a non-DW_EH_PE_absptr value is 0, don't adjust it by base
or pcrel.  Fix address computation for DW_EH_PE_pcrel relocs.
Update LSDA field if LSDA encoding is DW_EH_PE_pcrel, because
. might have changed due to deleted FDE or CIEs.
bfd/ChangeLog
bfd/elf-eh-frame.c