bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug ld/17447] .eh_frame_hdr table[5707] FDE at 0000000000c45b8c overlap


From: cvs-commit at gcc dot gnu.org
Subject: [Bug ld/17447] .eh_frame_hdr table[5707] FDE at 0000000000c45b8c overlaps table[5708] FDE at 0000000000c45a88
Date: Sat, 04 Oct 2014 13:26:54 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=17447

--- Comment #5 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot 
gnu.org> ---
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gdb and binutils".

The branch, master has been updated
       via  c2aaac080c05369f6fb7009d85dcf9bb98a914e6 (commit)
      from  0661ae8e4d4a2cadcf04f8300540a723746cba6d (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=c2aaac080c05369f6fb7009d85dcf9bb98a914e6

commit c2aaac080c05369f6fb7009d85dcf9bb98a914e6
Author: Alan Modra <address@hidden>
Date:   Sat Oct 4 15:53:58 2014 +0930

    Discard zero address range eh_frame FDEs

    These are useless because they can't match any address.  In fact,
    worse than useless because the .eh_frame_hdr lookup table matching
    addresses to FDEs does not contain information about the FDE range.
    The table is sorted by address;  Range is inferred by the address
    delta from one entry to the next.  So if a zero address range FDE is
    followed by a normal non-zero range FDE for the same address,
    everything is good.  However, the qsort could just as easily sort the
    FDEs in the other order, in which case the normal FDE would
    effectively be seen to have a zero range.

    bfd/
        PR 17447
        * elf-bfd.h (struct eh_cie_fde): Comment re NULL u.fde.cie_inf.
        * elf-eh-frame.c (_bfd_elf_parse_eh_frame): Mark zero address
        range FDEs for discarding.
        (vma_compare): Sort on range after address.
        (_bfd_elf_gc_mark_fdes): Test for NULL u.fde.cie_inf.
        (_bfd_elf_discard_section_eh_frame): Likewise.  Write "FDE" in
        error message rather than "fde".
        (_bfd_elf_write_section_eh_frame_hdr): Write "PC" and "FDE" in
        error message.
    ld/testsuite/
        * ld-elf/eh1.s: Don't create FDEs with zero address ranges.
        * ld-elf/eh3.s: Likewise.
        * ld-elf/eh1.d, * ld-elf/eh2.d, * ld-elf/eh3.d: Adjust.
        * ld-mips-elf/eh-frame1-n32.d: Warning match update.
        * ld-mips-elf/eh-frame1-n64.d: Likewise.
        * ld-mips-elf/eh-frame2-n32.d: Likewise.
        * ld-mips-elf/eh-frame2-n64.d: Likewise.

-----------------------------------------------------------------------

Summary of changes:
 bfd/ChangeLog                            |   13 +++++++++++++
 bfd/elf-bfd.h                            |    4 +++-
 bfd/elf-eh-frame.c                       |   24 +++++++++++++++++++-----
 ld/testsuite/ChangeLog                   |   12 +++++++++++-
 ld/testsuite/ld-elf/eh1.d                |    6 +++---
 ld/testsuite/ld-elf/eh1.s                |    3 +++
 ld/testsuite/ld-elf/eh2.d                |    6 +++---
 ld/testsuite/ld-elf/eh3.d                |    6 +++---
 ld/testsuite/ld-elf/eh3.s                |    3 +++
 ld/testsuite/ld-mips-elf/eh-frame1-n32.d |    2 +-
 ld/testsuite/ld-mips-elf/eh-frame1-n64.d |    2 +-
 ld/testsuite/ld-mips-elf/eh-frame2-n32.d |    2 +-
 ld/testsuite/ld-mips-elf/eh-frame2-n64.d |    2 +-
 13 files changed, 65 insertions(+), 20 deletions(-)

-- 
You are receiving this mail because:
You are on the CC list for the bug.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]