X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=configure;h=c773c487b542b3beb12fa2c70c8ea123b7bee5cd;hb=32d85c116dd07b25f58b24204e7b05489f06fed4;hp=8c69f09232ac062580a6609cb8a86182b203c480;hpb=03baef1c9cfb396d76cae20a00aee657871e79c4;p=thirdparty%2Fglibc.git
diff --git a/configure b/configure
index 8c69f09232a..c773c487b54 100755
--- a/configure
+++ b/configure
@@ -2,7 +2,7 @@
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for GNU C Library (see version.h).
#
-# Report bugs to .
+# Report bugs to .
#
#
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@@ -266,7 +266,7 @@ fi
$as_echo "$0: be upgraded to zsh 4.3.4 or later."
else
$as_echo "$0: Please tell bug-autoconf@gnu.org and
-$0: http://sourceware.org/bugzilla/ about your system,
+$0: https://sourceware.org/bugzilla/ about your system,
$0: including any error possibly output before this
$0: message. Then install a modern shell, or manually run
$0: the script under such a shell if you do have one."
@@ -581,7 +581,7 @@ PACKAGE_NAME='GNU C Library'
PACKAGE_TARNAME='glibc'
PACKAGE_VERSION='(see version.h)'
PACKAGE_STRING='GNU C Library (see version.h)'
-PACKAGE_BUGREPORT='http://sourceware.org/bugzilla/'
+PACKAGE_BUGREPORT='https://sourceware.org/bugzilla/'
PACKAGE_URL='http://www.gnu.org/software/glibc/'
ac_unique_file="include/features.h"
@@ -594,7 +594,9 @@ mach_interface_list
DEFINES
static_nss
profile
+libc_cv_multidir
libc_cv_pie_default
+libc_cv_cc_pie_default
libc_cv_pic_default
shared
static
@@ -629,11 +631,12 @@ libc_cv_z_execstack
libc_cv_z_combreloc
ASFLAGS_config
libc_cv_cc_with_libunwind
+libc_cv_insert
libc_cv_protected_data
-BISON
INSTALL_INFO
PERL
BASH_SHELL
+CXX_BITS_STD_ABS_H
CXX_CMATH_HEADER
CXX_CSTDLIB_HEADER
CXX_SYSINCLUDES
@@ -642,6 +645,7 @@ PYTHON
PYTHON_PROG
AUTOCONF
NM
+BISON
AWK
SED
MAKEINFO
@@ -649,6 +653,7 @@ MSGFMT
MAKE
LD
AS
+GPROF
OBJCOPY
OBJDUMP
AR
@@ -656,31 +661,33 @@ LN_S
INSTALL_DATA
INSTALL_SCRIPT
INSTALL_PROGRAM
-sysdeps_add_ons
sysnames
submachine
multi_arch
+libc_cv_textrel_ifunc
no_stack_protector
stack_protector
libc_cv_ssp
+libc_cv_with_fp
base_machine
-add_on_subdirs
-add_ons
+have_tunables
build_pt_chown
build_nscd
+build_obsolete_nsl
link_obsolete_rpc
libc_cv_static_nss_crypt
libc_cv_nss_crypt
+build_crypt
+experimental_malloc
enable_werror
all_warnings
force_install
bindnow
-enable_lock_elision
hardcoded_path_in_tests
enable_timezone_tools
+extra_nonshared_cflags
use_default_link
sysheaders
-with_fp
ac_ct_CXX
CXXFLAGS
CXX
@@ -753,19 +760,18 @@ with_bugurl
with_gd
with_gd_include
with_gd_lib
-with_fp
with_binutils
with_selinux
with_headers
with_default_link
+with_nonshared_cflags
enable_sanity_checks
enable_shared
enable_profile
+enable_static_pie
enable_timezone_tools
enable_hardcoded_path_in_tests
enable_stackguard_randomization
-enable_lock_elision
-enable_add_ons
enable_hidden_plt
enable_bind_now
enable_stack_protector
@@ -776,13 +782,18 @@ enable_kernel
enable_all_warnings
enable_werror
enable_multi_arch
+enable_experimental_malloc
+enable_crypt
enable_nss_crypt
enable_obsolete_rpc
+enable_obsolete_nsl
enable_systemtap
enable_build_nscd
enable_nscd
enable_pt_chown
+enable_tunables
enable_mathvec
+enable_cet
with_cpu
'
ac_precious_vars='build_alias
@@ -797,8 +808,7 @@ CPP
CXX
CXXFLAGS
CCC'
-ac_subdirs_all='
-'
+ac_subdirs_all=''
# Initialize some variables set by options.
ac_init_help=
@@ -1415,6 +1425,8 @@ Optional Features:
in special situations) [default=yes]
--enable-shared build shared library [default=yes if GNU ld]
--enable-profile build profiled library [default=no]
+ --enable-static-pie enable static PIE support and use it in the
+ testsuite [default=no]
--disable-timezone-tools
do not install timezone tools [default=install]
--enable-hardcoded-path-in-tests
@@ -1423,11 +1435,6 @@ Optional Features:
--enable-stackguard-randomization
initialize __stack_chk_guard canary with a random
number at program start
- --enable-lock-elision=yes/no
- Enable lock elision for pthread mutexes by default
- --enable-add-ons[=DIRS...]
- configure and build add-ons in DIR1,DIR2,... search
- for add-ons if no parameter given
--disable-hidden-plt do not hide internal function calls to avoid PLT
--enable-bind-now disable lazy relocations in DSOs
--enable-stack-protector=[yes|no|all|strong]
@@ -1445,15 +1452,25 @@ Optional Features:
--disable-werror do not build with -Werror
--enable-multi-arch enable single DSO with optimizations for multiple
architectures
+ --disable-experimental-malloc
+ disable experimental malloc features
+ --disable-crypt do not build nor install the passphrase hashing
+ library, libcrypt
--enable-nss-crypt enable libcrypt to use nss
--enable-obsolete-rpc build and install the obsolete RPC code for
link-time usage
+ --enable-obsolete-nsl build and install the obsolete libnsl library and
+ depending NSS modules
--enable-systemtap enable systemtap static probe points [default=no]
--disable-build-nscd disable building and installing the nscd daemon
--disable-nscd library functions will not contact the nscd daemon
--enable-pt_chown Enable building and installing pt_chown
+ --enable-tunables Enable tunables support. Known values are 'yes',
+ 'no' and 'valstring'
--enable-mathvec Enable building and installing mathvec [default
depends on architecture]
+ --enable-cet enable Intel Control-flow Enforcement Technology
+ (CET), x86 only
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
@@ -1463,12 +1480,13 @@ Optional Packages:
--with-gd=DIR find libgd include dir and library with prefix DIR
--with-gd-include=DIR find libgd include files in DIR
--with-gd-lib=DIR find libgd library files in DIR
- --with-fp if using floating-point hardware [default=yes]
--with-binutils=PATH specify location of binutils (as and ld)
--with-selinux if building with SELinux support
--with-headers=PATH location of system headers to use (for example
/usr/src/linux/include) [default=compiler default]
--with-default-link do not use explicit linker scripts
+ --with-nonshared-cflags=CFLAGS
+ build nonshared libraries with additional CFLAGS
--with-cpu=CPU select code for CPU variant
Some influential environment variables:
@@ -1486,7 +1504,7 @@ Some influential environment variables:
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
-Report bugs to .
+Report bugs to .
GNU C Library home page: .
General help using GNU software: .
_ACEOF
@@ -2180,12 +2198,12 @@ _ACEOF
# We require GCC, and by default use its preprocessor. Override AC_PROG_CPP
# here to work around the Autoconf issue discussed in
-# .
+# .
# AC_PROG_CPP
# We require GCC. Override _AC_PROG_CC_C89 here to work around the Autoconf
# issue discussed in
-# .
+# .
@@ -3290,15 +3308,6 @@ libgd-LDFLAGS = $libgd_ldflags"
fi
-# Check whether --with-fp was given.
-if test "${with_fp+set}" = set; then :
- withval=$with_fp; with_fp=$withval
-else
- with_fp=yes
-fi
-
-
-
# Check whether --with-binutils was given.
if test "${with_binutils+set}" = set; then :
withval=$with_binutils; path_binutils=$withval
@@ -3335,6 +3344,16 @@ else
fi
+
+# Check whether --with-nonshared-cflags was given.
+if test "${with_nonshared_cflags+set}" = set; then :
+ withval=$with_nonshared_cflags; extra_nonshared_cflags=$withval
+else
+ extra_nonshared_cflags=
+fi
+
+
+
# Check whether --enable-sanity-checks was given.
if test "${enable_sanity_checks+set}" = set; then :
enableval=$enable_sanity_checks; enable_sanity=$enableval
@@ -3357,6 +3376,13 @@ else
profile=no
fi
+# Check whether --enable-static-pie was given.
+if test "${enable_static_pie+set}" = set; then :
+ enableval=$enable_static_pie; static_pie=$enableval
+else
+ static_pie=no
+fi
+
# Check whether --enable-timezone-tools was given.
if test "${enable_timezone_tools+set}" = set; then :
enableval=$enable_timezone_tools; enable_timezone_tools=$enableval
@@ -3387,27 +3413,6 @@ if test "$enable_stackguard_randomize" = yes; then
fi
-# Check whether --enable-lock-elision was given.
-if test "${enable_lock_elision+set}" = set; then :
- enableval=$enable_lock_elision; enable_lock_elision=$enableval
-else
- enable_lock_elision=no
-fi
-
-
-if test "$enable_lock_elision" = yes ; then
- $as_echo "#define ENABLE_LOCK_ELISION 1" >>confdefs.h
-
-fi
-
-# Check whether --enable-add-ons was given.
-if test "${enable_add_ons+set}" = set; then :
- enableval=$enable_add_ons;
-else
- enable_add_ons=yes
-fi
-
-
# Check whether --enable-hidden-plt was given.
if test "${enable_hidden_plt+set}" = set; then :
enableval=$enable_hidden_plt; hidden=$enableval
@@ -3513,6 +3518,24 @@ else
fi
+# Check whether --enable-experimental-malloc was given.
+if test "${enable_experimental_malloc+set}" = set; then :
+ enableval=$enable_experimental_malloc; experimental_malloc=$enableval
+else
+ experimental_malloc=yes
+fi
+
+
+
+# Check whether --enable-crypt was given.
+if test "${enable_crypt+set}" = set; then :
+ enableval=$enable_crypt; build_crypt=$enableval
+else
+ build_crypt=yes
+fi
+
+
+
# Check whether --enable-nss-crypt was given.
if test "${enable_nss_crypt+set}" = set; then :
enableval=$enable_nss_crypt; nss_crypt=$enableval
@@ -3520,13 +3543,22 @@ else
nss_crypt=no
fi
+if test x$build_libcrypt = xno && test x$nss_crypt = xyes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: --enable-nss-crypt has no effect when libcrypt is disabled" >&5
+$as_echo "$as_me: WARNING: --enable-nss-crypt has no effect when libcrypt is disabled" >&2;}
+ nss_crypt=no
+fi
if test x$nss_crypt = xyes; then
nss_includes=-I$(nss-config --includedir 2>/dev/null)
if test $? -ne 0; then
as_fn_error $? "cannot find include directory with nss-config" "$LINENO" 5
fi
+ nspr_includes=-I$(nspr-config --includedir 2>/dev/null)
+ if test $? -ne 0; then
+ as_fn_error $? "cannot find include directory with nspr-config" "$LINENO" 5
+ fi
old_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS $nss_includes"
+ CFLAGS="$CFLAGS $nss_includes $nspr_includes"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -3622,6 +3654,20 @@ if test "$link_obsolete_rpc" = yes; then
fi
+# Check whether --enable-obsolete-nsl was given.
+if test "${enable_obsolete_nsl+set}" = set; then :
+ enableval=$enable_obsolete_nsl; build_obsolete_nsl=$enableval
+else
+ build_obsolete_nsl=no
+fi
+
+
+
+if test "$build_obsolete_nsl" = yes; then
+ $as_echo "#define LINK_OBSOLETE_NSL 1" >>confdefs.h
+
+fi
+
# Check whether --enable-systemtap was given.
if test "${enable_systemtap+set}" = set; then :
enableval=$enable_systemtap; systemtap=$enableval
@@ -3698,6 +3744,19 @@ if test "$build_pt_chown" = yes; then
fi
+# Check whether --enable-tunables was given.
+if test "${enable_tunables+set}" = set; then :
+ enableval=$enable_tunables; have_tunables=$enableval
+else
+ have_tunables=yes
+fi
+
+
+if test "$have_tunables" = yes; then
+ $as_echo "#define HAVE_TUNABLES 1" >>confdefs.h
+
+fi
+
# The abi-tags file uses a fairly simplistic model for name recognition that
# can't distinguish i486-pc-linux-gnu fully from i486-pc-gnu. So we mutate a
# $host_os of `gnu*' here to be `gnu-gnu*' just so that it can tell.
@@ -3718,6 +3777,14 @@ else
fi
+# Check whether --enable-cet was given.
+if test "${enable_cet+set}" = set; then :
+ enableval=$enable_cet; enable_cet=$enableval
+else
+ enable_cet=no
+fi
+
+
# We keep the original values in `$config_*' and never modify them, so we
# can write them unchanged into config.make. Everything else uses
# $machine, $vendor, and $os, and changes them whenever convenient.
@@ -3730,7 +3797,7 @@ config_os="`echo $config_os | sed 's/^unknown-//'`"
# Some configurations imply other options.
elf=yes
-# The configure fragment of an add-on port can modify these to supplement
+# The configure fragment of a port can modify these to supplement
# or override the table in the case statement below. No fragment should
# ever change the config_* variables, however.
machine=$config_machine
@@ -3755,6 +3822,11 @@ fi
# check below.
libc_config_ok=no
+# A preconfigure script for a system that may or may not use fpu
+# sysdeps directories sets this to a preprocessor conditional for
+# whether to use such directories.
+with_fp_cond=1
+
if frags=`ls -d $srcdir/sysdeps/*/preconfigure 2> /dev/null`
then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysdeps preconfigure fragments" >&5
@@ -3768,143 +3840,6 @@ $as_echo_n "checking for sysdeps preconfigure fragments... " >&6; }
$as_echo "" >&6; }
fi
-subdirs="$subdirs "
-
-
-case "$enable_add_ons" in
-''|no) add_ons= ;;
-yes|'*')
- add_ons=`cd $srcdir && ls -d 2> /dev/null */configure */sysdeps |
- sed 's@/[^/]*$@@' | sort | uniq`
- add_ons_automatic=yes
- ;;
-*) add_ons=`echo "$enable_add_ons" | sed 's/,/ /g'`
- add_ons_automatic=no ;;
-esac
-
-configured_add_ons=
-add_ons_sfx=
-add_ons_pfx=
-if test x"$add_ons" != x; then
- for f in $add_ons; do
- # Some sanity checks
- case "$f" in
- crypt)
- as_fn_error $? "
-*** It seems that you're using an old \`crypt' add-on. crypt is now
-*** part of glibc and using the old add-on will not work with this
-*** release. Start again with fresh sources and without the old
-*** \`crypt' add-on." "$LINENO" 5
- ;;
- localedata)
- as_fn_error $? "
-*** It seems that you're using an old \`localedata' add-on. localedata
-*** is now part of glibc and using the old add-on will not work with
-*** this release. Start again with fresh sources and without the old
-*** \`localedata' add-on." "$LINENO" 5
- ;;
- esac
- done
-
- # Now source each add-on's configure fragment.
- # The fragments can use $srcdir/$libc_add_on to find themselves,
- # and test $add_ons_automatic to see if they were explicitly requested.
- # A fragment can clear (or even change) $libc_add_on to affect
- # whether it goes into the list to be actually used in the build.
- use_add_ons=
- for libc_add_on in $add_ons; do
- # Test whether such a directory really exists.
- # It can be absolute, or relative to $srcdir, or relative to the build dir.
- case "$libc_add_on" in
- /*)
- libc_add_on_srcdir=$libc_add_on
- ;;
- *)
- test -d "$srcdir/$libc_add_on" || {
- if test -d "$libc_add_on"; then
- libc_add_on="`pwd`/$libc_add_on"
- else
- as_fn_error $? "add-on directory \"$libc_add_on\" does not exist" "$LINENO" 5
- fi
- }
- libc_add_on_srcdir=$srcdir/$libc_add_on
- ;;
- esac
-
- libc_add_on_frag=$libc_add_on_srcdir/configure
- libc_add_on_canonical=
- libc_add_on_config_subdirs=
- if test -r "$libc_add_on_frag"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: running configure fragment for add-on $libc_add_on" >&5
-$as_echo "$as_me: running configure fragment for add-on $libc_add_on" >&6;}
- libc_add_on_canonical=unknown
- libc_add_on_subdirs=
- . "$libc_add_on_frag"
- test -z "$libc_add_on" || {
- configured_add_ons="$configured_add_ons $libc_add_on"
- if test "x$libc_add_on_canonical" = xunknown; then
- as_fn_error $? "fragment must set \$libc_add_on_canonical" "$LINENO" 5
- fi
- for d in $libc_add_on_subdirs; do
- case "$libc_add_on" in
- /*) subdir_srcdir="$libc_add_on" ;;
- *) subdir_srcdir="\$(..)$libc_add_on" ;;
- esac
- case "$d" in
- .)
- d="${libc_add_on_canonical:-$libc_add_on}"
- ;;
- /*)
- subdir_srcdir="$d"
- ;;
- *)
- subdir_srcdir="$subdir_srcdir/$d"
- ;;
- esac
- d=`echo "$d" | sed 's@/*$@@;s@^.*/@@'`
- add_on_subdirs="$add_on_subdirs $d"
- test "$subdir_srcdir" = "\$(..)$d" || config_vars="$config_vars
-$d-srcdir = $subdir_srcdir"
- done
- for d in $libc_add_on_config_subdirs; do
- case "$d" in
- /*) as_fn_error $? "fragment uses absolute path in \$libc_add_on_config_subdirs" "$LINENO" 5 ;;
- esac
- if test ! -d "$libc_add_on_srcdir/$d"; then
- as_fn_error $? "fragment wants to configure missing directory $d" "$LINENO" 5
- fi
- case "$libc_add_on" in
- /*) as_fn_error $? "relative path required for add-on using \$libc_add_on_config_subdirs" "$LINENO" 5 ;;
- esac
- subdirs="$subdirs $libc_add_on/$d"
- done
- }
- fi
- if test -n "$libc_add_on"; then
- if frags=`ls -d $libc_add_on_srcdir/sysdeps/*/preconfigure 2> /dev/null`
-then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking add-on $libc_add_on for preconfigure fragments" >&5
-$as_echo_n "checking add-on $libc_add_on for preconfigure fragments... " >&6; }
- for frag in $frags; do
- name=`echo "$frag" | sed 's@/[^/]*$@@;s@^.*/@@'`
- echo $ECHO_N "$name $ECHO_C" >&6
- . "$frag"
- done
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5
-$as_echo "" >&6; }
-fi
- use_add_ons="$use_add_ons $libc_add_on"
- add_ons_pfx="$add_ons_pfx $libc_add_on/"
- test -z "$libc_add_on_canonical" ||
- add_ons_sfx="$add_ons_sfx /$libc_add_on_canonical"
- fi
- done
- # Use echo to strip excess whitespace.
- add_ons="`echo $use_add_ons`"
-fi
-
-
-
###
### By using the undocumented --enable-hacker-mode option for configure
@@ -3930,6 +3865,30 @@ fi
test -n "$base_machine" || base_machine=$machine
+# Determine whether to use fpu or nofpu sysdeps directories.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for use of fpu sysdeps directories" >&5
+$as_echo_n "checking for use of fpu sysdeps directories... " >&6; }
+if ${libc_cv_with_fp+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat > conftest.c <&5 2>&5 ; then
+ libc_cv_with_fp=yes
+fi
+rm -f conftest*
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_with_fp" >&5
+$as_echo "$libc_cv_with_fp" >&6; }
+
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -fstack-protector" >&5
$as_echo_n "checking for -fstack-protector... " >&6; }
if ${libc_cv_ssp+:} false; then :
@@ -3994,6 +3953,8 @@ stack_protector=
no_stack_protector=
if test "$libc_cv_ssp" = yes; then
no_stack_protector="-fno-stack-protector -DSTACK_PROTECTOR_LEVEL=0"
+ $as_echo "#define HAVE_CC_NO_STACK_PROTECTOR 1" >>confdefs.h
+
fi
if test "$enable_stack_protector" = yes && test "$libc_cv_ssp" = yes; then
@@ -4008,11 +3969,25 @@ elif test "$enable_stack_protector" = strong && test "$libc_cv_ssp_strong" = yes
stack_protector="-fstack-protector-strong"
$as_echo "#define STACK_PROTECTOR_LEVEL 3" >>confdefs.h
+else
+ stack_protector="-fno-stack-protector"
+ $as_echo "#define STACK_PROTECTOR_LEVEL 0" >>confdefs.h
+
fi
+if test -n "$stack_protector"; then
+ no_ssp=-fno-stack-protector
+else
+ no_ssp=
+
+ if test "$enable_stack_protector" != no; then
+ as_fn_error $? "--enable-stack-protector=$enable_stack_protector specified, but specified level of stack protection is not supported by the compiler." "$LINENO" 5
+ fi
+fi
+
# For the multi-arch option we need support in the assembler & linker.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for assembler and linker STT_GNU_IFUNC support" >&5
$as_echo_n "checking for assembler and linker STT_GNU_IFUNC support... " >&6; }
@@ -4035,7 +4010,7 @@ __start:
EOF
libc_cv_ld_gnu_indirect_function=no
if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \
- -nostartfiles -nostdlib \
+ -nostartfiles -nostdlib $no_ssp \
-o conftest conftest.S 1>&5 2>&5; then
# Do a link to see if the backend supports IFUNC relocs.
$READELF -r conftest 1>&5
@@ -4078,6 +4053,78 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_gcc_indirect_function" >&5
$as_echo "$libc_cv_gcc_indirect_function" >&6; }
+# Check if linker supports textrel relocation with ifunc (used on elf/tests).
+# Note that it relies on libc_cv_ld_gnu_indirect_function test above.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the linker supports textrels along with ifunc" >&5
+$as_echo_n "checking whether the linker supports textrels along with ifunc... " >&6; }
+if ${libc_cv_textrel_ifunc+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat > conftest.S <&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }; then
+ libc_cv_textrel_ifunc=yes
+ fi
+fi
+rm -f conftest*
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_textrel_ifunc" >&5
+$as_echo "$libc_cv_textrel_ifunc" >&6; }
+
+
+# Check if gcc warns about alias for function with incompatible types.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if compiler warns about alias for function with incompatible types" >&5
+$as_echo_n "checking if compiler warns about alias for function with incompatible types... " >&6; }
+if ${libc_cv_gcc_incompatible_alias+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat > conftest.c <&5 2>&5 ; then
+ libc_cv_gcc_incompatible_alias=no
+fi
+rm -f conftest*
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_gcc_incompatible_alias" >&5
+$as_echo "$libc_cv_gcc_incompatible_alias" >&6; }
+
if test x"$libc_cv_ld_gnu_indirect_function" != xyes; then
if test x"$multi_arch" = xyes; then
as_fn_error $? "--enable-multi-arch support requires assembler and linker support" "$LINENO" 5
@@ -4085,12 +4132,25 @@ if test x"$libc_cv_ld_gnu_indirect_function" != xyes; then
multi_arch=no
fi
fi
-if test x"$libc_cv_gcc_indirect_function" != xyes &&
- test x"$multi_arch" = xyes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: --enable-multi-arch support recommends a gcc with gnu-indirect-function support.
+if test x"$libc_cv_gcc_indirect_function" != xyes; then
+ # GCC 8+ emits a warning for alias with incompatible types and it might
+ # fail to build ifunc resolvers aliases to either weak or internal
+ # symbols. Disables multiarch build in this case.
+ if test x"$libc_cv_gcc_incompatible_alias" == xyes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: gcc emits a warning for alias between functions of incompatible types" >&5
+$as_echo "$as_me: WARNING: gcc emits a warning for alias between functions of incompatible types" >&2;}
+ if test x"$multi_arch" = xyes; then
+ as_fn_error $? "--enable-multi-arch support requires a gcc with gnu-indirect-function support" "$LINENO" 5
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Multi-arch is disabled." >&5
+$as_echo "$as_me: WARNING: Multi-arch is disabled." >&2;}
+ multi_arch=no
+ elif test x"$multi_arch" = xyes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: --enable-multi-arch support recommends a gcc with gnu-indirect-function support.
Please use a gcc which supports it by default or configure gcc with --enable-gnu-indirect-function" >&5
$as_echo "$as_me: WARNING: --enable-multi-arch support recommends a gcc with gnu-indirect-function support.
Please use a gcc which supports it by default or configure gcc with --enable-gnu-indirect-function" >&2;}
+ fi
fi
multi_arch_d=
if test x"$multi_arch" != xno; then
@@ -4144,7 +4204,7 @@ tail=$machine${submachine:+/$submachine}
while m=`echo $tail | sed 's@^\(.*\)/\([^/]*\)$@& \1@'`; test -n "$m"; do
set $m
# Prepend the machine's FPU directory unless --without-fp.
- if test "$with_fp" = yes; then
+ if test "$libc_cv_with_fp" = yes; then
maybe_fpu=/fpu
else
maybe_fpu=/nofpu
@@ -4160,7 +4220,6 @@ done
# Find what sysdep directories exist.
-sysnames_add_ons=
sysnames=
for b in $base ''; do
for m0 in $mach ''; do
@@ -4169,34 +4228,21 @@ for b in $base ''; do
for o in /$ostry ''; do
test "$o" = / && continue
for m in $mach ''; do
- for d in $add_ons_pfx ''; do
- for a in $add_ons_sfx ''; do
- try_suffix="$m0$b$v$o$m"
- if test -n "$try_suffix"; then
- try_srcdir="${srcdir}/"
- case "$d" in
- /*) try_srcdir= ;;
- esac
- try="${d}sysdeps$try_suffix$a"
- test -n "$enable_debug_configure" &&
- echo "$0 DEBUG: try $try" >&2
- if test -d "$try_srcdir$try"; then
- sysnames="$sysnames $try"
- { test -n "$o" || test -n "$b"; } && os_used=t
- { test -n "$m" || test -n "$m0"; } && machine_used=t
- case x${m0:-$m} in
- x*/$submachine) submachine_used=t ;;
- esac
- if test -n "$d"; then
- case "$sysnames_add_ons" in
- *" $d "*) ;;
- *|'') sysnames_add_ons="$sysnames_add_ons $d" ;;
- esac
- fi
- fi
- fi
- done
- done
+ try_suffix="$m0$b$v$o$m"
+ if test -n "$try_suffix"; then
+ try_srcdir="${srcdir}/"
+ try="sysdeps$try_suffix"
+ test -n "$enable_debug_configure" &&
+ echo "$0 DEBUG: try $try" >&2
+ if test -d "$try_srcdir$try"; then
+ sysnames="$sysnames $try"
+ { test -n "$o" || test -n "$b"; } && os_used=t
+ { test -n "$m" || test -n "$m0"; } && machine_used=t
+ case x${m0:-$m} in
+ x*/$submachine) submachine_used=t ;;
+ esac
+ fi
+ fi
done
done
done
@@ -4205,7 +4251,7 @@ done
# If the assembler supports gnu_indirect_function symbol type and the
# architecture supports multi-arch, we enable multi-arch by default.
-case $sysnames_add_ons$sysnames in
+case $sysnames in
*"$multi_arch_d"*)
;;
*)
@@ -4268,24 +4314,15 @@ while test $# -gt 0; do
eval "${implies_type}=\"\$${implies_type} \$name_base/\$x\""
found=yes
fi
- for d in $add_ons_pfx ''; do
- try="${d}sysdeps/$x"
- case $d in
- /*) try_srcdir= ;;
- *) try_srcdir=$srcdir/ ;;
- esac
- test -n "$enable_debug_configure" &&
- echo "DEBUG: $name $implies_file $x try($d) {$try_srcdir}$try" >&2
- if test $try != $xsrcdir$name_base/$x && test -d $try_srcdir$try;
- then
- eval "${implies_type}=\"\$${implies_type} \$try\""
- found=yes
- case "$sysnames_add_ons" in
- *" $d "*) ;;
- *|'') sysnames_add_ons="$sysnames_add_ons $d" ;;
- esac
- fi
- done
+ try="sysdeps/$x"
+ try_srcdir=$srcdir/
+ test -n "$enable_debug_configure" &&
+ echo "DEBUG: $name $implies_file $x try() {$try_srcdir}$try" >&2
+ if test $try != $xsrcdir$name_base/$x && test -d $try_srcdir$try;
+ then
+ eval "${implies_type}=\"\$${implies_type} \$try\""
+ found=yes
+ fi
if test $found = no; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $name/$implies_file specifies nonexistent $x" >&5
$as_echo "$as_me: WARNING: $name/$implies_file specifies nonexistent $x" >&2;}
@@ -4323,63 +4360,6 @@ sysnames="$names $default_sysnames"
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $default_sysnames" >&5
$as_echo "$default_sysnames" >&6; }
-# Collect the list of add-ons that supply partial sysdeps trees.
-sysdeps_add_ons=
-for add_on in $add_ons; do
- case "$add_on" in
- /*) xsrcdir= ;;
- *) xsrcdir="$srcdir/" ;;
- esac
-
- test -d "$xsrcdir$add_on/sysdeps" || {
- case "$configured_add_ons " in
- *" $add_on "*) ;;
- *|'')
- as_fn_error $? "add-on $add_on has no configure fragment or sysdeps tree" "$LINENO" 5
- ;;
- esac
- continue
- }
-
- sysdeps_add_ons="$sysdeps_add_ons $add_on"
- case "$sysnames_add_ons" in
- *" $add_on/ "*) ;;
- *|'')
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: add-on $add_on contributed no sysdeps directories" >&5
-$as_echo "$as_me: WARNING: add-on $add_on contributed no sysdeps directories" >&2;}
- continue ;;
- esac
-
- found=no
- for d in $sysnames; do
- case "$d" in
- $add_on/sysdeps/*) ;;
- *) continue ;;
- esac
- (cd "$xsrcdir$d" && for f in *[!~]; do
- case "$f" in
- sys|bits)
- for ff in $f/*.h; do
- test -d "$ff" || { test -e "$ff" && exit 88; }
- done
- ;;
- *)
- test -d "$f" || { test -e "$f" && exit 88; }
- ;;
- esac
- done)
- if test $? -eq 88; then
- found=yes
- break
- fi
- done
- if test $found = no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: add-on $add_on contributed no useful sysdeps directories" >&5
-$as_echo "$as_me: WARNING: add-on $add_on contributed no useful sysdeps directories" >&2;}
- fi
-done
-
-
### Locate tools.
@@ -4506,6 +4486,8 @@ OBJDUMP=`$CC -print-prog-name=objdump`
OBJCOPY=`$CC -print-prog-name=objcopy`
+GPROF=`$CC -print-prog-name=gprof`
+
# Determine whether we are using GNU binutils.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $AS is GNU as" >&5
@@ -4546,7 +4528,7 @@ $as_echo "$libc_cv_prog_ld_gnu" >&6; }
gnu_ld=$libc_cv_prog_ld_gnu
-# Accept binutils 2.22 or newer.
+# Accept binutils 2.25 or newer.
for ac_prog in $AS
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
@@ -4598,7 +4580,7 @@ $as_echo_n "checking version of $AS... " >&6; }
ac_prog_version=`$AS --version 2>&1 | sed -n 's/^.*GNU assembler.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
case $ac_prog_version in
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
- 2.1[0-9][0-9]*|2.2[2-9]*|2.[3-9][0-9]*|[3-9].*|[1-9][0-9]*)
+ 2.1[0-9][0-9]*|2.2[5-9]*|2.[3-9][0-9]*|[3-9].*|[1-9][0-9]*)
ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
*) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
@@ -4610,7 +4592,74 @@ if test $ac_verc_fail = yes; then
AS=: critic_missing="$critic_missing as"
fi
-for ac_prog in $LD
+
+if test -n "`$LD --version | sed -n 's/^GNU \(gold\).*$/\1/p'`"; then
+ # Accept gold 1.14 or higher
+ for ac_prog in $LD
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_LD+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$LD"; then
+ ac_cv_prog_LD="$LD" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_LD="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+LD=$ac_cv_prog_LD
+if test -n "$LD"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
+$as_echo "$LD" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$LD" && break
+done
+
+if test -z "$LD"; then
+ ac_verc_fail=yes
+else
+ # Found it, now check the version.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking version of $LD" >&5
+$as_echo_n "checking version of $LD... " >&6; }
+ ac_prog_version=`$LD --version 2>&1 | sed -n 's/^.*GNU gold.* \([0-9][0-9]*\.[0-9.]*\).*$/\1/p'`
+ case $ac_prog_version in
+ '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
+ 1.1[4-9]*|1.[2-9][0-9]*|1.1[0-9][0-9]*|[2-9].*|[1-9][0-9]*)
+ ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
+ *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
+
+ esac
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_prog_version" >&5
+$as_echo "$ac_prog_version" >&6; }
+fi
+if test $ac_verc_fail = yes; then
+ LD=: critic_missing="$critic_missing GNU gold"
+fi
+
+else
+ for ac_prog in $LD
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
@@ -4661,7 +4710,7 @@ $as_echo_n "checking version of $LD... " >&6; }
ac_prog_version=`$LD --version 2>&1 | sed -n 's/^.*GNU ld.* \([0-9][0-9]*\.[0-9.]*\).*$/\1/p'`
case $ac_prog_version in
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
- 2.1[0-9][0-9]*|2.2[2-9]*|2.[3-9][0-9]*|[3-9].*|[1-9][0-9]*)
+ 2.1[0-9][0-9]*|2.2[5-9]*|2.[3-9][0-9]*|[3-9].*|[1-9][0-9]*)
ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
*) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
@@ -4670,9 +4719,10 @@ $as_echo_n "checking version of $LD... " >&6; }
$as_echo "$ac_prog_version" >&6; }
fi
if test $ac_verc_fail = yes; then
- LD=: critic_missing="$critic_missing ld"
+ LD=: critic_missing="$critic_missing GNU ld"
fi
+fi
# These programs are version sensitive.
@@ -4727,7 +4777,7 @@ $as_echo_n "checking version of $MAKE... " >&6; }
ac_prog_version=`$MAKE --version 2>&1 | sed -n 's/^.*GNU Make[^0-9]*\([0-9][0-9.]*\).*$/\1/p'`
case $ac_prog_version in
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
- 3.79* | 3.[89]* | [4-9].* | [1-9][0-9]*)
+ [4-9].* | [1-9][0-9]*)
ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
*) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
@@ -4992,6 +5042,69 @@ if test $ac_verc_fail = yes; then
critic_missing="$critic_missing gawk"
fi
+for ac_prog in bison
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_BISON+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$BISON"; then
+ ac_cv_prog_BISON="$BISON" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_BISON="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+BISON=$ac_cv_prog_BISON
+if test -n "$BISON"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BISON" >&5
+$as_echo "$BISON" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$BISON" && break
+done
+
+if test -z "$BISON"; then
+ ac_verc_fail=yes
+else
+ # Found it, now check the version.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking version of $BISON" >&5
+$as_echo_n "checking version of $BISON... " >&6; }
+ ac_prog_version=`$BISON --version 2>&1 | sed -n 's/^.*bison (GNU Bison) \([0-9]*\.[0-9.]*\).*$/\1/p'`
+ case $ac_prog_version in
+ '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
+ 2.7*|[3-9].*|[1-9][0-9]*)
+ ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
+ *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
+
+ esac
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_prog_version" >&5
+$as_echo "$ac_prog_version" >&6; }
+fi
+if test $ac_verc_fail = yes; then
+ critic_missing="$critic_missing bison"
+fi
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC is sufficient to build libc" >&5
$as_echo_n "checking if $CC is sufficient to build libc... " >&6; }
@@ -5006,7 +5119,7 @@ int
main ()
{
-#if !defined __GNUC__ || __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 7)
+#if !defined __GNUC__ || __GNUC__ < 6 || (__GNUC__ == 6 && __GNUC_MINOR__ < 2)
#error insufficient compiler
#endif
;
@@ -5231,20 +5344,31 @@ fi
test -n "$PYTHON_PROG" && break
done
-test -n "$PYTHON_PROG" || PYTHON_PROG="no"
-
-case "x$PYTHON_PROG" in
-xno|x|x:) PYTHON_PROG=no ;;
-*) ;;
-esac
-if test "x$PYTHON_PROG" = xno; then
- aux_missing="$aux_missing python"
+if test -z "$PYTHON_PROG"; then
+ ac_verc_fail=yes
else
- PYTHON="$PYTHON_PROG -B"
+ # Found it, now check the version.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking version of $PYTHON_PROG" >&5
+$as_echo_n "checking version of $PYTHON_PROG... " >&6; }
+ ac_prog_version=`$PYTHON_PROG --version 2>&1 | sed -n 's/^.*Python \([0-9][0-9.]*\).*$/\1/p'`
+ case $ac_prog_version in
+ '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
+ 3.[4-9]*|3.[1-9][0-9]*|[4-9].*|[1-9][0-9]*)
+ ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
+ *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
+ esac
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_prog_version" >&5
+$as_echo "$ac_prog_version" >&6; }
+fi
+if test $ac_verc_fail = yes; then
+ critic_missing="$critic_missing python"
fi
+PYTHON="$PYTHON_PROG -B"
+
+
test -n "$critic_missing" && as_fn_error $? "
*** These critical programs are missing or too old:$critic_missing
*** Check the INSTALL file for required versions." "$LINENO" 5
@@ -5285,14 +5409,17 @@ fi
# copy of those headers in Makerules.
if test -n "$CXX"; then
find_cxx_header () {
- echo "#include <$1>" | $CXX -M -MP -x c++ - | sed -n "/$1:/{s/:\$//;p}"
+ echo "#include <$1>" | $CXX -M -MP -x c++ - 2>/dev/null \
+ | sed -n "\,$1:,{s/:\$//;p}"
}
CXX_CSTDLIB_HEADER="$(find_cxx_header cstdlib)"
CXX_CMATH_HEADER="$(find_cxx_header cmath)"
+ CXX_BITS_STD_ABS_H="$(find_cxx_header bits/std_abs.h)"
fi
+
# Test if LD_LIBRARY_PATH contains the notation for the current directory
# since this would lead to problems installing/building glibc.
# LD_LIBRARY_PATH contains the current directory if one of the following
@@ -5448,69 +5575,6 @@ $as_echo "no" >&6; }
fi
-for ac_prog in bison
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_BISON+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$BISON"; then
- ac_cv_prog_BISON="$BISON" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_BISON="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-BISON=$ac_cv_prog_BISON
-if test -n "$BISON"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BISON" >&5
-$as_echo "$BISON" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$BISON" && break
-done
-
-if test -z "$BISON"; then
- ac_verc_fail=yes
-else
- # Found it, now check the version.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking version of $BISON" >&5
-$as_echo_n "checking version of $BISON... " >&6; }
- ac_prog_version=`$BISON --version 2>&1 | sed -n 's/^.*bison (GNU Bison) \([0-9]*\.[0-9.]*\).*$/\1/p'`
- case $ac_prog_version in
- '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
- 2.7*|[3-9].*|[1-9][0-9]*)
- ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
- *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
-
- esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_prog_version" >&5
-$as_echo "$ac_prog_version" >&6; }
-fi
-if test $ac_verc_fail = yes; then
- BISON=no
-fi
-
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for .set assembler directive" >&5
$as_echo_n "checking for .set assembler directive... " >&6; }
@@ -5530,7 +5594,7 @@ extern int glibc_conftest_frobozz;
void _start() { glibc_conftest_frobozz = 1; }
EOF
if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \
- -nostartfiles -nostdlib \
+ -nostartfiles -nostdlib $no_ssp \
-o conftest conftest.s conftest1.c 1>&5 2>&5; then
libc_cv_asm_set_directive=yes
else
@@ -5554,7 +5618,7 @@ else
int bar __attribute__ ((visibility ("protected"))) = 1;
EOF
libc_cv_protected_data=no
- if { ac_try='${CC-cc} -nostdlib -nostartfiles -fPIC -shared conftest.c -o conftest.so'
+ if { ac_try='${CC-cc} -nostdlib -nostartfiles $no_ssp -fPIC -shared conftest.c -o conftest.so'
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -5564,7 +5628,7 @@ EOF
extern int bar;
int main (void) { return bar; }
EOF
- if { ac_try='${CC-cc} -nostdlib -nostartfiles conftest.c -o conftest conftest.so'
+ if { ac_try='${CC-cc} -nostdlib -nostartfiles $no_ssp conftest.c -o conftest conftest.so'
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -5580,6 +5644,38 @@ fi
$as_echo "$libc_cv_protected_data" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking linker support for INSERT in linker script" >&5
+$as_echo_n "checking linker support for INSERT in linker script... " >&6; }
+if ${libc_cv_insert+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat > conftest.c < conftest.t <&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }; then
+ libc_cv_insert=yes
+ fi
+ rm -f conftest.*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_insert" >&5
+$as_echo "$libc_cv_insert" >&6; }
+
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for broken __attribute__((alias()))" >&5
$as_echo_n "checking for broken __attribute__((alias()))... " >&6; }
if ${libc_cv_broken_alias_attribute+:} false; then :
@@ -5649,7 +5745,7 @@ __attribute__ ((constructor)) void ctor (void) { asm (""); }
__attribute__ ((destructor)) void dtor (void) { asm (""); }
EOF
-if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -o conftest
+if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS $no_ssp -o conftest
conftest.c -static -nostartfiles -nostdlib
1>&5'
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
@@ -5762,7 +5858,7 @@ extern int mumble;
int foo (void) { return bar (mumble); }
EOF
if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
- -fPIC -shared -o conftest.so conftest.c
+ -fPIC -shared $no_ssp -o conftest.so conftest.c
-nostdlib -nostartfiles
-Wl,-z,combreloc 1>&5'
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
@@ -5771,7 +5867,7 @@ if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }
then
- if $READELF -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then
+ if $READELF -S conftest.so | grep -E '.rela?.dyn' > /dev/null; then
libc_cv_z_combreloc=yes
else
libc_cv_z_combreloc=no
@@ -5798,7 +5894,7 @@ if test x"$gnu_ld" = x"yes"; then
cat > conftest.c <&5'
@@ -5822,6 +5918,62 @@ fi
$as_echo "$libc_linker_feature" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for linker that supports --no-dynamic-linker" >&5
+$as_echo_n "checking for linker that supports --no-dynamic-linker... " >&6; }
+libc_linker_feature=no
+if test x"$gnu_ld" = x"yes"; then
+ libc_linker_check=`$LD -v --help 2>/dev/null | grep "\--no-dynamic-linker"`
+ if test -n "$libc_linker_check"; then
+ cat > conftest.c <&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }
+ then
+ libc_linker_feature=yes
+ fi
+ rm -f conftest*
+ fi
+fi
+if test $libc_linker_feature = yes; then
+ libc_cv_no_dynamic_linker=yes
+else
+ libc_cv_no_dynamic_linker=no
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_linker_feature" >&5
+$as_echo "$libc_linker_feature" >&6; }
+config_vars="$config_vars
+have-no-dynamic-linker = $libc_cv_no_dynamic_linker"
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -static-pie" >&5
+$as_echo_n "checking for -static-pie... " >&6; }
+if ${libc_cv_static_pie+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if { ac_try='${CC-cc} -static-pie -xc /dev/null -S -o /dev/null'
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }; then :
+ libc_cv_static_pie=yes
+else
+ libc_cv_static_pie=no
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_static_pie" >&5
+$as_echo "$libc_cv_static_pie" >&6; }
+config_vars="$config_vars
+have-static-pie = $libc_cv_static_pie"
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -fpie" >&5
$as_echo_n "checking for -fpie... " >&6; }
if ${libc_cv_fpie+:} false; then :
@@ -5852,7 +6004,7 @@ else
cat > conftest.c <&5'
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
@@ -5945,7 +6097,7 @@ int foo (void) { return mumble; }
EOF
if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
-fPIC -shared -o conftest.so conftest.c
- -nostdlib -nostartfiles
+ -nostdlib -nostartfiles $no_ssp
1>&5'
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
(eval $ac_try) 2>&5
@@ -5973,7 +6125,7 @@ if ${libc_cv_output_format+:} false; then :
$as_echo_n "(cached) " >&6
else
if libc_cv_output_format=`
-${CC-cc} -nostartfiles -nostdlib -Wl,--print-output-format 2>&5`
+${CC-cc} -nostartfiles -nostdlib $no_ssp -Wl,--print-output-format 2>&5`
then
:
else
@@ -6087,7 +6239,7 @@ void zero (void *x)
__builtin_memset (x, 0, 1000);
}
EOF
-if { ac_try='${CC-cc} -O3 -S conftest.c -o - | fgrep "memset" > /dev/null'
+if { ac_try='${CC-cc} -O3 -S conftest.c -o - | grep -F "memset" > /dev/null'
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -6119,7 +6271,7 @@ char *foo (const char *a, const char *b)
return __builtin_strstr (a, b);
}
EOF
-if { ac_try='${CC-cc} -O3 -S conftest.c -o - | fgrep "my_strstr" > /dev/null'
+if { ac_try='${CC-cc} -O3 -S conftest.c -o - | grep -F "my_strstr" > /dev/null'
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -6451,60 +6603,6 @@ if test $libc_cv_predef_fortify_source = yes; then
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC implicitly enables -fstack-protector" >&5
-$as_echo_n "checking whether $CC implicitly enables -fstack-protector... " >&6; }
-if ${libc_cv_predef_stack_protector+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-extern void foobar (char *);
-int
-main ()
-{
-char large_array[2048]; foobar (large_array);
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-libc_undefs=`$NM -u conftest.o |
- LC_ALL=C $AWK '$1 == "U" { print $2 | "sort -u"; next } { exit(1) }' \
- 2>&5` || {
- as_fn_error $? "confusing output from $NM -u" "$LINENO" 5
-}
-echo >&5 "libc_undefs='$libc_undefs'"
-# On some architectures, there are architecture-specific undefined
-# symbols (resolved by the linker), so filter out unknown symbols.
-# This will fail to produce the correct result if the compiler
-# defaults to -fstack-protector but this produces an undefined symbol
-# other than __stack_chk_fail or __stack_chk_fail_local. However,
-# compilers like that have not been encountered in practice.
-libc_undefs=`echo "$libc_undefs" | \
- egrep '^(foobar|__stack_chk_fail|__stack_chk_fail_local)$'`
-case "$libc_undefs" in
-foobar) libc_cv_predef_stack_protector=no ;;
-'__stack_chk_fail
-foobar'|'__stack_chk_fail_local
-foobar') libc_cv_predef_stack_protector=yes ;;
-*) as_fn_error $? "unexpected symbols in test: $libc_undefs" "$LINENO" 5 ;;
-esac
-else
- as_fn_error $? "test compilation failed" "$LINENO" 5
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_predef_stack_protector" >&5
-$as_echo "$libc_cv_predef_stack_protector" >&6; }
-libc_extra_cflags=
-if test $libc_cv_predef_stack_protector = yes; then
- libc_extra_cflags="$libc_extra_cflags -fno-stack-protector"
-fi
-libc_extra_cppflags=
-
# Some linkers on some architectures support __ehdr_start but with
# bugs. Make sure usage of it does not create relocations in the
# output (as the linker should resolve them all for us).
@@ -6518,7 +6616,7 @@ old_CFLAGS="$CFLAGS"
old_LDFLAGS="$LDFLAGS"
old_LIBS="$LIBS"
CFLAGS="$CFLAGS -fPIC"
-LDFLAGS="$LDFLAGS -nostdlib -nostartfiles -shared"
+LDFLAGS="$LDFLAGS -nostdlib -nostartfiles -shared $no_ssp"
LIBS=
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -6532,7 +6630,7 @@ long ehdr (void) { return __ehdr_start.val; }
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
- if $READELF -r conftest | fgrep __ehdr_start >/dev/null; then
+ if $READELF -r conftest | grep -F __ehdr_start >/dev/null; then
libc_cv_ehdr_start=broken
else
libc_cv_ehdr_start=yes
@@ -6696,6 +6794,8 @@ if test x"$libc_cv_ld_gnu_indirect_function" = xyes; then
$as_echo "#define HAVE_IFUNC 1" >>confdefs.h
fi
+config_vars="$config_vars
+have-ifunc = $libc_cv_ld_gnu_indirect_function"
if test x"$libc_cv_gcc_indirect_function" = xyes; then
$as_echo "#define HAVE_GCC_IFUNC 1" >>confdefs.h
@@ -6752,23 +6852,43 @@ $as_echo "$libc_cv_pic_default" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -fPIE is default" >&5
$as_echo_n "checking whether -fPIE is default... " >&6; }
-if ${libc_cv_pie_default+:} false; then :
+if ${libc_cv_cc_pie_default+:} false; then :
$as_echo_n "(cached) " >&6
else
- libc_cv_pie_default=yes
+ libc_cv_cc_pie_default=yes
cat > conftest.c <&5 1>&5"; then
- libc_cv_pie_default=no
+ libc_cv_cc_pie_default=no
fi
rm -f conftest.*
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_pie_default" >&5
-$as_echo "$libc_cv_pie_default" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_cc_pie_default" >&5
+$as_echo "$libc_cv_cc_pie_default" >&6; }
+libc_cv_pie_default=$libc_cv_cc_pie_default
+
+
+# Set the `multidir' variable by grabbing the variable from the compiler.
+# We do it once and save the result in a generated makefile.
+libc_cv_multidir=`${CC-cc} $CFLAGS $CPPFLAGS -print-multi-directory`
+
+
+if test "$static_pie" = yes; then
+ # The linker must support --no-dynamic-linker.
+ if test "$libc_cv_no_dynamic_linker" != yes; then
+ as_fn_error $? "linker support for --no-dynamic-linker needed" "$LINENO" 5
+ fi
+ # Default to PIE.
+ libc_cv_pie_default=yes
+ $as_echo "#define ENABLE_STATIC_PIE 1" >>confdefs.h
+
+fi
+config_vars="$config_vars
+enable-static-pie = $static_pie"
@@ -7352,7 +7472,7 @@ $config_headers
Configuration commands:
$config_commands
-Report bugs to .
+Report bugs to .
GNU C Library home page: .
General help using GNU software: ."