bug-binutils
[Top][All Lists]
Advanced

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

[Bug gold/16900] [PATCH] when linked with gold, NetBSD ld.elf_so crashes


From: cvs-commit at gcc dot gnu.org
Subject: [Bug gold/16900] [PATCH] when linked with gold, NetBSD ld.elf_so crashes due to missing .plt.got entry
Date: Tue, 06 May 2014 21:49:19 +0000

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

--- Comment #3 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, binutils-2_24-branch has been updated
       via  6ce193a2807a10a53c1883e573f0ea5e03fbff76 (commit)
       via  367f1035d2f7da6fbad69f659208bdb7da3d55dc (commit)
      from  a9534d052d7714778fa615974c4a8115fc973420 (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=6ce193a2807a10a53c1883e573f0ea5e03fbff76

commit 6ce193a2807a10a53c1883e573f0ea5e03fbff76
Author: Cary Coutant <address@hidden>
Date:   Tue May 6 11:40:04 2014 -0700

    Fix issue where first reserved word of GOT is not initialized if there
    is no PLT.

    gold/
        PR gold/16900
        * i386.cc (Output_data_got_plt_i386): New class.
        (Output_data_plt_i386::Output_data_plt_i386): Change type of got_plt
        parameter. Change all callers.
        (Output_data_plt_i386::layout_): Remove.
        (Output_data_plt_i386::got_plt_): Change type.
        (Target_i386::got_plt_): Change type. Change all references.
        (Target_i386::got_section): Create instance of new class.
        (Output_data_got_plt_i386::do_write): New function.
        * x86_64.cc (Output_data_got_plt_x86_64): New class.
        (Output_data_plt_x86_64::Output_data_plt_x86_64): Change type of
got_plt
        parameter. Change all callers.
        (Output_data_plt_x86_64::layout_): Remove.
        (Output_data_plt_x86_64::got_plt_): Change type.
        (Target_x86_64::got_plt_): Change type. Change all references.
        (Target_x86_64::got_section): Create instance of new class.
        (Output_data_got_plt_x86_64::do_write): New function.
        (Output_data_plt_x86_64::do_write): Don't write reserved words in GOT.
        (Target_x86_64<size>::init_got_plt_for_update): Create instance of new
        class.

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

commit 367f1035d2f7da6fbad69f659208bdb7da3d55dc
Author: Cary Coutant <address@hidden>
Date:   Wed Apr 2 14:21:14 2014 -0700

    Fix handling of __ehdr_start when it cannot be defined.

    gold/
        * defstd.cc (in_segment): Define __ehdr_start here...
        * layout.cc (Layout::finalize): ...Instead of here.  Set the
        output segment when known.
        * resolve.cc (Symbol::override_base_with_special): Remember
        the original binding.
        * symtab.cc (Symbol::set_output_segment): New function.
        (Symbol::set_undefined): New function.
        * symtab.h (Symbol::is_weak_undefined): Check original undef
        binding.
        (Symbol::is_strong_undefined): New function.
        (Symbol::set_output_segment): New function.
        (Symbol::set_undefined): New function.
        * target-reloc.h (is_strong_undefined): Remove.
        (issue_undefined_symbol_error): Call Symbol::is_weak_undefined.
        Check for hidden undefs.
        (relocate_section): Call Symbol::is_strong_undefined.

        * testsuite/Makefile.am (ehdr_start_test_1)
        (ehdr_start_test_2, ehdr_start_test_3)
        (ehdr_start_test_4, ehdr_start_test_5): New test cases.
        * testsuite/Makefile.in: Regenerate.
        * testsuite/ehdr_start_def.cc: New source file.
        * testsuite/ehdr_start_test.cc: New source file.
        * testsuite/ehdr_start_test.t: New linker script.
        * testsuite/ehdr_start_test_4.sh: New shell script.

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

Summary of changes:
 gold/ChangeLog                      |   51 ++++++++
 gold/defstd.cc                      |   14 ++
 gold/i386.cc                        |  102 +++++++++++-----
 gold/layout.cc                      |   14 ++-
 gold/resolve.cc                     |    4 +
 gold/symtab.cc                      |   25 ++++
 gold/symtab.h                       |   34 +++++-
 gold/target-reloc.h                 |    8 +-
 gold/testsuite/Makefile.am          |   44 +++++++
 gold/testsuite/Makefile.in          |  223 +++++++++++++++++++++++++++++++----
 gold/testsuite/ehdr_start_def.cc    |   26 ++++
 gold/testsuite/ehdr_start_test.cc   |   67 +++++++++++
 gold/testsuite/ehdr_start_test.t    |   42 +++++++
 gold/testsuite/ehdr_start_test_4.sh |   40 ++++++
 gold/x86_64.cc                      |  110 ++++++++++++------
 15 files changed, 699 insertions(+), 105 deletions(-)
 create mode 100644 gold/testsuite/ehdr_start_def.cc
 create mode 100644 gold/testsuite/ehdr_start_test.cc
 create mode 100644 gold/testsuite/ehdr_start_test.t
 create mode 100755 gold/testsuite/ehdr_start_test_4.sh

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