bug-binutils
[Top][All Lists]
Advanced

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

[Bug gold/14675] No eh_frame info registered in exception_static_test


From: cvs-commit at gcc dot gnu.org
Subject: [Bug gold/14675] No eh_frame info registered in exception_static_test
Date: Mon, 09 Mar 2015 17:13:17 +0000

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

--- Comment #10 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot 
gnu.org> ---
The master branch has been updated by Cary Coutant <address@hidden>:

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

commit e16631979e847a6b39db3435bea7708b9f34b36d
Author: Cary Coutant <address@hidden>
Date:   Mon Mar 9 10:10:29 2015 -0700

    Fix failure in exception_static_test.

    Because the __EH_FRAME_BEGIN__ symbol is provided in an empty .eh_frame
    section in crtbeginT.o, if crt1.o has a non-empty .eh_frame section,
    we place all optimized .eh_frame sections into the output section ahead
    of the __EH_FRAME_BEGIN__ symbol, which breaks EH for statically-linked
    binaries.

    This patch fixes the problem by delaying the attachment of the optimized
    .eh_frame sections to the output section until we see the end marker
    section (or to the end of pass 1 if we never see an end marker).

    gold/
        PR gold/14675
        * ehframe.cc (Eh_frame::add_ehframe_input_section): Change return type;
        return enum indicating whether .eh_frame section is empty, optimizable,
        unrecognized, or an end marker. Adjust explicit instantiations.
        * ehframe.h (Eh_frame::Eh_frame_section_disposition): New enum type.
        (Eh_frame::add_ehframe_input_section): Change return type.
        * gold.cc (queue_middle_tasks): Call Layout::finalize_eh_frame_section.
        * layout.cc (Layout::layout_eh_frame): Don't add optimized sections
        to the .eh_frame output section until we see the end marker.
        (Layout::finalize_eh_frame_section): New.
        * layout.h: (Layout::finalize_eh_frame_section): New.

-- 
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]