glibc/sysdeps/powerpc
Joseph Myers 9c4b457e1b Add hidden_tls_def macros, fix powerpc-soft build with GCC 9.
Soft-float powerpc fails to build with current GCC mainline because of
use of libc_hidden_data_def for TLS variables, resulting in a non-TLS
alias being defined, to which the tls_model attribute is now copied,
resulting in a warning about it being ignored.

The problem here appears to be the non-TLS alias.  This patch adds a
hidden_tls_def macro family, corresponding to the hidden_tls_proto
macros, to define TLS aliases properly in such a case, and uses it for
those powerpc soft-float variables.

Tested with build-many-glibcs.py compilers build for powerpc-linux-gnu
soft-float.  Also tested for x86_64.

	* include/libc-symbols.h [SHARED && !NO_HIDDEN && !__ASSEMBLER__]
	(__hidden_ver2): New macro.  Use old definition of __hidden_ver1
	with additional parameter thread.
	[SHARED && !NO_HIDDEN && !__ASSEMBLER__] (__hidden_ver1): Define
	in terms of __hidden_ver2.
	(hidden_tls_def): New macro.
	(libc_hidden_tls_def): Likewise.
	(rtld_hidden_tls_def): Likewise.
	(libm_hidden_tls_def): Likewise.
	(libmvec_hidden_tls_def): Likewise.
	(libresolv_hidden_tls_def): Likewise.
	(librt_hidden_tls_def): Likewise.
	(libdl_hidden_tls_def): Likewise.
	(libnss_files_hidden_tls_def): Likewise.
	(libnsl_hidden_tls_def): Likewise.
	(libnss_nisplus_hidden_tls_def): Likewise.
	(libutil_hidden_tls_def): Likewise.
	(libutil_hidden_tls_def): Likweise.
	* sysdeps/powerpc/nofpu/sim-full.c (__sim_exceptions_thread): Use
	libc_hidden_tls_def.
	(__sim_disabled_exceptions_thread): Likewise.
	(__sim_round_mode_thread): Likewise.
2018-11-13 01:53:53 +00:00
..
bits
fpu Use round functions not __round functions in glibc libm. 2018-09-27 12:35:23 +00:00
nofpu Add hidden_tls_def macros, fix powerpc-soft build with GCC 9. 2018-11-13 01:53:53 +00:00
nptl powerpc: Only enable TLE with PPC_FEATURE2_HTM_NOSC 2018-09-21 10:18:03 -07:00
power4
power5+/fpu Remove unnecessary math_private.h includes. 2018-09-28 21:53:33 +00:00
power6
power7/fpu Remove unnecessary math_private.h includes. 2018-09-28 21:53:33 +00:00
powerpc32 Use copysign functions not __copysign functions in glibc libm. 2018-09-27 20:04:48 +00:00
powerpc64 Use copysign functions not __copysign functions in glibc libm. 2018-09-27 20:04:48 +00:00
sys/platform
Makefile
Versions
abort-instr.h
atomic-machine.h
cpu-features.c Rename the glibc.tune namespace to glibc.cpu 2018-08-02 23:49:19 +05:30
cpu-features.h
dl-procinfo.c
dl-procinfo.h
dl-tls.c
dl-tls.h
dl-tunables.list Rename the glibc.tune namespace to glibc.cpu 2018-08-02 23:49:19 +05:30
ffs.c
fpu_control.h
gccframe.h
hwcapinfo.c
hwcapinfo.h
ifunc-sel.h
jmpbuf-offsets.h
jmpbuf-unwind.h
ldsodefs.h
libc-tls.c
locale-defines.sym
longjmp.c
machine-gmon.h
math-tests-snan-cast.h Move SNAN_TESTS_TYPE_CAST out of math-tests.h. 2018-08-01 11:18:57 +00:00
memusage.h
mod-tlsopt-powerpc.c
mp_clz_tab.c
novmx-longjmp.c
novmx-sigjmp.c
novmxsetjmp.h
preconfigure
rtld-global-offsets.sym
sched_cpucount.c
sigjmp.c
sotruss-lib.c
stackinfo.h
sysdep.h powerpc: Only enable TLE with PPC_FEATURE2_HTM_NOSC 2018-09-21 10:18:03 -07:00
test-arith.c
test-arithf.c
test-get_hwcap-static.c
test-get_hwcap.c
test-gettimebase.c
tls-macros.h
tst-set_ppr.c
tst-stack-align.h
tst-tlsifunc-static.c
tst-tlsifunc.c
tst-tlsopt-powerpc.c