diff options
Diffstat (limited to 'configure')
-rwxr-xr-x | configure | 164 |
1 files changed, 162 insertions, 2 deletions
@@ -649,6 +649,8 @@ have_selinux have_libcap have_libaudit LIBGD +libc_cv_test_cc_wmissing_parameter_name +libc_cv_test_cc_wfree_labels libc_cv_test_cc_wimplicit_fallthrough libc_cv_cc_loop_to_function libc_cv_test_cc_signaling_nans @@ -4929,6 +4931,9 @@ with_fp_cond=1 # A preconfigure script may define another name to TLS descriptor variant mtls_descriptor=gnu2 +# A preconfigure script may define another name to traditional TLS variant +mtls_traditional=gnu + if frags=`ls -d $srcdir/sysdeps/*/preconfigure 2> /dev/null` then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sysdeps preconfigure fragments" >&5 @@ -5124,7 +5129,7 @@ fi -# Accept binutils 2.25 or newer. +# Accept binutils 2.39 or newer. libc_cv_with_lld=no case $($LD --version) in "GNU gold"*) @@ -5330,7 +5335,7 @@ printf %s "checking version of $LD... " >&6; } ac_prog_version=`$LD --version 2>&1 | sed -n 's/^.*GNU ld.* \([0-9][0-9]*\.[0-9.]*\).*$/\1/p'` case $ac_prog_version in '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; - 2.1[0-9][0-9]*|2.2[5-9]*|2.[3-9][0-9]*|[3-9].*|[1-9][0-9]*) + 2.[1-9][0-9][0-9]*|2.39*|2.[4-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;; @@ -7488,6 +7493,41 @@ rm -f conftest* config_vars="$config_vars have-test-mtls-descriptor = $libc_cv_test_mtls_descriptor" + +cat > conftest.c <<EOF +$conftest_code +EOF + +saved_CC="$CC" +CC="$TEST_CC" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for traditional tls support in testing" >&5 +printf %s "checking for traditional tls support in testing... " >&6; } +if test ${libc_cv_test_mtls_traditional+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -fPIC -mtls-dialect=$mtls_traditional -nostdlib -nostartfiles -shared conftest.c -o conftest 1>&5' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 + (eval $ac_try) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; } + then + libc_cv_test_mtls_traditional=$mtls_traditional + else + libc_cv_test_mtls_traditional=no + fi ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_test_mtls_traditional" >&5 +printf "%s\n" "$libc_cv_test_mtls_traditional" >&6; } + +CC="$saved_CC" + +rm -f conftest* +config_vars="$config_vars +have-test-mtls-traditional = $libc_cv_test_mtls_traditional" + conftest_code=" void __foo (void) { @@ -7968,6 +8008,126 @@ config_vars="$config_vars cc-option-wimplicit-fallthrough = $libc_cv_cc_wimplicit_fallthrough" + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -Wfree-labels" >&5 +printf %s "checking for -Wfree-labels... " >&6; } +if test ${libc_cv_cc_wfree_labels+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) if { ac_try='${CC-cc} -Werror -Wfree-labels -xc /dev/null -S -o /dev/null' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 + (eval $ac_try) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; } +then : + libc_cv_cc_wfree_labels=-Wfree-labels +else case e in #( + e) libc_cv_cc_wfree_labels= ;; +esac +fi ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_cc_wfree_labels" >&5 +printf "%s\n" "$libc_cv_cc_wfree_labels" >&6; } +if test "$TEST_CC" = "$CC"; then + libc_cv_test_cc_wfree_labels=$libc_cv_cc_wfree_labels +else + +saved_CC="$CC" +CC="$TEST_CC" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -Wfree-labels in testing" >&5 +printf %s "checking for -Wfree-labels in testing... " >&6; } +if test ${libc_cv_test_cc_wfree_labels+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) if { ac_try='${CC-cc} -Werror -Wfree-labels -xc /dev/null -S -o /dev/null' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 + (eval $ac_try) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; } +then : + libc_cv_test_cc_wfree_labels=-Wfree-labels +else case e in #( + e) libc_cv_test_cc_wfree_labels= ;; +esac +fi ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_test_cc_wfree_labels" >&5 +printf "%s\n" "$libc_cv_test_cc_wfree_labels" >&6; } + +CC="$saved_CC" + +fi + +config_vars="$config_vars +cc-option-wfree-labels = $libc_cv_cc_wfree_labels" + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -Wmissing-parameter-name" >&5 +printf %s "checking for -Wmissing-parameter-name... " >&6; } +if test ${libc_cv_cc_wmissing_parameter_name+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) if { ac_try='${CC-cc} -Werror -Wmissing-parameter-name -xc /dev/null -S -o /dev/null' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 + (eval $ac_try) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; } +then : + libc_cv_cc_wmissing_parameter_name=-Wmissing-parameter-name +else case e in #( + e) libc_cv_cc_wmissing_parameter_name= ;; +esac +fi ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_cc_wmissing_parameter_name" >&5 +printf "%s\n" "$libc_cv_cc_wmissing_parameter_name" >&6; } +if test "$TEST_CC" = "$CC"; then + libc_cv_test_cc_wmissing_parameter_name=$libc_cv_cc_wmissing_parameter_name +else + +saved_CC="$CC" +CC="$TEST_CC" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -Wmissing-parameter-name in testing" >&5 +printf %s "checking for -Wmissing-parameter-name in testing... " >&6; } +if test ${libc_cv_test_cc_wmissing_parameter_name+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) if { ac_try='${CC-cc} -Werror -Wmissing-parameter-name -xc /dev/null -S -o /dev/null' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 + (eval $ac_try) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; } +then : + libc_cv_test_cc_wmissing_parameter_name=-Wmissing-parameter-name +else case e in #( + e) libc_cv_test_cc_wmissing_parameter_name= ;; +esac +fi ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_test_cc_wmissing_parameter_name" >&5 +printf "%s\n" "$libc_cv_test_cc_wmissing_parameter_name" >&6; } + +CC="$saved_CC" + +fi + +config_vars="$config_vars +cc-option-wmissing-parameter-name = $libc_cv_cc_wmissing_parameter_name" + + conftest_code=" void bar (void (*callback) (void)); int foo (void) |