glibc/sysdeps
Tulio Magno Quites Machado Filho 91ac3a7d84 powerpc: Fix float128 IFUNC relocations [BZ #21707]
The patch proposed by Peter Bergner [1] to libgcc in order to fix
[BZ #21707] adds a dependency on a symbol provided by the loader,
forcing the loader to be linked to tests after libgcc was linked.

It also requires to read the thread pointer during IRELA relocations.

Tested on powerpc, powerpc64, powerpc64le, s390x and x86_64.

[1] https://sourceware.org/ml/libc-alpha/2017-06/msg01383.html

	[BZ #21707]
	* csu/libc-start.c (LIBC_START_MAIN): Perform IREL{,A}
	relocations before or after initializing the TCB on statically
	linked executables.  That's a per-architecture definition.
	* elf/rtld.c (dl_main): Add a comment about thread-local
	variables initialization.
	* sysdeps/generic/libc-start.h: New file.  Define
	ARCH_APPLY_IREL and ARCH_SETUP_IREL.
	* sysdeps/powerpc/Makefile:
	[$(subdir) = elf && $(multi-arch) != no] (tests-static-internal): Add tst-tlsifunc-static.
	[$(subdir) = elf && $(multi-arch) != no && $(build-shared) == yes]
	(tests-internal): Add tst-tlsifunc.
	* sysdeps/powerpc/tst-tlsifunc.c: New file.
	* sysdeps/powerpc/tst-tlsifunc-static.c: Likewise.
	* sysdeps/powerpc/powerpc64le/Makefile (f128-loader-link): New
	variable.
	[$(subdir) = math] (test-float128% test-ifloat128%): Force
	linking to the loader after linking to libgcc.
	[$(subdir) = wcsmbs || $(subdir) = stdlib] (bug-strtod bug-strtod2)
	(bug-strtod2 tst-strtod-round tst-wcstod-round tst-strtod6 tst-strrom)
	(tst-strfrom-locale strfrom-skeleton): Likewise.
	* sysdeps/unix/sysv/linux/powerpc/libc-start.h: New file.  Define
	ARCH_APPLY_IREL and ARCH_SETUP_IREL.
2017-07-17 17:49:26 -03:00
..
aarch64 tunables, aarch64: New tunable to override cpu 2017-06-30 22:58:39 +05:30
alpha
arm [ARM] Fix ld.so crash when built using Binutils 2.29 2017-07-13 15:48:41 +01:00
generic powerpc: Fix float128 IFUNC relocations [BZ #21707] 2017-07-17 17:49:26 -03:00
gnu
hppa Return to caller if dl_fixup fails to resolve callee on hppa. 2017-07-16 12:59:00 -04:00
i386
ia64 float128: Add signbit alternative for old compilers 2017-06-30 18:34:29 -03:00
ieee754 float128: Add signbit alternative for old compilers 2017-06-30 18:34:29 -03:00
init_array
m68k
mach
microblaze
mips
nios2
nptl Use generic pthread support on hppa. 2017-07-09 15:01:11 -04:00
posix Avoid backtrace from __stack_chk_fail [BZ #12189] 2017-07-11 07:44:14 -07:00
powerpc powerpc: Fix float128 IFUNC relocations [BZ #21707] 2017-07-17 17:49:26 -03:00
pthread Single threaded stdio optimization 2017-07-04 16:05:12 +01:00
s390
sh
sparc
tile
unix powerpc: Fix float128 IFUNC relocations [BZ #21707] 2017-07-17 17:49:26 -03:00
wordsize-32
wordsize-64
x86 float128: Add signbit alternative for old compilers 2017-06-30 18:34:29 -03:00
x86_64 x86-64: Test memmove_chk and memset_chk only in libc.so [BZ #21741] 2017-07-10 04:44:38 -07:00