* elf-bfd.h (eh_cie_fde): Add new fields: add_augmentation_size and
authorRichard Sandiford <rdsandiford@googlemail.com>
Tue, 16 Nov 2004 10:16:30 +0000 (10:16 +0000)
committerRichard Sandiford <rdsandiford@googlemail.com>
Tue, 16 Nov 2004 10:16:30 +0000 (10:16 +0000)
commit353057a53cee99996317c9038f7de664a7d38b4c
treec4574abd52e50daa44e8f5460740c47f0ac48cbf
parentb32d3aa2a05c297fcc8fa04c6b4c1345c6c291ad
* elf-bfd.h (eh_cie_fde): Add new fields: add_augmentation_size and
add_fde_encoding.  Remove need_relative.
* elf-eh-frame.c (extra_augmentation_string_bytes)
(extra_augmentation_data_bytes, size_of_output_cie_fde): New functions.
(_bfd_elf_discard_section_eh_frame): Consider changing the FDE encoding
in cases where the CIE has no existing 'R' augmentation.  Use
size_of_output_cie_fde when assigning offsets.  Use the final offset
as the new section size.
(_bfd_elf_eh_frame_section_offset): Remove need_relative handling.
Account for any extra augmentation bytes in the returned offset.
(_bfd_elf_write_section_eh_frame): Rework so that the entries are
moved before being modified.  Pad growing entries with DW_CFA_nops.
Add 'z' and 'R' augmentations as directed by add_augmentation_size
and add_fde_encoding.
bfd/ChangeLog
bfd/elf-bfd.h
bfd/elf-eh-frame.c
ld/testsuite/ChangeLog
ld/testsuite/ld-mips-elf/eh-frame1-n32.d [new file with mode: 0644]
ld/testsuite/ld-mips-elf/eh-frame1-n64.d [new file with mode: 0644]
ld/testsuite/ld-mips-elf/eh-frame1.ld [new file with mode: 0644]
ld/testsuite/ld-mips-elf/eh-frame1.s [new file with mode: 0644]
ld/testsuite/ld-mips-elf/mips-elf.exp