OSDN Git Service

* elf-bfd.h (eh_cie_fde): Add new fields: add_augmentation_size and
authorRichard Sandiford <rsandifo@nildram.co.uk>
Tue, 16 Nov 2004 10:16:30 +0000 (10:16 +0000)
committerRichard Sandiford <rsandifo@nildram.co.uk>
Tue, 16 Nov 2004 10:16:30 +0000 (10:16 +0000)
commiteb856c752ba5750f0fe81a1dee74268bfb03a8f9
treee08e37b87aa3c29e33dcde2d41294802fc5f97c2
parent1d158bfabdbbc8da70aa249287078d922435f7be
* 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