mirror of git://sourceware.org/git/glibc.git
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. |
||
|---|---|---|
| .. | ||
| bits | ||
| fpu | ||
| nofpu | ||
| nptl | ||
| power4 | ||
| power5+/fpu | ||
| power6 | ||
| power7/fpu | ||
| powerpc32 | ||
| powerpc64 | ||
| sys/platform | ||
| Makefile | ||
| Versions | ||
| abort-instr.h | ||
| atomic-machine.h | ||
| cpu-features.c | ||
| cpu-features.h | ||
| dl-procinfo.c | ||
| dl-procinfo.h | ||
| dl-tls.c | ||
| dl-tls.h | ||
| dl-tunables.list | ||
| 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 | ||
| 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 | ||
| 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 | ||