glibc/sysdeps
Siddhesh Poyarekar 23645707f1 Replace --enable-static-pie with --disable-default-pie
Build glibc programs and tests as PIE by default and enable static-pie
automatically if the architecture and toolchain supports it.

Also add a new configuration option --disable-default-pie to prevent
building programs as PIE.

Only the following architectures now have PIE disabled by default
because they do not work at the moment.  hppa, ia64, alpha and csky
don't work because the linker is unable to handle a pcrel relocation
generated from PIE objects.  The microblaze compiler is currently
failing with an ICE.  GNU hurd tries to enable static-pie, which does
not work and hence fails.  All these targets have default PIE disabled
at the moment and I have left it to the target maintainers to enable PIE
on their targets.

build-many-glibcs runs clean for all targets.  I also tested x86_64 on
Fedora and Ubuntu, to verify that the default build as well as
--disable-default-pie work as expected with both system toolchains.

Signed-off-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2021-12-13 08:08:59 +05:30
..
aarch64 Remove TLS_TCB_ALIGN and TLS_INIT_TCB_ALIGN 2021-12-09 23:47:49 +01:00
alpha Replace --enable-static-pie with --disable-default-pie 2021-12-13 08:08:59 +05:30
arc Remove TLS_TCB_ALIGN and TLS_INIT_TCB_ALIGN 2021-12-09 23:47:49 +01:00
arm Remove TLS_TCB_ALIGN and TLS_INIT_TCB_ALIGN 2021-12-09 23:47:49 +01:00
csky Replace --enable-static-pie with --disable-default-pie 2021-12-13 08:08:59 +05:30
generic Remove TLS_TCB_ALIGN and TLS_INIT_TCB_ALIGN 2021-12-09 23:47:49 +01:00
gnu Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
hppa Replace --enable-static-pie with --disable-default-pie 2021-12-13 08:08:59 +05:30
htl htl: Reimplement GSCOPE 2021-09-16 01:04:17 +02:00
hurd
i386 Remove TLS_TCB_ALIGN and TLS_INIT_TCB_ALIGN 2021-12-09 23:47:49 +01:00
ia64 Replace --enable-static-pie with --disable-default-pie 2021-12-13 08:08:59 +05:30
ieee754 Fixed inaccuracy of j0f (BZ #28185) 2021-10-05 13:45:37 +02:00
m68k Remove TLS_TCB_ALIGN and TLS_INIT_TCB_ALIGN 2021-12-09 23:47:49 +01:00
mach Replace --enable-static-pie with --disable-default-pie 2021-12-13 08:08:59 +05:30
microblaze Replace --enable-static-pie with --disable-default-pie 2021-12-13 08:08:59 +05:30
mips Remove TLS_TCB_ALIGN and TLS_INIT_TCB_ALIGN 2021-12-09 23:47:49 +01:00
nios2 Remove TLS_TCB_ALIGN and TLS_INIT_TCB_ALIGN 2021-12-09 23:47:49 +01:00
nptl nptl: Add public rseq symbols and <sys/rseq.h> 2021-12-09 09:49:32 +01:00
posix posix: Remove spawni.c 2021-09-27 12:44:25 -03:00
powerpc Remove TLS_TCB_ALIGN and TLS_INIT_TCB_ALIGN 2021-12-09 23:47:49 +01:00
pthread nptl: Add one more barrier to nptl/tst-create1 2021-12-10 11:51:25 +01:00
riscv Remove TLS_TCB_ALIGN and TLS_INIT_TCB_ALIGN 2021-12-09 23:47:49 +01:00
s390 Remove TLS_TCB_ALIGN and TLS_INIT_TCB_ALIGN 2021-12-09 23:47:49 +01:00
sh Remove TLS_TCB_ALIGN and TLS_INIT_TCB_ALIGN 2021-12-09 23:47:49 +01:00
sparc Replace --enable-static-pie with --disable-default-pie 2021-12-13 08:08:59 +05:30
unix x86-64: Remove LD_PREFER_MAP_32BIT_EXEC support [BZ #28656] 2021-12-10 14:01:34 -08:00
wordsize-32 Disable symbol hack in libc_nonshared.a 2021-09-27 07:46:25 -07:00
wordsize-64 Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
x86 x86-64: Remove LD_PREFER_MAP_32BIT_EXEC support [BZ #28656] 2021-12-10 14:01:34 -08:00
x86_64 Remove TLS_TCB_ALIGN and TLS_INIT_TCB_ALIGN 2021-12-09 23:47:49 +01:00