glibc/sysdeps/powerpc/powerpc32
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
..
405 Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
440
464
476 Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
970
a2 Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
bits Define wordsize.h macros everywhere 2016-11-04 09:37:44 -07:00
cell Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
e500/nofpu Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
fpu Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
power4 Use libm_alias_double for dbl-64 modf. 2017-10-03 23:46:23 +00:00
power5 Remove powerpc32 sqrt wrappers. 2017-08-25 11:33:04 +00:00
power5+ Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
power6 Do not use __ptr_t. 2017-08-08 17:14:49 +00:00
power6x Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
power7 Do not use __ptr_t. 2017-08-08 17:14:49 +00:00
power8
power9 powerpc: Fix POWER9 implies 2016-09-19 09:35:38 -03:00
__longjmp-common.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
__longjmp.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
add_n.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
addmul_1.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
atomic-machine.h Optimize generic spinlock code and use C11 like atomic macros. 2017-06-06 09:41:56 +02:00
backtrace.c Rename struct ucontext tag (bug 21457). 2017-06-26 22:03:58 +00:00
bsd-_setjmp.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
bsd-setjmp.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
bzero.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
compat-ppc-mcount.S
configure powerpc: drop R_PPC_REL16 check 2015-02-10 06:09:22 -05:00
configure.ac powerpc: drop R_PPC_REL16 check 2015-02-10 06:09:22 -05:00
crti.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
crtn.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
dl-dtprocnum.h
dl-irel.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
dl-machine.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
dl-machine.h Fix TLS relocations against local symbols on powerpc32, sparc32 and sparc64 2017-10-13 16:14:16 -03:00
dl-start.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
dl-trampoline.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
gprrest0.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
gprrest1.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
gprsave0.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
gprsave1.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
Implies
libgcc-compat.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
lshift.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
Makefile
mcount.c
memset.S Do not use __ptr_t. 2017-08-08 17:14:49 +00:00
mul_1.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
ppc-mcount.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
register-dump.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
rshift.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
rtld-memset.c
setjmp-common.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
setjmp.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
stackguard-macros.h
start.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
stpcpy.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
strchr.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
strcmp.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
strcpy.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
strlen.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
strncmp.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
sub_n.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
submul_1.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
symbol-hacks.h Build divdi3 only for architecture that required it 2017-04-06 15:14:34 -03:00
sysdep.h PowerPC64 ENTRY_TOCLESS 2017-06-14 10:45:50 +09:30
tls-macros.h Remove HAVE_ASM_PPC_REL16 references 2015-03-23 15:33:59 +10:30
tst-audit.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
Versions