From 23645707f12f2dd9d80b51effb2d9618a7b65565 Mon Sep 17 00:00:00 2001 From: Siddhesh Poyarekar Date: Wed, 8 Dec 2021 11:21:26 +0530 Subject: 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 Reviewed-by: Adhemerval Zanella --- NEWS | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'NEWS') diff --git a/NEWS b/NEWS index bf2b684..d864a7b 100644 --- a/NEWS +++ b/NEWS @@ -86,6 +86,15 @@ Major new features: * A symbolic link to the dynamic linker is now installed under /usr/bin/ld.so (or more precisely, '${bindir}/ld.so'). +* All programs and the testsuite in glibc are now built as position independent + executables (PIE) by default on toolchains and architectures that support it. + Further, if the toolchain and architecture supports it, even static programs + are built as PIE and the resultant glibc can be used to build static PIE + executables. A new option --disable-default-pie has been added to disable + this behavior and get a non-PIE build. This option replaces + --enable-static-pie, which no longer has any effect on the build + configuration. + Deprecated and removed features, and other changes affecting compatibility: * The r_version update in the debugger interface makes the glibc binary @@ -98,6 +107,10 @@ Deprecated and removed features, and other changes affecting compatibility: * Intel MPX support (lazy PLT, ld.so profile, and LD_AUDIT) has been removed. +* The --enable-static-pie option is no longer available. The glibc build + configuration script now automatically detects static-pie support in the + toolchain and architecture and enables it if available. + Changes to build and runtime requirements: [Add changes to build and runtime requirements here] -- cgit v1.1