[PATCH] ld: Hide symbols defined by HIDDEN/PROVIDE_HIDDEN
H.J. Lu
hjl.tools@gmail.com
Fri May 18 17:56:00 GMT 2018
On Fri, May 18, 2018 at 10:18 AM, H.J. Lu <hongjiu.lu@intel.com> wrote:
> 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.
>
> Any comments?
>
> H.J.
> ---
> bfd
>
> 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.
> * elflink.c (_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
> _bfd_generic_link_hide_symbol.
> (rs6000_xcoff64_aix_vec): Likewise.
> * 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.
>
> ld/
>
> 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.
>
The updated patch to call elf_backend_hide_symbol instead of
_bfd_elf_link_hash_hide_symbol.
H.J.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-ld-Hide-symbols-defined-by-HIDDEN-PROVIDE_HIDDEN.patch
Type: text/x-patch
Size: 28236 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20180518/60a26d4d/attachment.bin>
More information about the Binutils
mailing list