mirror of
git://sourceware.org/git/glibc.git
synced 2025-01-30 12:31:53 +08:00
stdio-common: Use clang with bugfix for bug28
The issue that was the cause of hang was fixed in upstream. Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
This commit is contained in:
parent
0c36c983ec
commit
5a96da210c
42
configure
vendored
42
configure
vendored
@ -6069,6 +6069,48 @@ rm -f conftest*
|
||||
config_vars="$config_vars
|
||||
have-test-clangxx = $libc_cv_test_clangxx"
|
||||
|
||||
if test "$libc_cv_test_clang" = "yes"; then
|
||||
conftest_code="
|
||||
#if __clang_major__ > 19
|
||||
#error clang version > 19
|
||||
#endif
|
||||
"
|
||||
|
||||
cat > conftest.c <<EOF
|
||||
$conftest_code
|
||||
EOF
|
||||
|
||||
saved_CC="$CC"
|
||||
CC="$TEST_CC"
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for clang in testing" >&5
|
||||
printf %s "checking for clang in testing... " >&6; }
|
||||
if test ${libc_cv_test_clang_19_or_less+y}
|
||||
then :
|
||||
printf %s "(cached) " >&6
|
||||
else case e in #(
|
||||
e) if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -c 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_clang_19_or_less=yes
|
||||
else
|
||||
libc_cv_test_clang_19_or_less=no
|
||||
fi ;;
|
||||
esac
|
||||
fi
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_test_clang_19_or_less" >&5
|
||||
printf "%s\n" "$libc_cv_test_clang_19_or_less" >&6; }
|
||||
|
||||
CC="$saved_CC"
|
||||
|
||||
rm -f conftest*
|
||||
fi
|
||||
config_vars="$config_vars
|
||||
have-test-clang-19-or-less = $libc_cv_test_clang_19_or_less"
|
||||
|
||||
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -fstack-protector" >&5
|
||||
printf %s "checking for -fstack-protector... " >&6; }
|
||||
|
15
configure.ac
15
configure.ac
@ -665,6 +665,21 @@ LIBC_TRY_TEST_CXX_COMMAND([for clang++],
|
||||
)
|
||||
LIBC_CONFIG_VAR([have-test-clangxx], [$libc_cv_test_clangxx])
|
||||
|
||||
if test "$libc_cv_test_clang" = "yes"; then
|
||||
conftest_code="
|
||||
#if __clang_major__ > 19
|
||||
#error clang version > 19
|
||||
#endif
|
||||
"
|
||||
LIBC_TRY_TEST_CC_COMMAND([for clang],
|
||||
[$conftest_code],
|
||||
[-c],
|
||||
libc_cv_test_clang_19_or_less,
|
||||
[libc_cv_test_clang_19_or_less=yes], [libc_cv_test_clang_19_or_less=no],
|
||||
)
|
||||
fi
|
||||
LIBC_CONFIG_VAR([have-test-clang-19-or-less], [$libc_cv_test_clang_19_or_less])
|
||||
|
||||
LIBC_TRY_CC_AND_TEST_CC_OPTION([for -fstack-protector],
|
||||
[-Werror -fstack-protector],
|
||||
libc_cv_ssp,
|
||||
|
@ -317,10 +317,10 @@ tests := \
|
||||
# tests
|
||||
|
||||
# Clang 19 takes a very long time, it ran more than 27 minutes on Intel
|
||||
# Core i7-1195G7 before the process was killed, to compile bug28.c:
|
||||
# https://github.com/llvm/llvm-project/issues/120462
|
||||
# Exclude it when Clang is used for testing.
|
||||
ifneq ($(have-test-clang),yes)
|
||||
# Core i7-1195G7 before the process was killed, to compile bug28.c
|
||||
# The issue was fixed in upstream but check if clang has the version that has the fix
|
||||
# https://github.com/llvm/llvm-project/commit/99dddef340e566e9d303010f1219f7d7d6d37a11 .
|
||||
ifneq ($(have-test-clang-19-or-less),yes)
|
||||
tests += \
|
||||
bug28 \
|
||||
# tests
|
||||
|
Loading…
Reference in New Issue
Block a user