]> sourceware.org Git - glibc.git/commit
Mark _init and _fini as hidden [BZ #23145]
authorH.J. Lu <hjl.tools@gmail.com>
Fri, 8 Jun 2018 17:28:38 +0000 (10:28 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Fri, 8 Jun 2018 17:28:52 +0000 (10:28 -0700)
commit67c0579669ba1fc265d770252fab31babf887329
tree34059924ead164f11bc21fd73ccab758153bd9f7
parent1c09524e4db3efd797ebcfcd8241bdb78f0b06f0
Mark _init and _fini as hidden [BZ #23145]

_init and _fini are special functions provided by glibc for linker to
define DT_INIT and DT_FINI in executable and shared library.  They
should never be put in dynamic symbol table.  This patch marks them as
hidden to remove them from dynamic symbol table.

Tested with build-many-glibcs.py.

[BZ #23145]
* elf/Makefile (tests-special): Add $(objpfx)check-initfini.out.
($(all-built-dso:=.dynsym): New target.
(common-generated): Add $(all-built-dso:$(common-objpfx)%=%.dynsym).
($(objpfx)check-initfini.out): New target.
(generated): Add check-initfini.out.
* scripts/check-initfini.awk: New file.
* sysdeps/aarch64/crti.S (_init): Mark as hidden.
(_fini): Likewise.
* sysdeps/alpha/crti.S (_init): Mark as hidden.
(_fini): Likewise.
* sysdeps/arm/crti.S (_init): Mark as hidden.
(_fini): Likewise.
* sysdeps/hppa/crti.S (_init): Mark as hidden.
(_fini): Likewise.
* sysdeps/i386/crti.S (_init): Mark as hidden.
(_fini): Likewise.
* sysdeps/ia64/crti.S (_init): Mark as hidden.
(_fini): Likewise.
* sysdeps/m68k/crti.S (_init): Mark as hidden.
(_fini): Likewise.
* sysdeps/microblaze/crti.S (_init): Mark as hidden.
(_fini): Likewise.
* sysdeps/mips/mips32/crti.S (_init): Mark as hidden.
(_fini): Likewise.
* sysdeps/mips/mips64/n32/crti.S (_init): Mark as hidden.
(_fini): Likewise.
* sysdeps/mips/mips64/n64/crti.S (_init): Mark as hidden.
(_fini): Likewise.
* sysdeps/nios2/crti.S (_init): Mark as hidden.
(_fini): Likewise.
* sysdeps/powerpc/powerpc32/crti.S (_init): Mark as hidden.
(_fini): Likewise.
* sysdeps/powerpc/powerpc64/crti.S (_init): Mark as hidden.
(_fini): Likewise.
* sysdeps/s390/s390-32/crti.S (_init): Mark as hidden.
(_fini): Likewise.
* sysdeps/s390/s390-64/crti.S (_init): Mark as hidden.
(_fini): Likewise.
* sysdeps/sh/crti.S (_init): Mark as hidden.
(_fini): Likewise.
* sysdeps/sparc/crti.S (_init): Mark as hidden.
(_fini): Likewise.
* sysdeps/x86_64/crti.S (_init): Mark as hidden.
(_fini): Likewise.
22 files changed:
ChangeLog
elf/Makefile
scripts/check-initfini.awk [new file with mode: 0644]
sysdeps/aarch64/crti.S
sysdeps/alpha/crti.S
sysdeps/arm/crti.S
sysdeps/hppa/crti.S
sysdeps/i386/crti.S
sysdeps/ia64/crti.S
sysdeps/m68k/crti.S
sysdeps/microblaze/crti.S
sysdeps/mips/mips32/crti.S
sysdeps/mips/mips64/n32/crti.S
sysdeps/mips/mips64/n64/crti.S
sysdeps/nios2/crti.S
sysdeps/powerpc/powerpc32/crti.S
sysdeps/powerpc/powerpc64/crti.S
sysdeps/s390/s390-32/crti.S
sysdeps/s390/s390-64/crti.S
sysdeps/sh/crti.S
sysdeps/sparc/crti.S
sysdeps/x86_64/crti.S
This page took 0.050145 seconds and 5 git commands to generate.