1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-08-08 17:42:12 +03:00
Files
glibc/sysdeps/mach/hurd/configure
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

58 lines
1.4 KiB
Plaintext

# This file is generated from configure.ac by Autoconf. DO NOT EDIT!
$as_echo "#define NO_RTLD_HIDDEN 1" >>confdefs.h
if test -n "$sysheaders"; then
OLD_CPPFLAGS=$CPPFLAGS
CPPFLAGS="$CPPFLAGS $SYSINCLUDES"
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking Hurd header version" >&5
$as_echo_n "checking Hurd header version... " >&6; }
if ${libc_cv_hurd_version+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <hurd/version.h>
int
main ()
{
#define NEED_VERSION 20020609
#if HURD_INTERFACE_VERSION < NEED_VERSION
# error Hurd version too old: HURD_INTERFACE_VERSION < NEED_VERSION
#endif
;
return 0;
}
_ACEOF
if ac_fn_c_try_cpp "$LINENO"; then :
libc_cv_hurd_version=ok
else
libc_cv_hurd_version=bad
fi
rm -f conftest.err conftest.i conftest.$ac_ext
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_hurd_version" >&5
$as_echo "$libc_cv_hurd_version" >&6; }
if test "x$libc_cv_hurd_version" != xok; then
as_fn_error $? "Hurd headers not installed or too old" "$LINENO" 5
fi
if test -n "$sysheaders"; then
CPPFLAGS=$OLD_CPPFLAGS
fi
# Hurd has libpthread as a separate library.
pthread_in_libc=no
# Hurd build needs to be updated to support static pie, see:
# https://sourceware.org/bugzilla/show_bug.cgi?id=28671
$as_echo "#define PIE_UNSUPPORTED 1" >>confdefs.h
# work around problem with autoconf and empty lines at the end of files