glibc/sysdeps/powerpc
James Clarke 8644588807 Fix TLS relocations against local symbols on powerpc32, sparc32 and sparc64
Normally, TLS relocations against local symbols are optimised by the linker
to be absolute.  However, gold does not do this, and so it is possible to
end up with, for example, R_SPARC_TLS_DTPMOD64 referring to a local symbol.
Since sym_map is left as null in elf_machine_rela for the special local
symbol case, the relocation handling thinks it has nothing to do, and so
the module gets left as 0.  Havoc then ensues when the variable in question
is accessed.

Before this fix, the main_local_gold program would receive a SIGBUS on
sparc64, and SIGSEGV on powerpc32.  With this fix applied, that test now
passes like the rest of them.

	* sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_rela):
	Assign sym_map to be map for local symbols, as TLS relocations
	use sym_map to determine whether the symbol is defined and to
	extract the TLS information.
	* sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela): Likewise.
	* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela): Likewise.
2017-10-13 16:14:16 -03:00
..
bits Remove ancient __signbit inlines 2017-09-28 19:52:13 +01:00
fpu powerpc: Avoid putting floating point values in memory [BZ #22189] 2017-10-13 15:44:39 -03:00
nofpu Use fabs(f/l) rather than __fabs 2017-09-29 18:54:24 +01:00
nptl Move shared pthread definitions to common headers 2017-05-09 17:49:17 -03:00
power4 Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
power5+/fpu Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
power6 Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
power7/fpu powerpc: Fix logbl on power7 [BZ# 21280] 2017-04-28 19:45:52 -03:00
powerpc32 Fix TLS relocations against local symbols on powerpc32, sparc32 and sparc64 2017-10-13 16:14:16 -03:00
powerpc64 [BZ #22142] powerpc: Fix the carry bit on mpn_[add|sub]_n on POWER7 2017-10-13 15:44:39 -03:00
powerpc64le Add C++ versions of iscanonical for ldbl-96 and ldbl-128ibm (bug 22235) 2017-10-03 16:01:37 -03:00
soft-fp
sys/platform Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
abort-instr.h
atomic-machine.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
dl-procinfo.c powerpc: Update AT_HWCAP[2] bits 2017-06-23 09:10:32 -03:00
dl-procinfo.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
dl-tls.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
dl-tls.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
ffs.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
fpu_control.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
gccframe.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
hwcapinfo.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
hwcapinfo.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
ifunc-sel.h Do not stack-protect ifunc resolvers [BZ #7065] 2016-12-26 10:08:41 +01:00
Implies
jmpbuf-offsets.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
jmpbuf-unwind.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
ldsodefs.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
libc-tls.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
locale-defines.sym powerpc: strcasestr optmization for power8 2016-04-22 19:23:13 +05:30
longjmp.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
machine-gmon.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
Makefile tst-tlsopt-powerpc as a shared lib 2017-08-03 15:39:21 +09:30
math-tests.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
memusage.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
mod-tlsopt-powerpc.c tst-tlsopt-powerpc as a shared lib 2017-08-03 15:39:21 +09:30
mp_clz_tab.c
novmx-longjmp.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
novmx-sigjmp.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
novmxsetjmp.h Remove __need macros from signal.h. 2017-05-20 19:04:43 -04:00
preconfigure powerpc64le: Create divergent sysdep directory for powerpc64le. 2017-04-28 14:17:57 -03:00
rtld-global-offsets.sym
sched_cpucount.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
sigjmp.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
sotruss-lib.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
stackinfo.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
sysdep.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
test-arith.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
test-arithf.c
test-get_hwcap-static.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
test-get_hwcap.c powerpc: Convert tests to the new support test-driver 2017-02-21 14:00:00 -03:00
test-gettimebase.c powerpc: Convert tests to the new support test-driver 2017-02-21 14:00:00 -03:00
tls-macros.h
tst-set_ppr.c Miscellaneous low-risk changes preparing for _ISOMAC testsuite. 2017-03-01 20:32:50 -05:00
tst-stack-align.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-tlsifunc-static.c powerpc: Fix float128 IFUNC relocations [BZ #21707] 2017-07-17 17:49:26 -03:00
tst-tlsifunc.c powerpc: Fix float128 IFUNC relocations [BZ #21707] 2017-07-17 17:49:26 -03:00
tst-tlsopt-powerpc.c tst-tlsopt-powerpc as a shared lib 2017-08-03 15:39:21 +09:30
Versions Add femode_t functions. 2016-09-07 16:40:09 +00:00