commit e7dbe0a5314c521f25bad989836a929593a6c00c (HEAD -> gentoo/binutils-2.37, gentoo/gentoo/binutils-2.37)
Author:     Alan Modra <amodra@gmail.com>
AuthorDate: Wed Oct 20 10:09:57 2021 +1030
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Fri Oct 29 19:05:30 2021 +0200

    PR28417, std::string no longer allows accepting nullptr_t
    
            PR 28417
            * incremental.cc (Sized_relobj_incr::do_section_name): Avoid
            std:string undefined behaviour.
            * options.h (Search_directory::Search_directory): Likewise.
    
    (cherry picked from commit 068a039b8bd7c7386bb0d88f0ae245b0fe4132e9)
    (cherry picked from commit 0effb90eb7c9a50408d98ce174f1b4bc5562f017)

 gold/incremental.cc | 2 +-
 gold/options.h      | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 0bf1cc9c550ab47f4d4f44acb63a5915bf4698e6
Author:     Alan Modra <amodra@gmail.com>
AuthorDate: Wed Oct 20 09:12:48 2021 +1030
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Fri Oct 29 19:05:09 2021 +0200

    Re: PR27625, powerpc64 gold __tls_get_addr calls
    
    My previous PR27625 patch had a problem or two.  For one, the error
    "__tls_get_addr call lacks marker reloc" on processing some calls
    before hitting a call without markers typically isn't seen.  Instead a
    gold assertion fails.  Either way it would be a hard error, which
    triggers on a file contained in libphobos.a when running the gcc
    testsuite.  A warning isn't even appropriate since the call involved
    is one built by hand without any of the arg setup relocations that
    might result in linker optimisation.
    
    So this patch reverts most of commit 0af4fcc25dd5, instead entirely
    ignoring the problem of mis-optimising old-style __tls_get_addr calls
    without marker relocs.  We can't handle them gracefully without
    another pass over relocations before decisions are made about GOT
    entries in Scan::global or Scan::local.  That seems too costly, just
    to link object files from 2009.  What's more, there doesn't seem to be
    any way to allow the libphobos explicit __tls_get_addr call, but not
    old TLS sequences without marker relocs.  Examining instructions
    before the __tls_get_addr call is out of the question: program flow
    might reach the call via a branch.  Putting an R_PPC64_TLSGD marker
    with zero sym on the call might be a solution, but current linkers
    will then merrily optimise away the call!
    
            PR gold/27625
            * powerpc.cc (Powerpc_relobj): Delete no_tls_marker_, tls_marker_,
            and tls_opt_error_ variables and accessors.  Remove all uses.
    
    (cherry picked from commit c7fdac09d919aaf86d302e6c622de6ee000c1b7c)
    (cherry picked from commit 6bb799d2229595220090ae1f7eb2741b32d53051)

 gold/powerpc.cc | 192 +++++++++++---------------------------------------------
 1 file changed, 36 insertions(+), 156 deletions(-)

commit 6511f8bfbb3beae1e539a6dfbee1b30410258a8a
Author:     Alan Modra <amodra@gmail.com>
AuthorDate: Thu Oct 14 17:01:06 2021 +1030
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Fri Oct 29 19:04:45 2021 +0200

    [GOLD] Re: PowerPC64: Don't pretend to support multi-toc
    
    We can't get at section->address() until everything is laid out, so
    trying to generalise the offset calculation rather than using a value
    of 0x8000 (the old object->toc_base_offset()) was bound to fail.
    got->g_o_t() is a little better than a hard-coded 0x8000.
    
            * powerpc.cc (Target_powerpc::Scan::local, global): Don't use
            toc_pointer() here.
    
    (cherry picked from commit a1251fdcb58f99644c49b65d72507706f2d40200)
    (cherry picked from commit 34bebf56c8d095f95bf21057ec33386696c71449)

 gold/powerpc.cc | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

commit d12129ca111b7d57602d8e20d017d00ac94544ae
Author:     Alan Modra <amodra@gmail.com>
AuthorDate: Sat Oct 9 10:03:21 2021 +1030
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Fri Oct 29 19:04:21 2021 +0200

    [GOLD] Two GOT sections for PowerPC64
    
    Split .got into two piece, one with the header and entries for small
    model got entries, the other with entries for medium/large model got
    entries.  The idea is to better support mixed pcrel/non-pcrel code
    where non-pcrel small-model .toc entries need to be within 32k of the
    toc pointer.
    
            * target.h (Target::tls_offset_for_local): Add got param.
            (Target::tls_offset_for_global): Likewise.
            (Target::do_tls_offset_for_local, do_tls_offset_for_global): Likewise.
            * output.h (Output_data_got::Got_entry::write): Add got param.
            * output.cc (Output_data_got::Got_entry::write): Likewise, pass to
            tls_offset_for_local/global calls.
            (Output_data_got::do_write): Adjust to suit.
            * s390.cc (Target_s390::do_tls_offset_for_local): Likewise.
            (Target_s390::do_tls_offset_for_global): Likewise.
            * powerpc.cc (enum Got_type): Extend with small types, move from
            class Target_powerpc.
            (Target_powerpc::biggot_): New.
            (Traget_powerpc::do_tls_offset_for_local, do_tls_offset_for_global,
            got_size, got_section, got_base_offset): Handle biggot_.
            (Target_powerpc::do_define_standard_symbols): Adjust.
            (Target_powerpc::make_plt_section, do_finalize_sections): Likewise.
            (Output_data_got_powerpc::Output_data_got_powerpc): Only make
            64-bit header for small got section.
            (Output_data_got_powerpc::g_o_t): Only return a result for small
            got section.
            (Output_data_got_powerpc::write): Only write small got section
            header.
            (Target_powerpc::Scan::local, global): Select small/big Got_type
            and section to suit reloc.
            (Target_powerpc::Relocate::relocate): Similarly.
            (Sort_toc_sections): Rewrite.
    
    (cherry picked from commit f19c3684a6db145f57048bff5485fec6e3dd0f76)
    (cherry picked from commit 644ed1866916957043c7398179e8c00c4e54dacf)

 gold/output.cc  |   7 +-
 gold/output.h   |   3 +-
 gold/powerpc.cc | 340 ++++++++++++++++++++++++++++++++++++--------------------
 gold/s390.cc    |   7 +-
 gold/target.h   |  15 ++-
 5 files changed, 244 insertions(+), 128 deletions(-)

commit c5e29bdf877e7be1fb5a3f75f9d4d9d89caaf940
Author:     Alan Modra <amodra@gmail.com>
AuthorDate: Tue Oct 12 19:45:13 2021 +1030
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Fri Oct 29 19:03:58 2021 +0200

    [GOLD] PowerPC64: Don't pretend to support multi-toc
    
    Code in powerpc.cc is pretending to support a per-object toc pointer
    value, but powerpc gold has no real support for multi-toc.  This patch
    removes the pretense, tidying quite a lot in preparation for a
    followup patch.  If multi-toc is ever to be supported, don't revert
    this patch but start by adding object parameter to toc_pointer() and
    an object to Branch_stub_key.
    
            * powerpc.cc (Powerpc_relobj::toc_base_offset): Delete.
            (Target_powerpc::toc_pointer): New function.  Use throughout.
            (Target_powerpc::got_base_offset): New function.  Use throughout..
            (Output_data_got_powerpc::got_base_offset): ..in place of
            this.  Delete.
            (Output_data_got_powerpc::Output_data_got_powerpc): Init
            header_index_ to -1u for 64-bit, and make header here.
            (Output_data_got_powerpc::set_final_data_size, reserve_ent): Don't
            make 64-bit header here.
            (Output_data_got_powerpc::g_o_t): Return toc pointer offset in
            section for 64-bit.  Use throughout.
            (Stub_table): Remove toc_base_off_ from Branch_stub_key, and
            object param on add_long_branch_entry and find_long_branch_entry.
            Adjust all uses.
    
    (cherry picked from commit a19da04b3c3a01699aaf7a59b03f5f008355b23d)
    (cherry picked from commit 6f552ca8039a7a9cff7d379f5219e951f1cf9500)

 gold/powerpc.cc | 181 +++++++++++++++++++++-----------------------------------
 1 file changed, 67 insertions(+), 114 deletions(-)

commit c776c760c37e4551bdffd244f7ca13f3dcb8a852
Author:     Alan Modra <amodra@gmail.com>
AuthorDate: Sun Oct 17 17:34:46 2021 +1030
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Fri Oct 29 19:03:32 2021 +0200

    PR28459, readelf issues bogus warning
    
    I'd missed the fact that the .debug_rnglists dump doesn't exactly
    display the contents of the section.  Instead readelf rummages through
    .debug_info looking for DW_AT_ranges entries, then displays the
    entries in .debug_rnglists pointed at, sorted.  A simpler dump of the
    actual section contents might be more useful and robust, but it was
    likely done that way to detect overlap and holes.
    
    Anyway, the headers in .debug_rnglists besides the first are ignored,
    and limiting to the unit length of the first header fails if there is
    more than one unit.
    
            PR 28459
            * dwarf.c (display_debug_ranges): Don't constrain data to length
            in header.
    
    (cherry picked from commit e7f024765a48fba4452535a5fc006a7e858730fd)
    (cherry picked from commit 61b08178e4cafca911bf909f54f8c373f16f0a70)

 binutils/dwarf.c | 1 -
 1 file changed, 1 deletion(-)

commit 4097286d752d9418b3eb446eead278d842b65f77
Author:     Alan Modra <amodra@gmail.com>
AuthorDate: Wed Oct 6 18:28:47 2021 +1030
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Fri Oct 29 19:02:55 2021 +0200

    PR28422, build_id use-after-free
    
    This fixes a bug in commit 5d9bbb73c1df.  All fields preserved from a
    bfd in struct bfd_preserve need to be cleared in bfd_reinit.
    
            PR 28422
            * format.c (bfd_reinit): Clear build_id.
    
    (cherry picked from commit 6d661cdc5be46e890ed9255e749806f46a88e26c)
    (cherry picked from commit c20c7adbeaa3af18a58ba1e20e6c33e7186356e3)

 bfd/format.c | 1 +
 1 file changed, 1 insertion(+)

commit 47958eabb8ee6669c2ebcc0fa37a7bd3ce78641f
Author:     Dimitar Dimitrov <dimitar@dinux.eu>
AuthorDate: Mon Sep 27 22:43:24 2021 +0300
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Fri Oct 29 19:02:27 2021 +0200

    ld: pru: Fix resource_table output section alignment
    
    My commit 261980de18b added alignment for the resource table symbol.
    But it is wrong.  The Linux remoteproc driver loads and interprets the
    contents of the .resource_table ELF section, not of a table symbol.
    
    Without this patch, if the linker happens to output padding for symbol
    alignment, then the resource table contents as viewed by the kernel
    loader would "shift" and look corrupted.
    
    ld/ChangeLog:
    
            * scripttempl/pru.sc  (.resource_table): Align the output
            section, not the first symbol.
    
    Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>
    (cherry picked from commit 5109a7bd9b87bdad530f2ebf97036e6087b4504d)
    (cherry picked from commit a9c3934f6cb4407c5aaae82ada3b859d8ca9df83)

 ld/ChangeLog          | 5 +++++
 ld/scripttempl/pru.sc | 7 +++----
 2 files changed, 8 insertions(+), 4 deletions(-)

commit c216458eee076a29927ef3bf3afc4bf140727c1b
Author:     Alan Modra <amodra@gmail.com>
AuthorDate: Thu Aug 26 12:17:51 2021 +0930
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Fri Oct 29 19:02:03 2021 +0200

    [GOLD] PowerPC64 support for sym+addend GOT entries
    
    Pass addends to all the GOT handling functions, plus remove some
    extraneous asserts.
    
            PR 28192
            * powerpc.cc (Output_data_got_powerpc): Add addend parameter to
            all methods creating got entries.
            (Target_powerpc::Scan::local): Pass reloc addend to got handling
            functions, and when creating dynamic got relocations.
            (Target_powerpc::Scan::global): Likewise.
            (Target_powerpc::Relocate::relocate): Likewise.  Remove extraneous
            assertions.
    
    (cherry picked from commit 5cdb4f14426a99ec8fcba843fa503efdc55fa078)
    (cherry picked from commit d041152bfd8e5e1fe51333d32eb7f60e909f6007)

 gold/powerpc.cc | 148 ++++++++++++++++++++++++++++----------------------------
 1 file changed, 74 insertions(+), 74 deletions(-)

commit f19b73c3de7a2b75dc9d4def8ab856da9fd55d2a
Author:     Alan Modra <amodra@gmail.com>
AuthorDate: Wed Aug 25 21:58:51 2021 +0930
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Fri Oct 29 19:01:43 2021 +0200

    [GOLD] Got_entry::write addends
    
    This takes care of writing out GOT entries with addends.  The local
    symbol case was already largely handled, except for passing the addend
    to tls_offset_for_local which might need the addend in a
    local_got_offset call.  That's needed also in tls_offset_for_global.
    
    I'm assuming here that GOT entries for function symbols won't ever
    have addends, and in particular that a GOT entry referencing PLT call
    stub code won't want an offset into the code.
    
            PR 28192
            * output.cc (Output_data_got::Got_entry::write): Include addend
            in global symbol value.  Pass addend to tls_offset_for_*.
            * powerpc.cc (Target_powerpc::do_tls_offset_for_local): Handle addend.
            (Target_powerpc::do_tls_offset_for_global): Likewise.
            * s390.cc (Target_s390::do_tls_offset_for_local): Likewise.
            (Target_s390::do_tls_offset_for_global): Likewise.
            * target.h (Target::tls_offset_for_local): Add addend param.
            (Target::tls_offset_for_global): Likewise.
            (Target::do_tls_offset_for_local): Likewise.
            (Target::do_tls_offset_for_global): Likewise.
    
    (cherry picked from commit e4d49a0f908415edb7a7e718ef2008a96dd43f9b)
    (cherry picked from commit f8069e2ccf9f25e2cccb09dd02d924d3cace9391)

 gold/output.cc  | 12 ++++++++++--
 gold/powerpc.cc | 21 +++++++++++++--------
 gold/s390.cc    | 12 ++++++++----
 gold/target.h   | 15 +++++++++------
 4 files changed, 40 insertions(+), 20 deletions(-)

commit 1e7ac154dddf341d5d0958a031295434a9927a81
Author:     Alan Modra <amodra@gmail.com>
AuthorDate: Wed Aug 25 20:24:18 2021 +0930
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Fri Oct 29 19:01:22 2021 +0200

    [GOLD] Output_data_got create entry method addends
    
    This patch makes all the Output_data_got methods that create new
    entries accept an optional addend.
    
            PR 28192
            * output.h (Output_data_got::add_global): Add optional addend
            parameter.  Update comment.  Delete overload without addend.
            (Output_data_got::add_global_plt): Likewise.
            (Output_data_got::add_global_tls): Likewise.
            (Output_data_got::add_global_with_rel): Likewise.
            (Output_data_got::add_global_pair_with_rel): Likewise.
            (Output_data_got::add_local_plt): Likewise.
            (Output_data_got::add_local_tls): Likewise.
            (Output_data_got::add_local_tls_pair): Likewise.
            (Output_data_got::reserve_local): Likewise.
            (Output_data_got::reserve_global): Likewise.
            (Output_data_got::Got_entry): Include addend in global sym
            constructor.  Delete local sym constructor without addend.
            * output.cc (Output_data_got::add_global): Add addend param,
            pass to got handling methods.
            (Output_data_got::add_global_plt): Likewise.
            (Output_data_got::add_global_with_rel): Likewise.
            (Output_data_got::add_global_pair_with_rel): Likewise.
            (Output_data_got::add_local_plt): Likewise.
            (Output_data_got::add_local_tls_pair): Likewise.
            (Output_data_got::reserve_local): Likewise.
            (Output_data_got::reserve_global): Likewise.
    
    (cherry picked from commit 2cc9ed14fae1b288bbdbd9b102b2cbc9a29bf348)
    (cherry picked from commit 60c49a5eee170026a9cd03e64388993f2e79985b)

 gold/output.cc | 77 ++++++++++++++++++++++++++++++++--------------------------
 gold/output.h  | 77 +++++++++++++++++++++++++++-------------------------------
 2 files changed, 79 insertions(+), 75 deletions(-)

commit c9b9ce14c81d2ef3c5a16b0adeb13edcaa2fef2e
Author:     Alan Modra <amodra@gmail.com>
AuthorDate: Sat Aug 28 14:45:53 2021 +0930
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Fri Oct 29 19:01:01 2021 +0200

    [GOLD] Output_data_got tidy
    
    Some Output_data_got methods already have support for addends, but
    were implemented as separate methods.  This removes unnecessary code
    duplication.
    
    Relobj::local_has_got_offset and others there get a similar treatment.
    Comments are removed since it should be obvious without a comment, and
    the existing comments are not precisely what the code does.  For
    example, a local_has_got_offset call without an addend does not return
    whether the local symbol has *a* GOT offset of type GOT_TYPE, it
    returns whether there is a GOT entry of type GOT_TYPE for the symbol
    with addend of zero.
    
            PR 28192
            * output.h (Output_data_got::add_local): Make addend optional.
            (Output_data_got::add_local_with_rel): Likewise.
            (Output_data_got::add_local_pair_with_rel): Likewise.
            * output.cc (Output_data_got::add_local): Delete overload
            without addend.
            (Output_data_got::add_local_with_rel): Likewise.
            (Output_data_got::add_local_pair_with_rel): Likewise.
            * object.h (Relobj::local_has_got_offset): Make addend optional.
            Delete overload without addend later.  Update comment.
            (Relobj::local_got_offset): Likewise.
            (Relobj::set_local_got_offset): Likewise.
    
    (cherry picked from commit 54721a930e80a635d3cb47c0ad3899ed9680bd78)
    (cherry picked from commit b535e77be3f66a9cecbe2b256aec3300eca0e6fb)

 gold/object.h  | 41 ++++++++++--------------------------
 gold/output.cc | 66 ----------------------------------------------------------
 gold/output.h  | 30 +++-----------------------
 3 files changed, 14 insertions(+), 123 deletions(-)

commit 347699fc372e8f691d8f8ab6ed6dc84bf0a98e97
Author:     Alan Modra <amodra@gmail.com>
AuthorDate: Sat Aug 28 14:23:33 2021 +0930
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Fri Oct 29 19:00:36 2021 +0200

    [GOLD] Remove addend from Local_got_entry_key
    
    This patch removes the addend from Local_got_entry_key, which is
    unnecessary now that Got_offset_list has an addend.  Note that it
    might be advantageous to keep the addend in Local_got_entry_key when
    linking objects containing a large number of section_sym+addend@got
    relocations.  I opted to save some memory by removing the field but
    left the class there in case we might need to restore {sym,addend}
    lookup.  That's also why this change is split out from the
    Got_offset_list change.
    
            PR 28192
            * object.h (Local_got_entry_key): Delete addend_ field.
            Adjust constructor and methods to suit.
            * object.cc (Sized_relobj::do_for_all_local_got_entries):
            Update key.
    
    (cherry picked from commit 973b2b402ebf660e2bbbac60e85469164d76ecfc)
    (cherry picked from commit 92cadfef751e4031f6bcda6278dc1c92011fbe6c)

 gold/object.cc |  2 +-
 gold/object.h  | 15 ++++++---------
 2 files changed, 7 insertions(+), 10 deletions(-)

commit 570d91bdfdd2453dbbb31f48c7d6b17e08107062
Author:     Alan Modra <amodra@gmail.com>
AuthorDate: Thu Aug 5 14:32:56 2021 +0930
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Fri Oct 29 19:00:15 2021 +0200

    [GOLD] Got_offset_list: addend field
    
    This is the first in a series of patches aimed at supporting GOT
    entries against symbol plus addend generally for PowerPC64 rather than
    just section symbol plus addend as gold has currently.
    
    This patch adds an addend field to Got_offset_list, so that both local
    and global symbols can have GOT entries with addend.
    
            PR 28192
            * object.h (Got_offset_list): Add addend_ field, init in both
            constructors.  Adjust all accessors to suit.
            (Sized_relobj::do_local_has_got_offset): Adjust to suit.
            (Sized_relobj::do_local_got_offset): Likewise.
            (Sized_relobj::do_set_local_got_offset): Likewise.
            * symtab.h (Symbol::has_got_offset): Add optional addend param.
            (Symbol::got_offset, Symbol::set_got_offset): Likewise.
            * incremental.cc (Local_got_offset_visitor::visit): Add unused
            uint64_t parameter with FIXME.
            (Global_got_offset_visitor::visit): Add unused uint64_t parameter.
    
    (cherry picked from commit 912697efc15768894c13a9370a2fcaa950f24558)
    (cherry picked from commit 1540c6cd53f154ebf7de1895bd2d5baa32ad8d70)

 gold/incremental.cc | 10 ++++++++--
 gold/object.h       | 33 +++++++++++++++++++--------------
 gold/symtab.h       | 13 +++++++------
 3 files changed, 34 insertions(+), 22 deletions(-)

commit 6b231a7a8ca149eb3038f090f8e4effb139c1856
Author:     Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org>
AuthorDate: Tue Sep 28 20:11:26 2021 +0930
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Fri Oct 29 18:58:46 2021 +0200

    PR28391, strip/objcopy --preserve-dates *.a: cannot set time
    
    After commit 985e0264516 copy_archive function began to pass invalid
    values to the utimensat(2) function when it tries to preserve
    timestamps in ar archives.  This happens because the bfd_stat_arch_elt
    implementation for ar archives fills only the st_mtim.tv_sec part of
    the st_mtim timespec structure, but leaves the st_mtim.tv_nsec part
    and the whole st_atim timespec untouched leaving them uninitialized
    
            PR 28391
            * ar.c (extract_file): Clear buf for preserve_dates.
            * objcopy.c (copy_archive): Likewise.
    
    (cherry picked from commit 0d62064867c74286360e821b75ef6799bedc4b34)
    (cherry picked from commit 6b02746a0e29b1007efd4feb137e2da3e681fc68)

 binutils/ar.c      | 3 +++
 binutils/objcopy.c | 1 +
 2 files changed, 4 insertions(+)

commit c0d5b6eba981a97b64f0f41ddd7fd74696aff9dd
Author:     Luis Machado <luis.machado@linaro.org>
AuthorDate: Tue Sep 7 10:35:11 2021 -0300
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Sep 25 21:13:44 2021 +0200

    Revert: [AArch64] MTE corefile support
    
        bfd     * elf.c (elfcore_make_memtag_note_section): New function.
                (elfcore_grok_note): Handle NT_MEMTAG note types.
    
        binutils* readelf.c (get_note_type): Handle NT_MEMTAG note types.
    
        include * elf/common.h (NT_MEMTAG): New constant.
                (NT_MEMTAG_TYPE_AARCH_MTE): New constant.
    
    (cherry picked from commit e854b5bf31ad236e48f5e2919897417aef3b9134)

 bfd/ChangeLog        |  9 +++++++++
 bfd/elf.c            | 19 -------------------
 binutils/ChangeLog   |  8 ++++++++
 binutils/readelf.c   |  2 --
 include/ChangeLog    |  9 +++++++++
 include/elf/common.h |  6 ------
 6 files changed, 26 insertions(+), 27 deletions(-)

commit 49904ac3a95f69303a491789984a0674289c6749
Author:     Alan Modra <amodra@gmail.com>
AuthorDate: Wed Aug 18 12:43:46 2021 +0930
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: Sat Sep 25 21:13:05 2021 +0200

    [GOLD] PowerPC64 relocation overflow for -Os register save/restore funcs
    
    Fixes a silly mistake in calculating the address of -Os out-of-line
    register save/restore function copies.  Copies of these linker defined
    functions are added to stub sections when the original (in
    target->savres_section) can't be reached.
    
            * powerpc.cc (Target_powerpc::Relocate::relocate): Correct address
            calculation of out-of-line save/restore function copies.
    
    (cherry picked from commit 89c905a342d2cb35ebc4d66ad7cdca581b5134c3)
    (cherry picked from commit 1e9d14eb5814e86fbe146e7632d1b818ab087e2e)

 gold/powerpc.cc | 2 ++
 1 file changed, 2 insertions(+)
