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

--- Comment #1 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot 
gnu.org> ---
The master branch has been updated by Alan Modra <amo...@sourceware.org>:

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

commit 0961e631575b0a1eafccf32fbde56d456aef9169
Author: Alan Modra <amo...@gmail.com>
Date:   Wed Mar 15 18:07:44 2023 +1030

    PR30217, dynamic relocations using local dynamic symbols

    glibc's ld.so ignores local dynamic symbols.  It's been that way
    forever.  We therefore can't use them on dynamic relocations.  Fixing
    that problem uncovered another problem in sorting of dynamic relocs,
    caused no doubt by copying make_iplt_section (where we don't want
    reloc sorting by the generic gold function, we want iplt relocs last)
    to make_lplt_section (where we do want sorting).

            PR 30217
            * powerpc.cc (branch_needs_plt_entry): New function.
            (Target_powerpc::plt_off): Use it here..
            (Target_powerpc::Scan::global): ..and here to correct PLT16 reloc
            handling for forced-local global symbols.
            (Output_data_plt_powerpc::add_entry): Rename "stash"
            parameter "is_local".  Emit relative relocs for globals that
            are forced local, and don't set_needs_dynsym_entry.
            (Target_powerpc::make_lplt_section): Don't create a separate
            reloc section, use rela_dyn.
            (Target_powerpc::make_brlt_section): Likewise.

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

Reply via email to