X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=configure;h=7c5acce6bc56e23a97f950ca5f8f53f541e39235;hb=bec039bcefe6a0494a249e2b78e112a0ab60893b;hp=936dbf1a0a2a767dcd695ac2d5546fb6d33f2c7e;hpb=1b74661a6b93a892ecb1c717dedeedba5c2a976c;p=platform%2Fupstream%2Fglibc.git diff --git a/configure b/configure index 936dbf1..7c5acce 100755 --- a/configure +++ b/configure @@ -1,9 +1,8 @@ #! /bin/sh -# From configure.in CVSid. # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.68 for GNU C Library (see version.h). # -# Report bugs to . +# Report bugs to . # # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@ -239,8 +238,9 @@ fi $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" $as_echo "$0: be upgraded to zsh 4.3.4 or later." else - $as_echo "$0: Please tell bug-autoconf@gnu.org and glibc about your -$0: system, including any error possibly output before this + $as_echo "$0: Please tell bug-autoconf@gnu.org and +$0: http://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." fi @@ -559,11 +559,11 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='GNU C Library' -PACKAGE_TARNAME='c-library' +PACKAGE_TARNAME='glibc' PACKAGE_VERSION='(see version.h)' PACKAGE_STRING='GNU C Library (see version.h)' -PACKAGE_BUGREPORT='glibc' -PACKAGE_URL='http://www.gnu.org/software/c-library/' +PACKAGE_BUGREPORT='http://sourceware.org/bugzilla/' +PACKAGE_URL='http://www.gnu.org/software/glibc/' ac_unique_file="include/features.h" enable_option_checking=no @@ -609,20 +609,17 @@ RELEASE VERSION mach_interface_list DEFINES -nopic_initfini static_nss -bounded -omitfp profile libc_cv_pic_default shared static -xcoff -elf ldd_rewrite_script use_ldconfig libc_cv_as_i686 +libc_cv_cc_fma4 libc_cv_cc_novzeroupper +libc_cv_cc_sse2avx libc_cv_cc_avx libc_cv_cc_sse4 libc_cv_cpp_asm_debuginfo @@ -642,11 +639,10 @@ have_libaudit LIBGD libc_cv_cc_submachine exceptions -no_whole_archive -libc_cv_have_initfini gnu89_inline libc_cv_ssp fno_unit_at_a_time +libc_cv_output_format libc_cv_hashstyle libc_cv_fpie libc_cv_z_execstack @@ -669,11 +665,11 @@ libc_cv_gcc_static_libgcc CXX_SYSINCLUDES SYSINCLUDES AUTOCONF +READELF SED MAKEINFO MSGFMT MAKE -PWD_P LD AS MIG @@ -698,7 +694,6 @@ bindnow oldest_abi enable_check_abi use_default_link -with_cvs with_fp ac_ct_CXX CXXFLAGS @@ -767,24 +762,17 @@ with_gd_include with_gd_lib with_fp with_binutils -with_elf with_selinux -with_xcoff -with_cvs with_headers with_default_link enable_sanity_checks enable_check_abi enable_shared enable_profile -enable_omitfp -enable_bounded enable_versioning enable_oldest_abi enable_stackguard_randomization enable_add_ons -with_tls -with___thread enable_hidden_plt enable_bind_now enable_static_nss @@ -1398,7 +1386,7 @@ Fine tuning of the installation directories: --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] - --docdir=DIR documentation root [DATAROOTDIR/doc/c-library] + --docdir=DIR documentation root [DATAROOTDIR/doc/glibc] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] @@ -1427,10 +1415,8 @@ Optional Features: in special situations) [default=yes] --enable-check-abi do "make check-abi" in "make check" (no/warn/yes) [default=no] - --enable-shared build shared library [default=yes if GNU ld & ELF] + --enable-shared build shared library [default=yes if GNU ld] --enable-profile build profiled library [default=no] - --enable-omitfp build undebuggable optimized library [default=no] - --enable-bounded build with runtime bounds checking [default=no] --disable-versioning do not include versioning information in the library objects [default=yes if supported] --enable-oldest-abi=ABI configure the oldest ABI supported [e.g. 2.2] @@ -1461,15 +1447,10 @@ Optional Packages: --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-elf if using the ELF object format --with-selinux if building with SELinux support - --with-xcoff if using the XCOFF object format - --without-cvs if CVS should not be used --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 [default=no] - --with-tls enable support for TLS - --without-__thread do not use TLS features even when supporting them + --with-default-link do not use explicit linker scripts --with-cpu=CPU select code for CPU variant Some influential environment variables: @@ -1487,8 +1468,8 @@ 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 . -GNU C Library home page: . +Report bugs to . +GNU C Library home page: . General help using GNU software: . _ACEOF ac_status=$? @@ -3537,14 +3518,6 @@ else fi -# Check whether --with-elf was given. -if test "${with_elf+set}" = set; then : - withval=$with_elf; elf=$withval -else - elf=no -fi - - # Check whether --with-selinux was given. if test "${with_selinux+set}" = set; then : withval=$with_selinux; with_selinux=$withval @@ -3553,29 +3526,6 @@ else fi -# Check whether --with-xcoff was given. -if test "${with_xcoff+set}" = set; then : - withval=$with_xcoff; xcoff=$withval -else - xcoff=no -fi - - -# Check whether --with-cvs was given. -if test "${with_cvs+set}" = set; then : - withval=$with_cvs; with_cvs=$withval -else - with_cvs=yes -fi - -if test "$with_cvs" = yes; then - if test -d $srcdir/CVS && grep :pserver: $srcdir/CVS/Root > /dev/null - then - with_cvs=no - fi -fi - - # Check whether --with-headers was given. if test "${with_headers+set}" = set; then : @@ -3591,7 +3541,7 @@ fi if test "${with_default_link+set}" = set; then : withval=$with_default_link; use_default_link=$withval else - use_default_link=no + use_default_link=default fi @@ -3612,12 +3562,11 @@ else fi -static=yes # Check whether --enable-shared was given. if test "${enable_shared+set}" = set; then : enableval=$enable_shared; shared=$enableval else - shared=default + shared=yes fi # Check whether --enable-profile was given. @@ -3627,20 +3576,6 @@ else profile=no fi -# Check whether --enable-omitfp was given. -if test "${enable_omitfp+set}" = set; then : - enableval=$enable_omitfp; omitfp=$enableval -else - omitfp=no -fi - -# Check whether --enable-bounded was given. -if test "${enable_bounded+set}" = set; then : - enableval=$enable_bounded; bounded=$enableval -else - bounded=no -fi - # Check whether --enable-versioning was given. if test "${enable_versioning+set}" = set; then : enableval=$enable_versioning; enable_versioning=$enableval @@ -3686,24 +3621,6 @@ else fi - -# Check whether --with-tls was given. -if test "${with_tls+set}" = set; then : - withval=$with_tls; usetls=$withval -else - usetls=yes -fi - - - -# Check whether --with-__thread was given. -if test "${with___thread+set}" = set; then : - withval=$with___thread; use__thread=$withval -else - use__thread=yes -fi - - # Check whether --enable-hidden-plt was given. if test "${enable_hidden_plt+set}" = set; then : enableval=$enable_hidden_plt; hidden=$enableval @@ -3865,20 +3782,7 @@ test "$config_vendor" = unknown && config_vendor= config_os="`echo $config_os | sed 's/^unknown-//'`" # Some configurations imply other options. -case "$host_os" in -# i586-linuxaout is mangled into i586-pc-linux-gnuaout -linux*ecoff* | linux*aout* | gnu*aout* | gnu*ecoff*) - ;; -gnu* | linux* | freebsd* | netbsd* | sysv4* | solaris2* | irix6*) - # These systems (almost) always use the ELF format. - elf=yes - ;; -aix*) - # These systems are always xcoff - xcoff=yes - elf=no - ;; -esac +elf=yes # The configure fragment of an add-on port can modify these to supplement # or override the table in the case statement below. No fragment should @@ -4065,7 +3969,7 @@ fi ### if test -z "$enable_hacker_mode" && test x"$libc_config_ok" != xyes; then case "$machine-$host_os" in - *-linux* | *-gnu* | arm*-none* | powerpc-aix4.3.*) + *-linux* | *-gnu* | arm*-none*) ;; *) echo "*** The GNU C library is currently not available for this platform." @@ -4083,13 +3987,7 @@ fi # type and particular chip. If an add-on configure fragment already set # base_machine, we don't change it. test -n "$base_machine" || case "$machine" in -a29k | am29000) base_machine=a29k machine=a29k ;; -c3[012]) base_machine=cx0 machine=cx0/c30 ;; -c4[04]) base_machine=cx0 machine=cx0/c40 ;; i[34567]86) base_machine=i386 machine=i386/$machine ;; -ia64) base_machine=ia64 machine=ia64 ;; -m88???) base_machine=m88k machine=m88k/$machine ;; -m88k) base_machine=m88k machine=m88k/m88100 ;; powerpc) base_machine=powerpc machine=powerpc/powerpc32 ;; powerpc64) base_machine=powerpc machine=powerpc/powerpc64 ;; s390) base_machine=s390 machine=s390/s390-32 ;; @@ -4244,7 +4142,7 @@ _ACEOF fi -if test x"$libc_cv_asm_gnu_indirect_function" != xyes -a x"$libc_cv_asm_type_prefix" = xno; then +if test x"$libc_cv_asm_gnu_indirect_function" != xyes -o x"$libc_cv_asm_type_prefix" = xno; then if test x"$multi_arch" = xyes; then as_fn_error $? "--enable-multi-arch support requires assembler and linker support" "$LINENO" 5 else @@ -4276,10 +4174,6 @@ irix6*) base_os=unix/sysv/irix6/$os ;; solaris[2-9]*) base_os=unix/sysv/sysv4 ;; -hpux*) - base_os=unix/sysv/hpux/$os ;; -aix4.3*) - base_os=unix/sysv/aix/aix4.3 ;; none) base_os=standalone ;; esac @@ -4398,22 +4292,20 @@ fi # We have now validated the configuration. -# If using ELF, look for an `elf' subdirectory of each machine directory. +# Look for an `elf' subdirectory of each machine directory. # We prepend these rather than inserting them whereever the machine appears # because things specified by the machine's ELF ABI should override # OS-specific things, and should always be the same for any OS on the # machine (otherwise what's the point of an ABI?). -if test "$elf" = yes; then - elf_dirs= - for d in $add_ons_pfx ''; do - for m in $mach; do - if test -d $srcdir/${d}sysdeps$m/elf; then - elf_dirs="$elf_dirs ${d}sysdeps$m/elf" - fi - done +elf_dirs= +for d in $add_ons_pfx ''; do + for m in $mach; do + if test -d $srcdir/${d}sysdeps$m/elf; then + elf_dirs="$elf_dirs ${d}sysdeps$m/elf" + fi done - sysnames="`echo $elf_dirs | sed -e 's,//,/,g'` $sysnames" -fi +done +sysnames="`echo $elf_dirs | sed -e 's,//,/,g'` $sysnames" # Expand the list of system names into a full list of directories @@ -4496,10 +4388,7 @@ $as_echo "$as_me: WARNING: $name/Implies specifies nonexistent $x" >&2;} done # Add the default directories. -default_sysnames=sysdeps/generic -if test "$elf" = yes; then - default_sysnames="sysdeps/generic/elf $default_sysnames" -fi +default_sysnames="sysdeps/generic/elf sysdeps/generic" sysnames="$names $default_sysnames" # The other names were emitted during the scan. @@ -4729,7 +4618,7 @@ $as_echo "$libc_cv_prog_ld_gnu" >&6; } gnu_ld=$libc_cv_prog_ld_gnu -# Accept binutils 2.13 or newer. +# Accept binutils 2.20 or newer. for ac_prog in $AS do # Extract the first word of "$ac_prog", so it can be a program name with args. @@ -4781,7 +4670,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[3-9]*|2.1[0-9][0-9]*|2.[2-9][0-9]*|[3-9].*|[1-9][0-9]*) + 2.1[0-9][0-9]*|2.[2-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;; @@ -4844,7 +4733,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[3-9]*|2.1[0-9][0-9]*|2.[2-9][0-9]*|[3-9].*|[1-9][0-9]*) + 2.1[0-9][0-9]*|2.[2-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;; @@ -4857,56 +4746,6 @@ if test $ac_verc_fail = yes; then fi -# We need the physical current working directory. We cannot use the -# "pwd -P" shell builtin since that's not portable. Instead we try to -# find a pwd binary. Note that assigning to the PWD environment -# variable might have some interesting side effects, so we don't do -# that. -# Extract the first word of "pwd", so it can be a program name with args. -set dummy pwd; 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_path_PWD_P+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $PWD_P in - [\\/]* | ?:[\\/]*) - ac_cv_path_PWD_P="$PWD_P" # Let the user override the test with a path. - ;; - *) - 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_path_PWD_P="$as_dir/$ac_word$ac_exec_ext" - $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 - - test -z "$ac_cv_path_PWD_P" && ac_cv_path_PWD_P="no" - ;; -esac -fi -PWD_P=$ac_cv_path_PWD_P -if test -n "$PWD_P"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PWD_P" >&5 -$as_echo "$PWD_P" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -if test "$PWD_P" = no; then - as_fn_error $? "*** A pwd binary could not be found." "$LINENO" 5 -fi - # These programs are version sensitive. for ac_prog in ${ac_tool_prefix}gcc ${ac_tool_prefix}cc @@ -4960,7 +4799,7 @@ $as_echo_n "checking version of $CC... " >&6; } ac_prog_version=`$CC -v 2>&1 | sed -n 's/^.*version \([egcygnustpi-]*[0-9.]*\).*$/\1/p'` case $ac_prog_version in '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; - 3.4* | 4.[0-9]* ) + 4.[3-9].* | 4.[1-9][0-9].* | [5-9].* ) ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; @@ -5226,6 +5065,99 @@ if test $ac_verc_fail = yes; then fi +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}readelf", so it can be a program name with args. +set dummy ${ac_tool_prefix}readelf; 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_READELF+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$READELF"; then + ac_cv_prog_READELF="$READELF" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_READELF="${ac_tool_prefix}readelf" + $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 +READELF=$ac_cv_prog_READELF +if test -n "$READELF"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $READELF" >&5 +$as_echo "$READELF" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_READELF"; then + ac_ct_READELF=$READELF + # Extract the first word of "readelf", so it can be a program name with args. +set dummy readelf; 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_ac_ct_READELF+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_READELF"; then + ac_cv_prog_ac_ct_READELF="$ac_ct_READELF" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_READELF="readelf" + $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 +ac_ct_READELF=$ac_cv_prog_ac_ct_READELF +if test -n "$ac_ct_READELF"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_READELF" >&5 +$as_echo "$ac_ct_READELF" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_READELF" = x; then + READELF="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + READELF=$ac_ct_READELF + fi +else + READELF="$ac_cv_prog_READELF" +fi + + for ac_prog in autoconf do # Extract the first word of "$ac_prog", so it can be a program name with args. @@ -5288,8 +5220,7 @@ $as_echo "$libc_cv_autoconf_works" >&6; } test $libc_cv_autoconf_works = yes || AUTOCONF=no ;; esac -if test "x$with_cvs" = xyes && test "x$AUTOCONF" = xno; then - # If --without-cvs they probably won't change configure.in, so no complaints. +if test "x$AUTOCONF" = xno; then aux_missing="$aux_missing autoconf" fi @@ -5318,19 +5249,21 @@ if test -n "$sysheaders"; then SYSINCLUDES="$SYSINCLUDES \ -isystem `echo $sysheaders | sed 's/:/ -isystem /g'`" if test -n "$CXX"; then + CXX_SYSINCLUDES= cxxversion=`$CXX -dumpversion 2>&5` && cxxmachine=`$CXX -dumpmachine 2>&5` && - cxxheaders=`$CXX -print-file-name=../../../../include/c++/`"$cxxversion" && - CXX_SYSINCLUDES="-isystem $cxxheaders \ + for d in include "$cxxmachine/include"; do + i=../../../../$d/c++/$cxxversion + cxxheaders=`$CXX -print-file-name="$i"` && + test "x$cxxheaders" != x && test "x$i" != "x$cxxheaders" && + CXX_SYSINCLUDES="$CXX_SYSINCLUDES -isystem $cxxheaders \ -isystem $cxxheaders/$cxxmachine -isystem $cxxheaders/backward" + done fi fi -# ranlib is never necessary on Linux and Hurd systems -RANLIB=: - # 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 @@ -5648,30 +5581,6 @@ fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for signed size_t type" >&5 -$as_echo_n "checking for signed size_t type... " >&6; } -if ${libc_cv_signed_size_t+:} false; then : - $as_echo_n "(cached) " >&6 -else - echo '#include -FOOBAR __SIZE_TYPE__ FOOBAR' > conftest.c -if eval "$ac_cpp conftest.c 2>/dev/null" \ -| grep '^FOOBAR.*unsigned.*FOOBAR$' >/dev/null; then - libc_cv_signed_size_t=no -else - libc_cv_signed_size_t=yes -fi -rm -f conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_signed_size_t" >&5 -$as_echo "$libc_cv_signed_size_t" >&6; } -if test $libc_cv_signed_size_t = yes; then - cat >> confdefs.h <<\EOF -#undef __SIZE_TYPE__ -#define __SIZE_TYPE__ unsigned -EOF -fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libc-friendly stddef.h" >&5 $as_echo_n "checking for libc-friendly stddef.h... " >&6; } if ${libc_cv_friendly_stddef+:} false; then : @@ -5872,97 +5781,96 @@ else fi -if test $elf = yes && test $shared != no && test $VERSIONING = no; then +if test $shared != no && test $VERSIONING = no; then echo "\ *** WARNING: You should not compile GNU libc without versioning. Not using *** versioning will introduce incompatibilities so that old binaries *** will not run anymore. *** For versioning you need recent binutils (binutils-2.8.1.0.23 or newer)." fi -if test $elf = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for .previous assembler directive" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for .previous assembler directive" >&5 $as_echo_n "checking for .previous assembler directive... " >&6; } if ${libc_cv_asm_previous_directive+:} false; then : $as_echo_n "(cached) " >&6 else - cat > conftest.s < 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_asm_previous_directive=yes - else - libc_cv_asm_previous_directive=no - fi - rm -f conftest* + libc_cv_asm_previous_directive=yes +else + libc_cv_asm_previous_directive=no +fi +rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_previous_directive" >&5 $as_echo "$libc_cv_asm_previous_directive" >&6; } - if test $libc_cv_asm_previous_directive = yes; then - $as_echo "#define HAVE_ASM_PREVIOUS_DIRECTIVE 1" >>confdefs.h +if test $libc_cv_asm_previous_directive = yes; then + $as_echo "#define HAVE_ASM_PREVIOUS_DIRECTIVE 1" >>confdefs.h - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for .popsection assembler directive" >&5 +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for .popsection assembler directive" >&5 $as_echo_n "checking for .popsection assembler directive... " >&6; } if ${libc_cv_asm_popsection_directive+:} false; then : $as_echo_n "(cached) " >&6 else - cat > conftest.s < 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_asm_popsection_directive=yes - else - libc_cv_asm_popsection_directive=no - fi - rm -f conftest* + libc_cv_asm_popsection_directive=yes + else + libc_cv_asm_popsection_directive=no + fi + rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_popsection_directive" >&5 $as_echo "$libc_cv_asm_popsection_directive" >&6; } - if test $libc_cv_asm_popsection_directive = yes; then - $as_echo "#define HAVE_ASM_POPSECTION_DIRECTIVE 1" >>confdefs.h + if test $libc_cv_asm_popsection_directive = yes; then + $as_echo "#define HAVE_ASM_POPSECTION_DIRECTIVE 1" >>confdefs.h - fi fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for .protected and .hidden assembler directive" >&5 +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for .protected and .hidden assembler directive" >&5 $as_echo_n "checking for .protected and .hidden assembler directive... " >&6; } if ${libc_cv_asm_protected_directive+:} false; then : $as_echo_n "(cached) " >&6 else - cat > conftest.s < 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_asm_protected_directive=yes - else - as_fn_error $? "assembler support for symbol visibility is required" "$LINENO" 5 - fi - rm -f conftest* + libc_cv_asm_protected_directive=yes +else + as_fn_error $? "assembler support for symbol visibility is required" "$LINENO" 5 +fi +rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_protected_directive" >&5 $as_echo "$libc_cv_asm_protected_directive" >&6; } - if test $libc_cv_asm_protected_directive = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether __attribute__((visibility())) is supported" >&5 +if test $libc_cv_asm_protected_directive = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether __attribute__((visibility())) is supported" >&5 $as_echo_n "checking whether __attribute__((visibility())) is supported... " >&6; } if ${libc_cv_visibility_attribute+:} false; then : $as_echo_n "(cached) " >&6 @@ -5989,13 +5897,13 @@ EOF fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_visibility_attribute" >&5 $as_echo "$libc_cv_visibility_attribute" >&6; } - if test $libc_cv_visibility_attribute != yes; then - as_fn_error $? "compiler support for visibility attribute is required" "$LINENO" 5 - fi + if test $libc_cv_visibility_attribute != yes; then + as_fn_error $? "compiler support for visibility attribute is required" "$LINENO" 5 fi +fi - if test $libc_cv_visibility_attribute = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for broken __attribute__((visibility()))" >&5 +if test $libc_cv_visibility_attribute = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for broken __attribute__((visibility()))" >&5 $as_echo_n "checking for broken __attribute__((visibility()))... " >&6; } if ${libc_cv_broken_visibility_attribute+:} false; then : $as_echo_n "(cached) " >&6 @@ -6021,47 +5929,47 @@ EOF fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_broken_visibility_attribute" >&5 $as_echo "$libc_cv_broken_visibility_attribute" >&6; } - if test $libc_cv_broken_visibility_attribute = yes; then - as_fn_error $? "working compiler support for visibility attribute is required" "$LINENO" 5 - fi + if test $libc_cv_broken_visibility_attribute = yes; then + as_fn_error $? "working compiler support for visibility attribute is required" "$LINENO" 5 fi +fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for broken __attribute__((alias()))" >&5 +{ $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 : $as_echo_n "(cached) " >&6 else 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 - if grep 'xyzzy' conftest.s >/dev/null && - grep 'abccb' conftest.s >/dev/null; then - libc_cv_broken_alias_attribute=no - fi - fi - rm -f conftest.c conftest.s + if grep 'xyzzy' conftest.s >/dev/null && + grep 'abccb' conftest.s >/dev/null; then + libc_cv_broken_alias_attribute=no + fi + fi + rm -f conftest.c conftest.s fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_broken_alias_attribute" >&5 $as_echo "$libc_cv_broken_alias_attribute" >&6; } - if test $libc_cv_broken_alias_attribute = yes; then - as_fn_error $? "working alias attribute support required" "$LINENO" 5 - fi +if test $libc_cv_broken_alias_attribute = yes; then + as_fn_error $? "working alias attribute support required" "$LINENO" 5 +fi - if test $libc_cv_visibility_attribute = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to put _rtld_local into .sdata section" >&5 +if test $libc_cv_visibility_attribute = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to put _rtld_local into .sdata section" >&5 $as_echo_n "checking whether to put _rtld_local into .sdata section... " >&6; } if ${libc_cv_have_sdata_section+:} false; then : $as_echo_n "(cached) " >&6 @@ -6077,132 +5985,161 @@ else fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_have_sdata_section" >&5 $as_echo "$libc_cv_have_sdata_section" >&6; } - if test $libc_cv_have_sdata_section = yes; then - $as_echo "#define HAVE_SDATA_SECTION 1" >>confdefs.h + if test $libc_cv_have_sdata_section = yes; then + $as_echo "#define HAVE_SDATA_SECTION 1" >>confdefs.h - fi fi +fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for .preinit_array/.init_array/.fini_array support" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for .preinit_array/.init_array/.fini_array support" >&5 $as_echo_n "checking for .preinit_array/.init_array/.fini_array support... " >&6; } if ${libc_cv_initfini_array+:} false; then : $as_echo_n "(cached) " >&6 else - cat > conftest.c < 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 - if readelf -S conftest | fgrep INIT_ARRAY > /dev/null; then - libc_cv_initfini_array=yes - else - libc_cv_initfini_array=no - fi +then + if $READELF -S conftest | fgrep INIT_ARRAY > /dev/null; then + libc_cv_initfini_array=yes else libc_cv_initfini_array=no fi - rm -f conftest* +else + libc_cv_initfini_array=no +fi +rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_initfini_array" >&5 $as_echo "$libc_cv_initfini_array" >&6; } - if test $libc_cv_initfini_array != yes; then - as_fn_error $? "Need linker with .init_array/.fini_array support." "$LINENO" 5 - fi +if test $libc_cv_initfini_array != yes; then + as_fn_error $? "Need linker with .init_array/.fini_array support." "$LINENO" 5 +fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use .ctors/.dtors header and trailer" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use .ctors/.dtors header and trailer" >&5 $as_echo_n "checking whether to use .ctors/.dtors header and trailer... " >&6; } if ${libc_cv_ctors_header+:} false; then : $as_echo_n "(cached) " >&6 else - if { ac_try='${CC-cc} -Wl,--verbose 2>&1|grep SORT_BY_INIT_PRIORITY 1>&5' - { { 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_ctors_header=no - else libc_cv_ctors_header=yes - fi + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + +__attribute__ ((constructor)) void ctor (void) { puts("ctor"); } +__attribute__ ((destructor)) void dtor (void) { puts("dtor"); } + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + if $READELF -WS conftest$ac_exeext | $AWK ' + { gsub(/\[ */, "[") } + $2 == ".ctors" || $2 == ".dtors" { + size = strtonum("0x" $6) + align = strtonum("0x" $NF) + seen[$2] = 1 + stub[$2] = size == align * 2 + } + END { + ctors_ok = !seen[".ctors"] || stub[".ctors"] + dtors_ok = !seen[".dtors"] || stub[".dtors"] + exit ((ctors_ok && dtors_ok) ? 0 : 1) + } + '; then : + libc_cv_ctors_header=no +fi + +else + as_fn_error $? "missing __attribute__ ((constructor)) support??" "$LINENO" 5 + +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_ctors_header" >&5 $as_echo "$libc_cv_ctors_header" >&6; } +if test $libc_cv_ctors_header = no; then + $as_echo "#define NO_CTORS_DTORS_SECTIONS 1" >>confdefs.h - if test $libc_cv_ctors_header = no; then - $as_echo "#define NO_CTORS_DTORS_SECTIONS 1" >>confdefs.h - - fi +fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libunwind-support in compiler" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libunwind-support in compiler" >&5 $as_echo_n "checking for libunwind-support in compiler... " >&6; } if ${libc_cv_cc_with_libunwind+:} false; then : $as_echo_n "(cached) " >&6 else - cat > conftest.c < conftest.c <&1 >/dev/null | grep -q " -lunwind "; then - libc_cv_cc_with_libunwind=yes - else - libc_cv_cc_with_libunwind=no - fi - rm -f conftest* + if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -static -o conftest \ + conftest.c -v 2>&1 >/dev/null | grep -q " -lunwind "; then + libc_cv_cc_with_libunwind=yes + else + libc_cv_cc_with_libunwind=no + fi + rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_cc_with_libunwind" >&5 $as_echo "$libc_cv_cc_with_libunwind" >&6; } - if test $libc_cv_cc_with_libunwind = yes; then - $as_echo "#define HAVE_CC_WITH_LIBUNWIND 1" >>confdefs.h +if test $libc_cv_cc_with_libunwind = yes; then + $as_echo "#define HAVE_CC_WITH_LIBUNWIND 1" >>confdefs.h - fi +fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -z nodelete option" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -z nodelete option" >&5 $as_echo_n "checking for -z nodelete option... " >&6; } if ${libc_cv_z_nodelete+:} false; then : $as_echo_n "(cached) " >&6 else - cat > conftest.c < 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_cv_z_nodelete=yes - else - as_fn_error $? "linker with -z nodelete support required" "$LINENO" 5 - fi - rm -f conftest* +then + libc_cv_z_nodelete=yes +else + as_fn_error $? "linker with -z nodelete support required" "$LINENO" 5 +fi +rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_z_nodelete" >&5 $as_echo "$libc_cv_z_nodelete" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -z nodlopen option" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -z nodlopen option" >&5 $as_echo_n "checking for -z nodlopen option... " >&6; } if ${libc_cv_z_nodlopen+:} false; then : $as_echo_n "(cached) " >&6 else - cat > conftest.c < conftest.c <&5' @@ -6211,25 +6148,25 @@ EOF ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; } - then - libc_cv_z_nodlopen=yes - else - as_fn_error $? "linker with -z nodlopen support required" "$LINENO" 5 - fi - rm -f conftest* +then + libc_cv_z_nodlopen=yes +else + as_fn_error $? "linker with -z nodlopen support required" "$LINENO" 5 +fi +rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_z_nodlopen" >&5 $as_echo "$libc_cv_z_nodlopen" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -z initfirst option" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -z initfirst option" >&5 $as_echo_n "checking for -z initfirst option... " >&6; } if ${libc_cv_z_initfirst+:} false; then : $as_echo_n "(cached) " >&6 else - cat > conftest.c < conftest.c <&5' @@ -6238,105 +6175,162 @@ EOF ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; } - then - libc_cv_z_initfirst=yes - else - as_fn_error $? "linker with -z initfirst support required" "$LINENO" 5 - fi - rm -f conftest* +then + libc_cv_z_initfirst=yes +else + as_fn_error $? "linker with -z initfirst support required" "$LINENO" 5 +fi +rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_z_initfirst" >&5 $as_echo "$libc_cv_z_initfirst" >&6; } - case "$base_machine" in - i[34567]86 | x86_64 | powerpc* | s390* | sparc* | alpha*) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -z relro option" >&5 +# Add-on fragments can set these for other machines. +libc_commonpagesize=${libc_commonpagesize:-no} +libc_relro_required=${libc_relro_required:-no} +case "$base_machine" in + i[34567]86 | x86_64 | powerpc* | s390*) + libc_commonpagesize=0x1000 + libc_relro_required=yes + ;; + sparc*) + libc_commonpagesize=0x2000 + libc_relro_required=yes + ;; +esac + +if test $libc_commonpagesize != no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -z relro option" >&5 $as_echo_n "checking for -z relro option... " >&6; } if ${libc_cv_z_relro+:} false; then : $as_echo_n "(cached) " >&6 else libc_cv_z_relro=no - if { ac_try='${CC-cc} -v --help 2>&1|grep "z relro" 1>&5' + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int _start (void) { return 42; } +extern void _exit (int); +/* Since these pointers are const, they should go in rodata. + Since they refer to functions that have to be resolved by + dynamic linking, they should instead go in RELRO data. */ +const void *const relro[] = { &_start, &_exit, 0 }; +/* GNU ld fails to produce RELRO data when it's very small and there is no + normal writable data following it, or if only uninitialized (.bss) data + follows it, or only very small writable data. */ +int data[0x10000] = { 1, }; + +_ACEOF + cat > conftest.awk <<\EOF +BEGIN { + result = "no" + commonpagesize = strtonum(commonpagesize) +} +{ print "LINE:", $0 > "/dev/stderr" } +$1 == "GNU_RELRO" { + vaddr = strtonum($3) + memsz = strtonum($6) + end = vaddr + memsz + printf "vaddr %#x memsz %#x end %#x commonpagesize %#x\n", \ + vaddr, memsz, end, commonpagesize > "/dev/stderr" + result = (end % commonpagesize == 0) ? "yes" : "broken" +} +END { print result } +EOF + { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS + -fPIC -shared -o conftest.so conftest.c + -nostartfiles -nostdlib + -Wl,-z,relro 1>&5' { { 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 - if { ac_try='${CC-cc} -Wl,--verbose 2>&1|grep DATA_SEGMENT_RELRO_END 1>&5' + test $ac_status = 0; }; } && + { ac_try='$READELF -Wl conftest.so > conftest.ph' { { 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_z_relro=yes - fi - fi + test $ac_status = 0; }; } && + { ac_try=' + $AWK -v commonpagesize=$libc_commonpagesize -f conftest.awk + conftest.ph > conftest.cps + ' + { { 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; }; } && + libc_cv_z_relro=`cat conftest.cps 2>&5` + rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_z_relro" >&5 $as_echo "$libc_cv_z_relro" >&6; } - if test "$libc_cv_z_relro" = no; then - as_fn_error $? "linker with -z relro support required" "$LINENO" 5 - fi - ;; - *) ;; - esac + if { test "x$libc_relro_required" = xyes && + test "x$libc_cv_z_relro" != xyes + } + then + as_fn_error $? "linker with -z relro support required" "$LINENO" 5 + fi +else + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: missing architecture parameter to check for working -z relro" >&5 +$as_echo "$as_me: WARNING: missing architecture parameter to check for working -z relro" >&2;} +fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -Bgroup option" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -Bgroup option" >&5 $as_echo_n "checking for -Bgroup option... " >&6; } if ${libc_cv_Bgroup+:} false; then : $as_echo_n "(cached) " >&6 else - cat > conftest.c < 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_cv_Bgroup=yes - else - libc_cv_Bgroup=no - fi - rm -f conftest* +then + libc_cv_Bgroup=yes +else + libc_cv_Bgroup=no +fi +rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_Bgroup" >&5 $as_echo "$libc_cv_Bgroup" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libgcc_s suffix" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libgcc_s suffix" >&5 $as_echo_n "checking for libgcc_s suffix... " >&6; } if ${libc_cv_libgcc_s_suffix+:} false; then : $as_echo_n "(cached) " >&6 else - cat > conftest.c < conftest.c <&1 >/dev/null \ | sed -n 's/^.* -lgcc_s\([^ ]*\) .*$/\1/p'` - rm -f conftest* +rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_libgcc_s_suffix" >&5 $as_echo "$libc_cv_libgcc_s_suffix" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for --as-needed option" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --as-needed option" >&5 $as_echo_n "checking for --as-needed option... " >&6; } if ${libc_cv_as_needed+:} false; then : $as_echo_n "(cached) " >&6 else - cat > conftest.c < conftest.c <&5' @@ -6345,66 +6339,66 @@ EOF ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; } - then - libc_cv_as_needed=yes - else - libc_cv_as_needed=no - fi - rm -f conftest* +then + libc_cv_as_needed=yes +else + libc_cv_as_needed=no +fi +rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_as_needed" >&5 $as_echo "$libc_cv_as_needed" >&6; } - ASFLAGS_config= - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether --noexecstack is desirable for .S files" >&5 +ASFLAGS_config= +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether --noexecstack is desirable for .S files" >&5 $as_echo_n "checking whether --noexecstack is desirable for .S files... " >&6; } if ${libc_cv_as_noexecstack+:} false; then : $as_echo_n "(cached) " >&6 else - cat > conftest.c < conftest.c <&5 (eval $ac_try) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; } \ - && grep -q .note.GNU-stack conftest.s \ - && { ac_try='${CC-cc} $ASFLAGS -Wa,--noexecstack - -c -o conftest.o conftest.s 1>&5' + && grep -q .note.GNU-stack conftest.s \ + && { ac_try='${CC-cc} $ASFLAGS -Wa,--noexecstack + -c -o conftest.o conftest.s 1>&5' { { 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_as_noexecstack=yes - else - libc_cv_as_noexecstack=no - fi - rm -f conftest* +then + libc_cv_as_noexecstack=yes +else + libc_cv_as_noexecstack=no +fi +rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_as_noexecstack" >&5 $as_echo "$libc_cv_as_noexecstack" >&6; } - if test $libc_cv_as_noexecstack = yes; then - ASFLAGS_config="$ASFLAGS_config -Wa,--noexecstack" - fi +if test $libc_cv_as_noexecstack = yes; then + ASFLAGS_config="$ASFLAGS_config -Wa,--noexecstack" +fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -z combreloc" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -z combreloc" >&5 $as_echo_n "checking for -z combreloc... " >&6; } if ${libc_cv_z_combreloc+:} false; then : $as_echo_n "(cached) " >&6 else - cat > conftest.c < conftest.c <&5' @@ -6413,108 +6407,188 @@ EOF ac_status=$? $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 - libc_cv_z_combreloc=yes - else - libc_cv_z_combreloc=no - fi +then + if $READELF -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then + libc_cv_z_combreloc=yes else libc_cv_z_combreloc=no fi - rm -f conftest* +else + libc_cv_z_combreloc=no +fi +rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_z_combreloc" >&5 $as_echo "$libc_cv_z_combreloc" >&6; } - if test "$libc_cv_z_combreloc" = yes; then - $as_echo "#define HAVE_Z_COMBRELOC 1" >>confdefs.h +if test "$libc_cv_z_combreloc" = yes; then + $as_echo "#define HAVE_Z_COMBRELOC 1" >>confdefs.h - fi +fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -z execstack" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -z execstack" >&5 $as_echo_n "checking for -z execstack... " >&6; } if ${libc_cv_z_execstack+:} false; then : $as_echo_n "(cached) " >&6 else - cat > conftest.c < 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_cv_z_execstack=yes - else - libc_cv_z_execstack=no - fi - rm -f conftest* +then + libc_cv_z_execstack=yes +else + libc_cv_z_execstack=no +fi +rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_z_execstack" >&5 $as_echo "$libc_cv_z_execstack" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -fpie" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -fpie" >&5 $as_echo_n "checking for -fpie... " >&6; } if ${libc_cv_fpie+:} false; then : $as_echo_n "(cached) " >&6 else - cat > conftest.c < 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_cv_fpie=yes - else - libc_cv_fpie=no - fi - rm -f conftest* +then + libc_cv_fpie=yes +else + libc_cv_fpie=no +fi +rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_fpie" >&5 $as_echo "$libc_cv_fpie" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for --hash-style option" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --hash-style option" >&5 $as_echo_n "checking for --hash-style option... " >&6; } if ${libc_cv_hashstyle+:} false; then : $as_echo_n "(cached) " >&6 else - cat > conftest.c < 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_cv_hashstyle=yes +else + libc_cv_hashstyle=no +fi +rm -f conftest* +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_hashstyle" >&5 +$as_echo "$libc_cv_hashstyle" >&6; } + + +# The linker's default -shared behavior is good enough if it +# does these things that our custom linker scripts ensure that +# all allocated NOTE sections come first. +if test "$use_default_link" = default; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sufficient default -shared layout" >&5 +$as_echo_n "checking for sufficient default -shared layout... " >&6; } +if ${libc_cv_use_default_link+:} false; then : + $as_echo_n "(cached) " >&6 +else + libc_cv_use_default_link=no + cat > conftest.s <<\EOF + .section .note.a,"a",%note + .balign 4 + .long 4,4,9 + .string "GNU" + .string "foo" + .section .note.b,"a",%note + .balign 4 + .long 4,4,9 + .string "GNU" + .string "bar" +EOF + if { ac_try=' ${CC-cc} $ASFLAGS -shared -o conftest.so conftest.s 1>&5' + { { 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; }; } && + ac_try=`$READELF -S conftest.so | sed -n \ + '${x;p;} + s/^ *\[ *[1-9][0-9]*\] *\([^ ][^ ]*\) *\([^ ][^ ]*\) .*$/\2 \1/ + t a + b + : a + H'` then - libc_cv_hashstyle=yes - else - libc_cv_hashstyle=no + libc_seen_a=no libc_seen_b=no + set -- $ac_try + while test $# -ge 2 -a "$1" = NOTE; do + case "$2" in + .note.a) libc_seen_a=yes ;; + .note.b) libc_seen_b=yes ;; + esac + shift 2 + done + case "$libc_seen_a$libc_seen_b" in + yesyes) + libc_cv_use_default_link=yes + ;; + *) + echo >&5 "\ +$libc_seen_a$libc_seen_b from: +$ac_try" + ;; + esac fi rm -f conftest* fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_hashstyle" >&5 -$as_echo "$libc_cv_hashstyle" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_use_default_link" >&5 +$as_echo "$libc_cv_use_default_link" >&6; } + use_default_link=$libc_cv_use_default_link +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking linker output format" >&5 +$as_echo_n "checking linker output format... " >&6; } +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` +then + : +else + libc_cv_output_format= +fi +test -n "$libc_cv_output_format" || libc_cv_output_format=unknown fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_output_format" >&5 +$as_echo "$libc_cv_output_format" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -fno-toplevel-reorder -fno-section-anchors" >&5 $as_echo_n "checking for -fno-toplevel-reorder -fno-section-anchors... " >&6; } @@ -6610,145 +6684,32 @@ else fi -if test $elf != yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for .init and .fini sections" >&5 -$as_echo_n "checking for .init and .fini sections... " >&6; } -if ${libc_cv_have_initfini+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ -asm (".section .init"); - asm (".section .fini"); - asm ("${libc_cv_dot_text}"); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - libc_cv_have_initfini=yes -else - libc_cv_have_initfini=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_have_initfini" >&5 -$as_echo "$libc_cv_have_initfini" >&6; } - if test $libc_cv_have_initfini = yes; then - $as_echo "#define HAVE_INITFINI 1" >>confdefs.h - - fi -fi - -if test $elf = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc puts quotes around section names" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc puts quotes around section names" >&5 $as_echo_n "checking whether cc puts quotes around section names... " >&6; } if ${libc_cv_have_section_quotes+:} false; then : $as_echo_n "(cached) " >&6 else cat > conftest.c </dev/null; then - libc_cv_have_section_quotes=yes - else - libc_cv_have_section_quotes=no - fi + if ${CC-cc} -S conftest.c -o conftest.s; then + if grep '\.section.*"bar"' conftest.s >/dev/null; then + libc_cv_have_section_quotes=yes else - libc_cv_have_section_quotes=unknown + libc_cv_have_section_quotes=no fi - rm -f conftest.{c,s} + else + libc_cv_have_section_quotes=unknown + fi + rm -f conftest.{c,s} fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_have_section_quotes" >&5 $as_echo "$libc_cv_have_section_quotes" >&6; } - if test $libc_cv_have_section_quotes = yes; then - $as_echo "#define HAVE_SECTION_QUOTES 1" >>confdefs.h +if test $libc_cv_have_section_quotes = yes; then + $as_echo "#define HAVE_SECTION_QUOTES 1" >>confdefs.h - fi -fi - - - -if test $elf = yes; then - libc_cv_asm_underscores=no -else - if test $ac_cv_prog_cc_works = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _ prefix on C symbol names" >&5 -$as_echo_n "checking for _ prefix on C symbol names... " >&6; } -if ${libc_cv_asm_underscores+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -asm ("_glibc_foobar:"); -int -main () -{ -glibc_foobar (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - libc_cv_asm_underscores=yes -else - libc_cv_asm_underscores=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_underscores" >&5 -$as_echo "$libc_cv_asm_underscores" >&6; } - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _ prefix on C symbol names" >&5 -$as_echo_n "checking for _ prefix on C symbol names... " >&6; } -if ${libc_cv_asm_underscores+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat > conftest.$ac_ext <&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - if grep _underscore_test conftest* >/dev/null; then - rm -f conftest* - libc_cv_asm_underscores=yes - else - rm -f conftest* - libc_cv_asm_underscores=no - fi -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -f conftest* - libc_cv_asm_underscores=no -fi -rm -f conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_underscores" >&5 -$as_echo "$libc_cv_asm_underscores" >&6; } - fi -fi -if test $libc_cv_asm_underscores = no; then - $as_echo "#define NO_UNDERSCORES 1" >>confdefs.h - -fi - -if test $elf = yes; then - libc_cv_weak_symbols=yes fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for assembler .weak directive" >&5 @@ -6881,8 +6842,8 @@ rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_ld_no_whole_archive" >&5 $as_echo "$libc_cv_ld_no_whole_archive" >&6; } -if test $libc_cv_ld_no_whole_archive = yes; then - no_whole_archive=-Wl,--no-whole-archive +if test $libc_cv_ld_no_whole_archive = no; then + as_fn_error $? "support for --no-whole-archive is needed" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gcc -fexceptions" >&5 @@ -6949,39 +6910,6 @@ if test "$libc_cv_c_asmcr0_bug" != 'no'; then fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __builtin_expect" >&5 -$as_echo_n "checking for __builtin_expect... " >&6; } -if ${libc_cv_gcc_builtin_expect+:} false; then : - $as_echo_n "(cached) " >&6 -else - 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_cv_gcc_builtin_expect=yes -else - libc_cv_gcc_builtin_expect=no -fi -rm -f conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_gcc_builtin_expect" >&5 -$as_echo "$libc_cv_gcc_builtin_expect" >&6; } -if test "$libc_cv_gcc_builtin_expect" = yes; then - $as_echo "#define HAVE_BUILTIN_EXPECT 1" >>confdefs.h - -fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __builtin_memset" >&5 $as_echo_n "checking for __builtin_memset... " >&6; } if ${libc_cv_gcc_builtin_memset+:} false; then : @@ -7040,13 +6968,11 @@ rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_gcc_builtin_redirection" >&5 $as_echo "$libc_cv_gcc_builtin_redirection" >&6; } -if test "$libc_cv_gcc_builtin_redirection" = yes ; then - $as_echo "#define HAVE_BUILTIN_REDIRECTION 1" >>confdefs.h - +if test "$libc_cv_gcc_builtin_redirection" = no; then + as_fn_error $? "support for the symbol redirection needed" "$LINENO" 5 fi -if test "x$use__thread" != xno; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __thread" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __thread" >&5 $as_echo_n "checking for __thread... " >&6; } if ${libc_cv_gcc___thread+:} false; then : $as_echo_n "(cached) " >&6 @@ -7054,55 +6980,48 @@ else cat > conftest.c <<\EOF __thread int a = 42; EOF - if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -c conftest.c >&5' +if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -c conftest.c >&5' { { 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_gcc___thread=yes - else - libc_cv_gcc___thread=no - fi - rm -f conftest* + libc_cv_gcc___thread=yes +else + libc_cv_gcc___thread=no +fi +rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_gcc___thread" >&5 $as_echo "$libc_cv_gcc___thread" >&6; } - if test "$libc_cv_gcc___thread" = yes; then - $as_echo "#define HAVE___THREAD 1" >>confdefs.h - - fi -else - libc_cv_gcc___thread=no +if test "$libc_cv_gcc___thread" = no; then + as_fn_error $? "support for the __thread keyword is required" "$LINENO" 5 fi -if test "$libc_cv_gcc___thread" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tls_model attribute" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for tls_model attribute" >&5 $as_echo_n "checking for tls_model attribute... " >&6; } if ${libc_cv_gcc_tls_model_attr+:} false; then : $as_echo_n "(cached) " >&6 else - cat > conftest.c <<\EOF + cat > conftest.c <<\EOF extern __thread int a __attribute__((tls_model ("initial-exec"))); EOF - if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -S -Werror conftest.c >&5' +if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -S -Werror conftest.c >&5' { { 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_gcc_tls_model_attr=yes - else - libc_cv_gcc_tls_model_attr=no - fi - rm -f conftest* + libc_cv_gcc_tls_model_attr=yes +else + libc_cv_gcc_tls_model_attr=no +fi +rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_gcc_tls_model_attr" >&5 $as_echo "$libc_cv_gcc_tls_model_attr" >&6; } - if test "$libc_cv_gcc_tls_model_attr" = yes; then - $as_echo "#define HAVE_TLS_MODEL_ATTRIBUTE 1" >>confdefs.h - - fi +if test "$libc_cv_gcc_tls_model_attr" = no; then + as_fn_error $? "support for the tls_model attribute is required" "$LINENO" 5 fi if test -n "$submachine"; then @@ -7685,9 +7604,6 @@ if test x$libc_cv_gcc_unwind_find_fde = xyes; then fi -$as_echo "#define USE_IN_LIBIO 1" >>confdefs.h - - # Test for old glibc 2.0.x headers so that they can be removed properly # Search only in includedir. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for old glibc 2.0.x headers" >&5 @@ -7724,20 +7640,9 @@ fi -if test $elf = yes; then - $as_echo "#define HAVE_ELF 1" >>confdefs.h - -fi -if test $xcoff = yes; then - $as_echo "#define HAVE_XCOFF 1" >>confdefs.h - -fi -if test $shared = default; then - shared=$elf -fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -fPIC is default" >&5 $as_echo_n "checking whether -fPIC is default... " >&6; } @@ -7766,9 +7671,6 @@ $as_echo "$libc_cv_pic_default" >&6; } - - - if test "`(cd $srcdir; pwd)`" = "`pwd`"; then config_makefile= else @@ -8362,8 +8264,8 @@ $config_headers Configuration commands: $config_commands -Report bugs to . -GNU C Library home page: . +Report bugs to . +GNU C Library home page: . General help using GNU software: ." _ACEOF