OSDN Git Service

* elf-bfd.h (eh_cie_fde): Add new fields: add_augmentation_size and
authorrsandifo <rsandifo>
Tue, 16 Nov 2004 10:16:24 +0000 (10:16 +0000)
committerrsandifo <rsandifo>
Tue, 16 Nov 2004 10:16:24 +0000 (10:16 +0000)
commitecbd21726b5aaff131959d46ec49b24df46024ca
tree5a4b3a03825dff2800cad9e4af60f3ceca63580d
parenta2ab3ab222ec601b54ffb725411d30405abff8ca
* 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