bug-binutils
[Top][All Lists]
Advanced

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

[Bug gold/17005] [Gold] .ehframe problem with --sort-section=name


From: cvs-commit at gcc dot gnu.org
Subject: [Bug gold/17005] [Gold] .ehframe problem with --sort-section=name
Date: Tue, 02 Sep 2014 21:50:10 +0000

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

--- Comment #4 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  9860cbcfb60bdae2f9800e6a6ea5f21ef1507d08 (commit)
      from  df7e526582809b829ee8651a1315a17627cfea4d (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=9860cbcfb60bdae2f9800e6a6ea5f21ef1507d08

commit 9860cbcfb60bdae2f9800e6a6ea5f21ef1507d08
Author: Cary Coutant <address@hidden>
Date:   Wed Jul 2 09:39:41 2014 -0700

    Fix problem with optimization of .eh_frame section and --sort-section
option.

    When --sort-section=name is used, gold will sort the linker-generated
contents
    of .eh_frame (after optimization) after the endcap provided by crtendS.o.
    This causes two problems: the .eh_frame_hdr section is generated assuming
that
    the optimized .eh_frame contents will be placed at the very beginning of
the
    section, and the endcap no longer appears at the end of the section.

    This patch fixes the first problem by adjusting FDE offsets to take into
account
    the actual starting offset within the output section, and fixes the second
    problem by sorting linker-generated (Output_section_data) sections based on
the
    name of the output section.

    gold/
        PR gold/17005
        * ehframe.cc (Fde::write): Add output_offset parameter.
        (Cie::write): Likewise.
        (Eh_frame::set_final_data_size): Account for offset within output
        section.
        (Eh_frame::do_sized_write): Likewise.
        * ehframe.h (Fde::write): Add output_offset parameter.
        (Cie::write): Likewise.
        * output.cc (Output_section::Input_section_sort_entry): Remove
        section_has_name_; add output_section_name parameter. Use
        output section name for non-input sections.
        (Output_section::Input_section_sort_entry::section_has_name): Remove.
        (Output_section::Input_section_sort_entry::section_has_name_): Remove.
        (Output_section::Input_section_sort_compare): Remove logic for
        sections without names.
        (Output_section::Input_section_sort_init_fini_compare): Likewise.
       
(Output_section::Input_section_sort_section_prefix_special_ordering_compare):
        Likewise.
        (Output_section::Input_section_sort_section_name_compare): Likewise.

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

Summary of changes:
 gold/ChangeLog  |   22 ++++++++++++++++
 gold/ehframe.cc |   55 ++++++++++++++++++++++++-----------------
 gold/ehframe.h  |    7 +++--
 gold/output.cc  |   73 ++++++++++--------------------------------------------
 4 files changed, 72 insertions(+), 85 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]