* elf-eh-frame.c (struct cie): Add make_lsda_relative.
commitd5d7aacc77b765cb807bf73a062d15a78cd113e1
authorJakub Jelinek <jakub@redhat.com>
Tue, 18 Dec 2001 11:49:52 +0000 (18 11:49 +0000)
committerJakub Jelinek <jakub@redhat.com>
Tue, 18 Dec 2001 11:49:52 +0000 (18 11:49 +0000)
tree56baebf90cc63e29c2994f2e8078fe52f4f46fee
parentc5c7de198e2ec220631235691f2e1fc9aa5aea78
* 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