diff options
Diffstat (limited to 'configure')
-rwxr-xr-x | configure | 1155 |
1 files changed, 176 insertions, 979 deletions
@@ -197,8 +197,7 @@ test -x / || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && - test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 -test \$(( 1 + 1 )) = 2 || exit 1" + test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1" if (eval "$as_required") 2>/dev/null; then : as_have_required=yes else @@ -587,7 +586,6 @@ PACKAGE_URL='http://www.gnu.org/software/glibc/' ac_unique_file="include/features.h" enable_option_checking=no -ac_includes_default='/* none */' ac_subst_vars='LTLIBOBJS LIBOBJS RELEASE @@ -602,20 +600,18 @@ shared static ldd_rewrite_script use_ldconfig -libc_cv_forced_unwind libc_cv_rootsbindir libc_cv_localstatedir libc_cv_sysconfdir -libc_cv_localedir +libc_cv_complocaledir libc_cv_rtlddir libc_cv_slibdir -old_glibc_headers use_nscd libc_cv_gcc_unwind_find_fde libc_extra_cppflags libc_extra_cflags +libc_cv_cxx_thread_local CPPUNDEFS -sizeof_long_double have_selinux have_libcap have_libaudit @@ -623,24 +619,21 @@ LIBGD libc_cv_cc_loop_to_function libc_cv_cc_submachine libc_cv_cc_nofma -exceptions -gnu89_inline -libc_cv_ssp +stack_protector fno_unit_at_a_time libc_cv_output_format +libc_cv_has_glob_dat libc_cv_hashstyle libc_cv_fpie libc_cv_z_execstack libc_cv_z_combreloc ASFLAGS_config -libc_cv_Bgroup libc_cv_cc_with_libunwind libc_cv_protected_data BISON INSTALL_INFO PERL BASH_SHELL -libc_cv_gcc_static_libgcc CXX_SYSINCLUDES SYSINCLUDES AUTOCONF @@ -676,6 +669,7 @@ force_install bindnow enable_lock_elision hardcoded_path_in_tests +enable_timezone_tools use_default_link sysheaders with_fp @@ -759,6 +753,7 @@ with_default_link enable_sanity_checks enable_shared enable_profile +enable_timezone_tools enable_hardcoded_path_in_tests enable_stackguard_randomization enable_lock_elision @@ -1411,6 +1406,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] + --disable-timezone-tools + do not install timezone tools [default=install] --enable-hardcoded-path-in-tests hardcode newly built glibc path in tests [default=no] @@ -1723,231 +1720,6 @@ fi as_fn_set_status $ac_retval } # ac_fn_c_try_link - -# ac_fn_c_try_run LINENO -# ---------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes -# that executables *can* be run. -ac_fn_c_try_run () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then : - ac_retval=0 -else - $as_echo "$as_me: program exited with status $ac_status" >&5 - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=$ac_status -fi - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_run - -# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES -# -------------------------------------------- -# Tries to find the compile-time value of EXPR in a program that includes -# INCLUDES, setting VAR accordingly. Returns whether the value could be -# computed -ac_fn_c_compute_int () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if test "$cross_compiling" = yes; then - # Depending upon the size, compute the lo and hi bounds. -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) >= 0)]; -test_array [0] = 0; -return test_array [0]; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_lo=0 ac_mid=0 - while :; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) <= $ac_mid)]; -test_array [0] = 0; -return test_array [0]; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_hi=$ac_mid; break -else - as_fn_arith $ac_mid + 1 && ac_lo=$as_val - if test $ac_lo -le $ac_mid; then - ac_lo= ac_hi= - break - fi - as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) < 0)]; -test_array [0] = 0; -return test_array [0]; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_hi=-1 ac_mid=-1 - while :; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) >= $ac_mid)]; -test_array [0] = 0; -return test_array [0]; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_lo=$ac_mid; break -else - as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val - if test $ac_mid -le $ac_hi; then - ac_lo= ac_hi= - break - fi - as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - ac_lo= ac_hi= -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -# Binary search between lo and hi bounds. -while test "x$ac_lo" != "x$ac_hi"; do - as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) <= $ac_mid)]; -test_array [0] = 0; -return test_array [0]; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_hi=$ac_mid -else - as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -done -case $ac_lo in #(( -?*) eval "$3=\$ac_lo"; ac_retval=0 ;; -'') ac_retval=1 ;; -esac - else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -static long int longval () { return $2; } -static unsigned long int ulongval () { return $2; } -#include <stdio.h> -#include <stdlib.h> -int -main () -{ - - FILE *f = fopen ("conftest.val", "w"); - if (! f) - return 1; - if (($2) < 0) - { - long int i = longval (); - if (i != ($2)) - return 1; - fprintf (f, "%ld", i); - } - else - { - unsigned long int i = ulongval (); - if (i != ($2)) - return 1; - fprintf (f, "%lu", i); - } - /* Do not output a trailing newline, as this causes \r\n confusion - on some platforms. */ - return ferror (f) || fclose (f) != 0; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - echo >>conftest.val; read $3 <conftest.val; ac_retval=0 -else - ac_retval=1 -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -rm -f conftest.val - - fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_compute_int cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. @@ -3400,6 +3172,7 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +# Default, dynamic case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -3418,6 +3191,30 @@ else fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext +# Static case. +old_LDFLAGS="$LDFLAGS" +LDFLAGS="$LDFLAGS -static" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include <iostream> + +int +main() +{ + std::cout << "Hello, world!"; + return 0; +} + +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + +else + libc_cv_cxx_link_ok=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LDFLAGS="$old_LDFLAGS" ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -3431,7 +3228,7 @@ if test $libc_cv_cxx_link_ok != yes; then : CXX= fi -if test "`cd $srcdir; /bin/pwd`" = "`/bin/pwd`"; then +if test "`cd $srcdir; pwd -P`" = "`pwd -P`"; then as_fn_error $? "you must configure in a separate build directory" "$LINENO" 5 fi @@ -3548,6 +3345,14 @@ else profile=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 +else + enable_timezone_tools=yes +fi + + # Check whether --enable-hardcoded-path-in-tests was given. if test "${enable_hardcoded_path_in_tests+set}" = set; then : @@ -3775,7 +3580,7 @@ if ${libc_cv_sdt+:} false; then : $as_echo_n "(cached) " >&6 else old_CFLAGS="$CFLAGS" - CFLAGS="-std=gnu99 $CFLAGS" + CFLAGS="-std=gnu11 $CFLAGS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/sdt.h> @@ -4046,9 +3851,6 @@ fi ### -### I put this here to prevent those annoying emails from people who cannot -### read and try to compile glibc on unsupported platforms. --drepper -### ### By using the undocumented --enable-hacker-mode option for configure ### one can skip this test to make the configuration not fail for unsupported ### platforms. @@ -4058,13 +3860,12 @@ if test -z "$enable_hacker_mode" && test x"$libc_config_ok" != xyes; then *-linux* | *-gnu*) ;; *) - echo "*** The GNU C library is currently not available for this platform." - echo "*** So far nobody cared to port it and if there is no volunteer it" - echo "*** might never happen. So, if you have interest to see glibc on" - echo "*** this platform visit" - echo "*** http://www.gnu.org/software/libc/porting.html" - echo "*** and join the group of porters" - exit 1 + as_fn_error $? " +*** The GNU C library is currently unavailable for this platform. +*** If you are interested in seeing glibc on this platform visit +*** the \"How to submit a new port\" in the wiki: +*** https://sourceware.org/glibc/wiki/HomePage#Development +*** and join the community!" "$LINENO" 5 ;; esac fi @@ -4108,34 +3909,6 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_ld_gnu_indirect_function" >&5 $as_echo "$libc_cv_ld_gnu_indirect_function" >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether .text pseudo-op must be used" >&5 -$as_echo_n "checking whether .text pseudo-op must be used... " >&6; } -if ${libc_cv_dot_text+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat > conftest.s <<EOF -.text -EOF -libc_cv_dot_text= -if { ac_try='${CC-cc} $ASFLAGS -c 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_dot_text=.text -fi -rm -f conftest* -fi - -if test -z "$libc_cv_dot_text"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -fi - 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 @@ -5057,7 +4830,7 @@ int main () { -#if !defined __GNUC__ || __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 6) +#if !defined __GNUC__ || __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 7) #error insufficient compiler #endif ; @@ -5302,21 +5075,6 @@ as_fn_error $? " *** and run configure again." "$LINENO" 5 fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether GCC supports -static-libgcc" >&5 -$as_echo_n "checking whether GCC supports -static-libgcc... " >&6; } -if ${libc_cv_gcc_static_libgcc+:} false; then : - $as_echo_n "(cached) " >&6 -else - if $CC -v -static-libgcc 2>&1 | grep 'unrecognized option.*static-libgcc' >/dev/null; then - libc_cv_gcc_static_libgcc= -else - libc_cv_gcc_static_libgcc=-static-libgcc -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_gcc_static_libgcc" >&5 -$as_echo "$libc_cv_gcc_static_libgcc" >&6; } - - # Extract the first word of "bash", so it can be a program name with args. set dummy bash; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 @@ -5510,79 +5268,13 @@ if test $ac_verc_fail = yes; then 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 : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#define __need_size_t -#define __need_wchar_t -#include <stddef.h> -#define __need_NULL -#include <stddef.h> -int -main () -{ -size_t size; wchar_t wchar; -#ifdef offsetof -#error stddef.h ignored __need_* -#endif -if (&size == NULL || &wchar == NULL) abort (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - libc_cv_friendly_stddef=yes -else - libc_cv_friendly_stddef=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_friendly_stddef" >&5 -$as_echo "$libc_cv_friendly_stddef" >&6; } -if test $libc_cv_friendly_stddef = yes; then - config_vars="$config_vars -override stddef.h = # The installed <stddef.h> seems to be libc-friendly." -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we need to use -P to assemble .S files" >&5 -$as_echo_n "checking whether we need to use -P to assemble .S files... " >&6; } -if ${libc_cv_need_minus_P+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat > conftest.S <<EOF -#include "confdefs.h" -/* Nothing whatsoever. */ -EOF -if { ac_try='${CC-cc} $CPPFLAGS $ASFLAGS -c 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_need_minus_P=no -else - libc_cv_need_minus_P=yes -fi -rm -f conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_need_minus_P" >&5 -$as_echo "$libc_cv_need_minus_P" >&6; } -if test $libc_cv_need_minus_P = yes; then - config_vars="$config_vars -asm-CPPFLAGS = -P # The assembler can't grok cpp's # line directives." -fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for .set assembler directive" >&5 $as_echo_n "checking for .set assembler directive... " >&6; } if ${libc_cv_asm_set_directive+:} false; then : $as_echo_n "(cached) " >&6 else cat > conftest.s <<EOF -${libc_cv_dot_text} +.text foo: .set glibc_conftest_frobozz,foo .globl glibc_conftest_frobozz @@ -5609,214 +5301,40 @@ if test $libc_cv_asm_set_directive = yes; then fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for assembler gnu_unique_object symbol type" >&5 -$as_echo_n "checking for assembler gnu_unique_object symbol type... " >&6; } -if ${libc_cv_asm_unique_object+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat > conftest.s <<EOF -${libc_cv_dot_text} -_sym: -.type _sym, %gnu_unique_object -EOF -if ${CC-cc} -c $ASFLAGS conftest.s 1>&5 2>&5; then - libc_cv_asm_unique_object=yes -else - libc_cv_asm_unique_object=no -fi -rm -f conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_unique_object" >&5 -$as_echo "$libc_cv_asm_unique_object" >&6; } -if test $libc_cv_asm_unique_object = yes; then - $as_echo "#define HAVE_ASM_UNIQUE_OBJECT 1" >>confdefs.h - -fi - -{ $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 <<EOF -.section foo_section -.previous -EOF -if { ac_try='${CC-cc} -c $ASFLAGS 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_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 - -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 <<EOF -.pushsection foo_section -.popsection -EOF - if { ac_try='${CC-cc} -c $ASFLAGS 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_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 - - fi -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 <<EOF -.protected foo -foo: -.hidden bar -bar: -EOF -if { ac_try='${CC-cc} -c $ASFLAGS 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_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 -$as_echo_n "checking whether __attribute__((visibility())) is supported... " >&6; } -if ${libc_cv_visibility_attribute+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat > conftest.c <<EOF - int foo __attribute__ ((visibility ("hidden"))) = 1; - int bar __attribute__ ((visibility ("protected"))) = 1; -EOF - libc_cv_visibility_attribute=no - if { ac_try='${CC-cc} -Werror -S conftest.c -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 - if grep '\.hidden.*foo' conftest.s >/dev/null; then - if grep '\.protected.*bar' conftest.s >/dev/null; then - libc_cv_visibility_attribute=yes - fi - fi - fi - rm -f conftest.{c,s} - -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 -fi - -if test $libc_cv_visibility_attribute = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking linker support for protected data symbol" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking linker support for protected data symbol" >&5 $as_echo_n "checking linker support for protected data symbol... " >&6; } if ${libc_cv_protected_data+:} false; then : $as_echo_n "(cached) " >&6 else cat > conftest.c <<EOF - int bar __attribute__ ((visibility ("protected"))) = 1; + 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' + libc_cv_protected_data=no + if { ac_try='${CC-cc} -nostdlib -nostartfiles -fPIC -shared conftest.c -o conftest.so' { { 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 - cat > conftest.c <<EOF - extern int bar; - int main (void) { return bar; } + cat > conftest.c <<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 conftest.c -o conftest conftest.so' { { 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_protected_data=yes - fi + libc_cv_protected_data=yes fi - rm -f conftest.* + fi + rm -f conftest.* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_protected_data" >&5 $as_echo "$libc_cv_protected_data" >&6; } -else - libc_cv_protected_data=no -fi - -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 -else - cat > conftest.c <<EOF - int foo (int x); - int bar (int x) __asm__ ("foo") __attribute__ ((visibility ("hidden"))); - int bar (int x) { return x; } -EOF - libc_cv_broken_visibility_attribute=yes - if { ac_try='${CC-cc} -Werror -S conftest.c -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 - if grep '\.hidden[ _]foo' conftest.s >/dev/null; then - libc_cv_broken_visibility_attribute=no - fi - fi - rm -f conftest.c conftest.s - -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 -fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for broken __attribute__((alias()))" >&5 $as_echo_n "checking for broken __attribute__((alias()))... " >&6; } @@ -5852,65 +5370,25 @@ 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 +{ $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 else echo "int i;" > conftest.c - libc_cv_have_sdata_section=no - if ${CC-cc} $LDFLAGS -fPIC -shared -Wl,--verbose conftest.c -o conftest.so 2>&1 \ - | grep '\.sdata' >/dev/null; then - libc_cv_have_sdata_section=yes - fi - rm -f conftest.c conftest.so + libc_cv_have_sdata_section=no + if ${CC-cc} $LDFLAGS -fPIC -shared -Wl,--verbose conftest.c -o conftest.so 2>&1 \ + | grep '\.sdata' >/dev/null; then + libc_cv_have_sdata_section=yes + fi + rm -f conftest.c conftest.so 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 - - fi -fi +if test $libc_cv_have_sdata_section = yes; then + $as_echo "#define HAVE_SDATA_SECTION 1" >>confdefs.h -{ $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 <<EOF -int _start (void) { return 0; } -int __start (void) { return 0; } - -int foo (void) { return 1; } -int (*fp) (void) __attribute__ ((section (".init_array"))) = foo; - -EOF -if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -o conftest - conftest.c -static -nostartfiles -nostdlib - 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 $READELF -S conftest | fgrep INIT_ARRAY > /dev/null; then - libc_cv_initfini_array=yes - else - libc_cv_initfini_array=no - fi -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 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use .ctors/.dtors header and trailer" >&5 @@ -5991,129 +5469,6 @@ if test $libc_cv_cc_with_libunwind = yes; then fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for linker that supports -z nodelete" >&5 -$as_echo_n "checking for linker that supports -z nodelete... " >&6; } -libc_linker_feature=no -if test x"$gnu_ld" = x"yes"; then - libc_linker_check=`$LD -v --help 2>/dev/null | grep "\-z nodelete"` - if test -n "$libc_linker_check"; then - cat > conftest.c <<EOF -int _start (void) { return 42; } -EOF - if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS - -Wl,--enable-new-dtags,-z,nodelete -nostdlib -nostartfiles - -fPIC -shared -o conftest.so conftest.c - 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_linker_feature=yes - fi - rm -f conftest* - fi -fi -if test $libc_linker_feature = yes; then - libc_cv_z_nodelete=yes -else - as_fn_error $? "linker with -z nodelete support required" "$LINENO" 5 -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_linker_feature" >&5 -$as_echo "$libc_linker_feature" >&6; } - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for linker that supports -z nodlopen" >&5 -$as_echo_n "checking for linker that supports -z nodlopen... " >&6; } -libc_linker_feature=no -if test x"$gnu_ld" = x"yes"; then - libc_linker_check=`$LD -v --help 2>/dev/null | grep "\-z nodlopen"` - if test -n "$libc_linker_check"; then - cat > conftest.c <<EOF -int _start (void) { return 42; } -EOF - if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS - -Wl,--enable-new-dtags,-z,nodlopen -nostdlib -nostartfiles - -fPIC -shared -o conftest.so conftest.c - 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_linker_feature=yes - fi - rm -f conftest* - fi -fi -if test $libc_linker_feature = yes; then - libc_cv_z_nodlopen=yes -else - as_fn_error $? "linker with -z nodlopen support required" "$LINENO" 5 -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_linker_feature" >&5 -$as_echo "$libc_linker_feature" >&6; } - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for linker that supports -z initfirst" >&5 -$as_echo_n "checking for linker that supports -z initfirst... " >&6; } -libc_linker_feature=no -if test x"$gnu_ld" = x"yes"; then - libc_linker_check=`$LD -v --help 2>/dev/null | grep "\-z initfirst"` - if test -n "$libc_linker_check"; then - cat > conftest.c <<EOF -int _start (void) { return 42; } -EOF - if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS - -Wl,--enable-new-dtags,-z,initfirst -nostdlib -nostartfiles - -fPIC -shared -o conftest.so conftest.c - 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_linker_feature=yes - fi - rm -f conftest* - fi -fi -if test $libc_linker_feature = yes; then - libc_cv_z_initfirst=yes -else - as_fn_error $? "linker with -z initfirst support required" "$LINENO" 5 -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_linker_feature" >&5 -$as_echo "$libc_linker_feature" >&6; } - -{ $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 <<EOF -int _start (void) { return 42; } -EOF -if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS - -fPIC -shared -o conftest.so conftest.c - -Wl,-Bgroup -nostdlib 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_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; } - - 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; } @@ -6335,6 +5690,39 @@ $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 for GLOB_DAT reloc" >&5 +$as_echo_n "checking for GLOB_DAT reloc... " >&6; } +if ${libc_cv_has_glob_dat+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat > conftest.c <<EOF +extern int mumble; +int foo (void) { return mumble; } +EOF +if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS + -fPIC -shared -o conftest.so conftest.c + -nostdlib -nostartfiles + 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 $READELF -rW conftest.so | grep '_GLOB_DAT' > /dev/null; then + libc_cv_has_glob_dat=yes + else + libc_cv_has_glob_dat=no + fi +else + libc_cv_has_glob_dat=no +fi +rm -f conftest* +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_has_glob_dat" >&5 +$as_echo "$libc_cv_has_glob_dat" >&6; } + + { $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 : @@ -6404,40 +5792,31 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_ssp" >&5 $as_echo "$libc_cv_ssp" >&6; } - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -fgnu89-inline" >&5 -$as_echo_n "checking for -fgnu89-inline... " >&6; } -if ${libc_cv_gnu89_inline+:} false; then : +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -fstack-protector-strong" >&5 +$as_echo_n "checking for -fstack-protector-strong... " >&6; } +if ${libc_cv_ssp_strong+:} false; then : $as_echo_n "(cached) " >&6 else - cat > conftest.c <<EOF -int foo; -#ifdef __GNUC_GNU_INLINE__ -main () { return 0;} -#else -#error -#endif -EOF -if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -S -std=gnu99 -fgnu89-inline - -o conftest.s conftest.c 1>&5' + if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -Werror -fstack-protector-strong -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_gnu89_inline=yes + test $ac_status = 0; }; }; then : + libc_cv_ssp_strong=yes else - libc_cv_gnu89_inline=no + libc_cv_ssp_strong=no fi -rm -f conftest* + fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_gnu89_inline" >&5 -$as_echo "$libc_cv_gnu89_inline" >&6; } -if test $libc_cv_gnu89_inline = yes; then - gnu89_inline=-fgnu89-inline -else - gnu89_inline= +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_ssp_strong" >&5 +$as_echo "$libc_cv_ssp_strong" >&6; } + +stack_protector= +if test "$libc_cv_ssp_strong" = "yes"; then + stack_protector="-fstack-protector-strong" +elif test "$libc_cv_ssp" = "yes"; then + stack_protector="-fstack-protector" fi @@ -6469,133 +5848,6 @@ if test $libc_cv_have_section_quotes = yes; then fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for assembler .weak directive" >&5 -$as_echo_n "checking for assembler .weak directive... " >&6; } -if ${libc_cv_asm_weak_directive+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat > conftest.s <<EOF -${libc_cv_dot_text} -.globl foo -foo: -.weak foo -.weak bar; bar = foo -EOF -if { ac_try='${CC-cc} $ASFLAGS -c 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_asm_weak_directive=yes -else - libc_cv_asm_weak_directive=no -fi -rm -f conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_weak_directive" >&5 -$as_echo "$libc_cv_asm_weak_directive" >&6; } - -if test $libc_cv_asm_weak_directive = no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for assembler .weakext directive" >&5 -$as_echo_n "checking for assembler .weakext directive... " >&6; } -if ${libc_cv_asm_weakext_directive+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat > conftest.s <<EOF -${libc_cv_dot_text} -.globl foo -foo: -.weakext bar foo -.weakext baz -.globl baz -baz: -EOF - if { ac_try='${CC-cc} $ASFLAGS -c 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_asm_weakext_directive=yes - else - libc_cv_asm_weakext_directive=no - fi - rm -f conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_weakext_directive" >&5 -$as_echo "$libc_cv_asm_weakext_directive" >&6; } - -fi # no .weak - -if test $libc_cv_asm_weak_directive = yes; then - $as_echo "#define HAVE_ASM_WEAK_DIRECTIVE 1" >>confdefs.h - -elif test $libc_cv_asm_weakext_directive = yes; then - $as_echo "#define HAVE_ASM_WEAKEXT_DIRECTIVE 1" >>confdefs.h - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld --no-whole-archive" >&5 -$as_echo_n "checking for ld --no-whole-archive... " >&6; } -if ${libc_cv_ld_no_whole_archive+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat > conftest.c <<\EOF -_start () {} -int __eh_pc; -__throw () {} -EOF -if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS - -nostdlib -nostartfiles -Wl,--no-whole-archive - -o conftest conftest.c 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_ld_no_whole_archive=yes -else - libc_cv_ld_no_whole_archive=no -fi -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 = 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 -$as_echo_n "checking for gcc -fexceptions... " >&6; } -if ${libc_cv_gcc_exceptions+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat > conftest.c <<\EOF -_start () {} -int __eh_pc; -__throw () {} -EOF -if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS - -nostdlib -nostartfiles -fexceptions - -o conftest conftest.c 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_gcc_exceptions=yes -else - libc_cv_gcc_exceptions=no -fi -rm -f conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_gcc_exceptions" >&5 -$as_echo "$libc_cv_gcc_exceptions" >&6; } -if test $libc_cv_gcc_exceptions = yes; then - exceptions=-fexceptions -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 : @@ -6658,58 +5910,6 @@ if test "$libc_cv_gcc_builtin_redirection" = no; then as_fn_error $? "support for the symbol redirection needed" "$LINENO" 5 fi -{ $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 -else - cat > conftest.c <<\EOF -__thread int a = 42; -EOF -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* -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" = no; then - as_fn_error $? "support for the __thread keyword is required" "$LINENO" 5 -fi - -{ $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 -extern __thread int a __attribute__((tls_model ("initial-exec"))); -EOF -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* -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" = no; then - as_fn_error $? "support for the tls_model attribute is required" "$LINENO" 5 -fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for compiler option to disable generation of FMA instructions" >&5 $as_echo_n "checking for compiler option to disable generation of FMA instructions... " >&6; } if ${libc_cv_cc_nofma+:} false; then : @@ -6989,43 +6189,6 @@ $as_echo "#define HAVE_LIBCAP 1" >>confdefs.h fi - -# The cast to long int works around a bug in the HP C Compiler -# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects -# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. -# This bug is HP SR number 8606223364. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long double" >&5 -$as_echo_n "checking size of long double... " >&6; } -if ${ac_cv_sizeof_long_double+:} false; then : - $as_echo_n "(cached) " >&6 -else - if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long double))" "ac_cv_sizeof_long_double" "$ac_includes_default"; then : - -else - if test "$ac_cv_type_long_double" = yes; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "cannot compute sizeof (long double) -See \`config.log' for more details" "$LINENO" 5; } - else - ac_cv_sizeof_long_double=0 - fi -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_double" >&5 -$as_echo "$ac_cv_sizeof_long_double" >&6; } - - - -cat >>confdefs.h <<_ACEOF -#define SIZEOF_LONG_DOUBLE $ac_cv_sizeof_long_double -_ACEOF - - -sizeof_long_double=$ac_cv_sizeof_long_double - - CPPUNDEFS= { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FORTIFY_SOURCE predefine" >&5 $as_echo_n "checking for _FORTIFY_SOURCE predefine... " >&6; } @@ -7202,6 +6365,61 @@ if test $libc_cv_builtin_trap = yes; then fi +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C++ compiler supports thread_local" >&5 +$as_echo_n "checking whether the C++ compiler supports thread_local... " >&6; } +if ${libc_cv_cxx_thread_local+:} false; then : + $as_echo_n "(cached) " >&6 +else + +old_CXXFLAGS="$CXXFLAGS" +CXXFLAGS="$CXXFLAGS -std=gnu++11" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include <thread> + +// Compiler support. +struct S +{ + S (); + ~S (); +}; +thread_local S s; +S * get () { return &s; } + +// libstdc++ support. +#ifndef _GLIBCXX_HAVE___CXA_THREAD_ATEXIT_IMPL +#error __cxa_thread_atexit_impl not supported +#endif + +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + libc_cv_cxx_thread_local=yes +else + libc_cv_cxx_thread_local=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +CXXFLAGS="$old_CXXFLAGS" + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_cxx_thread_local" >&5 +$as_echo "$libc_cv_cxx_thread_local" >&6; } + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + ### End of automated tests. ### Now run sysdeps configure fragments. @@ -7260,27 +6478,6 @@ if test "x$build_nscd" = xdefault; then build_nscd=$use_nscd fi -# 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 -$as_echo_n "checking for old glibc 2.0.x headers... " >&6; } -if eval test -f "${includedir}/elfclass.h" -a -f "${includedir}/fcntlbits.h" -then - old_glibc_headers=yes -else - old_glibc_headers=no -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $old_glibc_headers" >&5 -$as_echo "$old_glibc_headers" >&6; } -if test ${old_glibc_headers} = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** During \"make install\" old headers from glibc 2.0.x will" >&5 -$as_echo "$as_me: WARNING: *** During \"make install\" old headers from glibc 2.0.x will" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** be removed." >&5 -$as_echo "$as_me: WARNING: *** be removed." >&2;} -fi - - - |