glibc/scripts
H.J. Lu 67c0579669 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.
2018-06-08 10:28:52 -07:00
..
abi-versions.awk
abilist.awk Ignore absolute symbols in ABI tests. 2018-05-04 15:46:32 +00:00
backport-support.sh Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
build-many-glibcs.py Use Linux 4.17 in build-many-glibcs.py. 2018-06-04 17:11:11 +00:00
check-c++-types.sh Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
check-execstack.awk
check-initfini.awk Mark _init and _fini as hidden [BZ #23145] 2018-06-08 10:28:52 -07:00
check-installed-headers.sh hurd: Fix inclusion of mach headers in all standards 2018-03-04 02:53:09 +01:00
check-local-headers.sh Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
check-localplt.awk
check-textrel.awk
config-uname.sh
config.guess Update miscellaneous files from upstream sources. 2018-01-01 18:05:06 +00:00
config.sub Update miscellaneous files from upstream sources. 2018-01-01 18:05:06 +00:00
cpp
cross-test-ssh.sh Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
documented.sh
evaluate-test.sh Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
firstversions.awk
gen-as-const.awk
gen-libc-abis
gen-libc-modules.awk
gen-posix-conf-vars.awk
gen-py-const.awk Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
gen-rrtypes.py Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
gen-sorted.awk Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
gen-tunables.awk
install-sh Update miscellaneous files from upstream sources. 2017-12-20 22:28:20 +00:00
lib-names.awk
list-fixed-bugs.py Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
list-sources.sh
localplt.awk
merge-test-results.sh Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
mkinstalldirs
move-if-change Update miscellaneous files from upstream sources. 2018-01-01 18:05:06 +00:00
output-format.sed
pylint
pylintrc
rellns-sh Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
soversions.awk
sysd-rules.awk
test-installation.pl Update copyright dates not handled by scripts/update-copyrights. 2018-01-01 00:41:16 +00:00
test_printers_common.py Disable lock elision for mutex pretty printer tests. 2018-04-19 12:45:11 +02:00
test_printers_exceptions.py Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
update-abilist.sh Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
update-copyrights Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
versionlist.awk Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
versions.awk Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00