OSDN Git Service

* elf-eh-frame.c (struct cie): New type.
authorJakub Jelinek <jakub@redhat.com>
Tue, 21 Nov 2006 11:25:16 +0000 (11:25 +0000)
committerJakub Jelinek <jakub@redhat.com>
Tue, 21 Nov 2006 11:25:16 +0000 (11:25 +0000)
commitb11930b30e1bf521a849a11eb08bfe6a6d899ca5
tree72ef53724ab05d5df83ad5e200b4c4f89d73c91c
parent322edeec4436b12dd09bd2a8e6332047f0cecfec
* elf-eh-frame.c (struct cie): New type.
(cie_compare): Removed.
(cie_eq, cie_hash, cie_compute_hash): New functions.
(_bfd_elf_discard_section_eh_frame): Rewrite not to rely on FDEs
pointing only to last CIE and allow merging of any duplicate CIEs,
not just duplicate consecutive CIEs.
(_bfd_elf_discard_section_eh_frame_hdr): Delete cies hash table.
* elf-bfd.h (struct cie_header, struct cie): Removed.
(struct eh_frame_sec_info): Remove alloced field.
(struct eh_frame_hdr_info): Remove last_cie, last_cie_sec
and last_cie_inf fields.  Add cies field.

* ld-elf/eh5.d: New test.
* ld-elf/eh5.s: New file.
* ld-elf/eh5a.s: New file.
* ld-elf/eh5b.s: New file.
bfd/ChangeLog
bfd/elf-bfd.h
bfd/elf-eh-frame.c