mirror of
git://sourceware.org/git/glibc.git
synced 2025-02-17 13:00:43 +08:00
This makes the __tls_get_addr_opt test run as a shared library, and so actually test that DTPMOD64/DTPREL64 pairs are processed by ld.so to support the __tls_get_adfr_opt call stub fast return. After a 2017-01-24 patch (binutils f0158f4416) ld.bfd no longer emitted unnecessary dynamic relocations against local thread variables, instead setting up the __tls_index GOT entries for the call stub fast return. This meant tst-tlsopt-powerpc passed but did not check ld.so relocation support. After a 2017-07-16 patch (binutils 676ee2b5fa) ld.bfd no longer set up the __tls_index GOT entries for the call stub fast return, and tst-tlsopt-powerpc failed. Compiling mod-tlsopt-powerpc.c with -DSHARED exposed a bug in powerpc64/tls-macros.h, which defines a __TLS_GET_ADDR macro that clashes with one defined in dl-tls.h. The tls-macros.h version is only used in that file, so delete it and expand. * sysdeps/powerpc/mod-tlsopt-powerpc.c: Extract from tst-tlsopt-powerpc.c with function name change and no test harness. * sysdeps/powerpc/tst-tlsopt-powerpc.c: Remove body of test. Call tls_get_addr_opt_test. * sysdeps/powerpc/Makefile (LDFLAGS-tst-tlsopt-powerpc): Don't define. (modules-names): Add mod-tlsopt-powerpc. (mod-tlsopt-powerpc.so-no-z-defs): Define. (tst-tlsopt-powerpc): Depend on .so. * sysdeps/powerpc/powerpc64/tls-macros.h (__TLS_GET_ADDR): Don't define. Expand use in TLS_GD and TLS_LD. |
||
---|---|---|
.. | ||
bits | ||
fpu | ||
nofpu | ||
nptl | ||
power4 | ||
power5+/fpu | ||
power6 | ||
power7/fpu | ||
powerpc32 | ||
powerpc64 | ||
powerpc64le | ||
soft-fp | ||
sys/platform | ||
abort-instr.h | ||
atomic-machine.h | ||
dl-procinfo.c | ||
dl-procinfo.h | ||
dl-tls.c | ||
dl-tls.h | ||
ffs.c | ||
fpu_control.h | ||
gccframe.h | ||
hwcapinfo.c | ||
hwcapinfo.h | ||
ifunc-sel.h | ||
Implies | ||
jmpbuf-offsets.h | ||
jmpbuf-unwind.h | ||
ldsodefs.h | ||
libc-tls.c | ||
locale-defines.sym | ||
longjmp.c | ||
machine-gmon.h | ||
Makefile | ||
math-tests.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 | ||
Versions |