glibc/sysdeps
Fangrui Song a8e9b5b807 m68k: Handle fewer relocations for RTLD_BOOTSTRAP (#BZ29071)
m68k is a non-PI_STATIC_AND_HIDDEN arch which uses a GOT relocation when
loading the address of a jump table. The GOT load may be reordered
before processing R_68K_RELATIVE relocations, leading to an
unrelocated/incorrect jump table, which will cause a crash.

The foolproof approach is to add an optimization barrier (e.g. calling
an non-inlinable function after relative relocations are resolved). That
is non-trivial given the current code structure, so just use the simple
approach to avoid the jump table: handle only the essential reloctions
for RTLD_BOOTSTRAP code.

This is based on Andreas Schwab's patch and fixed ld.so crash on m68k.

Reviewed-by: Adheemrval Zanella  <adhemerval.zanella@linaro.org>
2022-04-20 10:24:16 -07:00
..
aarch64
alpha alpha: Remove fcopysign{f} implementation 2022-04-07 14:56:26 -03:00
arc
arm Remove -z combreloc and HAVE_Z_COMBRELOC 2022-04-04 17:19:07 -07:00
csky
generic elf: Remove __libc_init_secure 2022-04-19 15:52:27 -07:00
gnu
hppa Remove -z combreloc and HAVE_Z_COMBRELOC 2022-04-04 17:19:07 -07:00
htl
hurd
i386 x86: Remove fcopysign{f} implementation 2022-04-07 12:17:15 -03:00
ia64 ia64: Remove fcopysign{f} implementation 2022-04-07 12:27:00 -03:00
ieee754 math: Use builtin for ldbl-96 copysign 2022-04-07 14:54:14 -03:00
m68k m68k: Handle fewer relocations for RTLD_BOOTSTRAP (#BZ29071) 2022-04-20 10:24:16 -07:00
mach elf: Remove __libc_init_secure 2022-04-19 15:52:27 -07:00
microblaze
mips Replace {u}int_fast{16|32} with {u}int32_t 2022-04-13 21:23:04 -05:00
nios2
nptl nptl: Handle spurious EINTR when thread cancellation is disabled (BZ#29029) 2022-04-14 12:48:31 -03:00
or1k
posix
powerpc powerpc64: Set up thread register for _dl_relocate_static_pie 2022-04-10 08:33:40 +09:30
pthread nptl: Handle spurious EINTR when thread cancellation is disabled (BZ#29029) 2022-04-14 12:48:31 -03:00
riscv manual: Avoid name collision in libm ULP table [BZ #28956] 2022-04-11 11:46:10 -04:00
s390 S390: Add new s390 platform z16. 2022-04-14 10:37:45 +02:00
sh
sparc sparc64: Remove fcopysign{f} implementation 2022-04-07 15:11:56 -03:00
unix elf: Remove __libc_init_secure 2022-04-19 15:52:27 -07:00
wordsize-32
wordsize-64
x86 x86: Fix fallback for wcsncmp_avx2 in strcmp-avx2.S [BZ #28896] 2022-03-25 11:46:13 -05:00
x86_64 x86: Fix missing __wmemcmp def for disable-multiarch build 2022-04-19 20:18:57 -05:00