[Top][All Lists]

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

[Bug ld/23201] Unnecessary dynamic relocations for HIDDEN/PROVIDE_HIDDEN

From: cvs-commit at gcc dot gnu.org
Subject: [Bug ld/23201] Unnecessary dynamic relocations for HIDDEN/PROVIDE_HIDDEN symbols
Date: Tue, 22 May 2018 03:40:20 +0000


--- Comment #1 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot 
gnu.org> ---
The master branch has been updated by H.J. Lu <address@hidden>:


commit 34a87bb07a4a3b2202fc25167a6b0f12575edc87
Author: H.J. Lu <address@hidden>
Date:   Mon May 21 20:39:09 2018 -0700

    ld: Hide symbols defined by HIDDEN/PROVIDE_HIDDEN

    There should be no difference in output for symbols defined by HIDDEN
    or PROVIDE_HIDDEN assignments whether they are explicitly marked as
    hidden or not.  This patch adds a new BFD function, bfd_link_hide_symbol,
    to hide symbols defined by HIDDEN and PROVIDE_HIDDEN assignments.


        PR ld/23201
        * aout-target.h (MY_bfd_link_hide_symbol): New.
        * aout-tic30.c (MY_bfd_link_hide_symbol): Likewise.
        * binary.c (binary_bfd_link_hide_symbol): Likewise.
        * coff-alpha.c (_bfd_ecoff_bfd_link_hide_symbol): Likewise.
        * coff-mips.c (_bfd_ecoff_bfd_link_hide_symbol): Likewise.
        * coff-rs6000.c (_bfd_xcoff_bfd_link_hide_symbol): Likewise.
        * coffcode.h (coff_bfd_link_hide_symbol): Likewise.
        * elf-bfd.h (_bfd_elf_link_hide_symbol): Likewise.
        * elfxx-target.h (bfd_elfNN_bfd_link_hide_symbol): Likewise.
        * i386msdos.c (msdos_bfd_link_hide_symbol): Likewise.
        * ihex.c (ihex_bfd_link_hide_symbol): Likewise.
        * libbfd-in.h (_bfd_nolink_bfd_link_hide_symbol): Likewise.
        * linker.c (_bfd_generic_link_hide_symbol): Likewise.
        (bfd_link_hide_symbol): Likewise.
        * mach-o-target.c (bfd_mach_o_bfd_link_hide_symbol): Likewise.
        * mmo.c (mmo_bfd_link_hide_symbol): Likewise.
        * pef.c (bfd_pef_bfd_link_hide_symbol): Likewise.
        * plugin.c (bfd_plugin_bfd_link_hide_symbol): Likewise.
        * ppcboot.c (ppcboot_bfd_link_hide_symbol): Likewise.
        * som.c (som_bfd_link_hide_symbol): Likewise.
        * srec.c (srec_bfd_link_hide_symbol): Likewise.
        * tekhex.c (tekhex_bfd_link_hide_symbol): Likewise.
        * vms-alpha.c (vms_bfd_link_hide_symbol): Likewise.
        (alpha_vms_bfd_link_hide_symbol): Likewise.
        * xsym.c (bfd_sym_bfd_link_hide_symbol): Likewise.
        * coff64-rs6000.c (rs6000_xcoff64_vec): Add
        (rs6000_xcoff64_aix_vec): Likewise.
        * elflink.c (bfd_elf_record_link_assignment): Don't make forced
        local symbol dynamic.
        (_bfd_elf_link_hide_symbol): New function.
        * elfxx-x86.c (_bfd_x86_elf_link_symbol_references_local): Don't
        check root.ldscript_def.
        * targets.c (bfd_target): Add _bfd_link_hide_symbol.
        (BFD_JUMP_TABLE_LINK): Add NAME##_bfd_link_hide_symbol.
        * bfd-in2.h: Regenerated.
        * libbfd.h: Likewise.


        PR ld/23201
        * ldexp.c (exp_fold_tree_1): Call bfd_link_hide_symbol to hide
        a symbol.
        * testsuite/ld-elf/provide-hidden-dynabs.nd: Removed.
        * testsuite/ld-elf/provide-hidden-dynsec.nd: Likewise.
        * testsuite/ld-elf/provide-hidden.exp: Replace
        provide-hidden-dynsec.nd with provide-hidden-sec.nd and
        provide-hidden-dyn.nd.  Replace provide-hidden-dynabs.nd with
        provide-hidden-abs.nd and provide-hidden-dyn.nd.
        * testsuite/ld-i386/pr23189.d: Expect no dynamic relocation.
        * testsuite/ld-x86-64/pr23189.d: Likewise.

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]