[4/6] configure: Remove AS check
Commit Message
The assembler is not issued directly, but rather always through CC
wrapper. The binutils version check if done with LD instead.
---
aclocal.m4 | 1 -
configure | 66 ------------------------------------
configure.ac | 5 ---
scripts/build-many-glibcs.py | 1 -
sysdeps/x86/configure | 4 +--
sysdeps/x86/configure.ac | 2 +-
6 files changed, 3 insertions(+), 76 deletions(-)
Comments
On 12/2/22 14:00, Adhemerval Zanella via Libc-alpha wrote:
> The assembler is not issued directly, but rather always through CC
> wrapper. The binutils version check if done with LD instead.
glibc needs binutils 2.25 or newer in general, and the linker check is sufficient
to test for that. Other architectures may have specific requirements and they need
to enforce that distinctly, like the ppc64le objcopy test. For AS we really only
want to use $(CC) -c, so testing distinctly isn't valuable.
LGTM.
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
> ---
> aclocal.m4 | 1 -
> configure | 66 ------------------------------------
> configure.ac | 5 ---
> scripts/build-many-glibcs.py | 1 -
> sysdeps/x86/configure | 4 +--
> sysdeps/x86/configure.ac | 2 +-
> 6 files changed, 3 insertions(+), 76 deletions(-)
>
> diff --git a/aclocal.m4 b/aclocal.m4
> index 88db64a683..7ab8ac023b 100644
> --- a/aclocal.m4
> +++ b/aclocal.m4
> @@ -118,7 +118,6 @@ case "$CC" in
> *fuse-ld=lld*) LDNAME=ld.lld;;
> *) LDNAME=ld;;
> esac
> -AS=`$CC -print-prog-name=as`
OK.
> LD=`$CC -print-prog-name=$LDNAME`
> AR=`$CC -print-prog-name=ar`
> AC_SUBST(AR)
> diff --git a/configure b/configure
> index 086d6fba7a..62c2581cb0 100755
> --- a/configure
> +++ b/configure
OK. Regenerate.
> @@ -654,7 +654,6 @@ MAKEINFO
> MSGFMT
> MAKE
> LD
> -AS
> GPROF
> OBJCOPY
> AR
> @@ -4146,7 +4145,6 @@ case "$CC" in
> *fuse-ld=lld*) LDNAME=ld.lld;;
> *) LDNAME=ld;;
> esac
> -AS=`$CC -print-prog-name=as`
OK.
> LD=`$CC -print-prog-name=$LDNAME`
> AR=`$CC -print-prog-name=ar`
>
> @@ -4157,70 +4155,6 @@ GPROF=`$CC -print-prog-name=gprof`
>
>
> # Accept binutils 2.25 or newer.
> -for ac_prog in $AS
> -do
> - # Extract the first word of "$ac_prog", so it can be a program name with args.
> -set dummy $ac_prog; ac_word=$2
> -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
> -$as_echo_n "checking for $ac_word... " >&6; }
> -if ${ac_cv_prog_AS+:} false; then :
> - $as_echo_n "(cached) " >&6
> -else
> - if test -n "$AS"; then
> - ac_cv_prog_AS="$AS" # Let the user override the test.
> -else
> -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
> -for as_dir in $PATH
> -do
> - IFS=$as_save_IFS
> - test -z "$as_dir" && as_dir=.
> - for ac_exec_ext in '' $ac_executable_extensions; do
> - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
> - ac_cv_prog_AS="$ac_prog"
> - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
> - break 2
> - fi
> -done
> - done
> -IFS=$as_save_IFS
> -
> -fi
> -fi
> -AS=$ac_cv_prog_AS
> -if test -n "$AS"; then
> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AS" >&5
> -$as_echo "$AS" >&6; }
> -else
> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
> -$as_echo "no" >&6; }
> -fi
> -
> -
> - test -n "$AS" && break
> -done
> -
> -if test -z "$AS"; then
> - ac_verc_fail=yes
> -else
> - # Found it, now check the version.
> - { $as_echo "$as_me:${as_lineno-$LINENO}: checking version of $AS" >&5
> -$as_echo_n "checking version of $AS... " >&6; }
> - ac_prog_version=`$AS --version 2>&1 | sed -n 's/^.*GNU assembler.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
> - case $ac_prog_version in
> - '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
> - 2.1[0-9][0-9]*|2.2[5-9]*|2.[3-9][0-9]*|[3-9].*|[1-9][0-9]*)
> - ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
> - *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
> -
> - esac
> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_prog_version" >&5
> -$as_echo "$ac_prog_version" >&6; }
> -fi
> -if test $ac_verc_fail = yes; then
> - AS=: critic_missing="$critic_missing as"
> -fi
> -
> -
> libc_cv_with_lld=no
> case $($LD --version) in
> "GNU gold"*)
> diff --git a/configure.ac b/configure.ac
> index 5709c7a0cf..022b8f68bc 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -572,11 +572,6 @@ AC_PROG_LN_S
> LIBC_PROG_BINUTILS
>
> # Accept binutils 2.25 or newer.
> -AC_CHECK_PROG_VER(AS, $AS, --version,
> - [GNU assembler.* \([0-9]*\.[0-9.]*\)],
> - [2.1[0-9][0-9]*|2.2[5-9]*|2.[3-9][0-9]*|[3-9].*|[1-9][0-9]*],
> - AS=: critic_missing="$critic_missing as")
> -
OK.
> libc_cv_with_lld=no
> case $($LD --version) in
> "GNU gold"*)
... OK leaves the ld testing in place.
> diff --git a/scripts/build-many-glibcs.py b/scripts/build-many-glibcs.py
> index 5af6f369ae..9292a0d3ff 100755
> --- a/scripts/build-many-glibcs.py
> +++ b/scripts/build-many-glibcs.py
> @@ -1522,7 +1522,6 @@ class GlibcPolicyDefault(object):
> 'CC=%s' % glibc.tool_name('gcc'),
> 'CXX=%s' % glibc.tool_name('g++'),
> 'AR=%s' % glibc.tool_name('ar'),
> - 'AS=%s' % glibc.tool_name('as'),
OK. Don't override AS since we don't support that anymore.
> 'LD=%s' % glibc.tool_name('ld'),
> 'NM=%s' % glibc.tool_name('nm'),
> 'OBJCOPY=%s' % glibc.tool_name('objcopy'),
> diff --git a/sysdeps/x86/configure b/sysdeps/x86/configure
> index a9c8c2ef67..f80fedd9dd 100644
> --- a/sysdeps/x86/configure
> +++ b/sysdeps/x86/configure
OK. Regenerate.
> @@ -33,8 +33,8 @@ $as_echo "$libc_cv_x86_cet_available" >&6; }
> fi
> if test $enable_cet != no; then
> # Check if assembler supports CET.
> - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $AS supports CET" >&5
> -$as_echo_n "checking whether $AS supports CET... " >&6; }
> + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler supports CET" >&5
> +$as_echo_n "checking whether compiler supports CET... " >&6; }
> if ${libc_cv_x86_cet_as+:} false; then :
> $as_echo_n "(cached) " >&6
> else
> diff --git a/sysdeps/x86/configure.ac b/sysdeps/x86/configure.ac
> index edd43a2551..ac55dc674a 100644
> --- a/sysdeps/x86/configure.ac
> +++ b/sysdeps/x86/configure.ac
> @@ -22,7 +22,7 @@ EOF
> fi
> if test $enable_cet != no; then
> # Check if assembler supports CET.
> - AC_CACHE_CHECK(whether $AS supports CET,
> + AC_CACHE_CHECK(whether compiler supports CET,
OK. True we invoke the test via the compiler.
> libc_cv_x86_cet_as, [dnl
> cat > conftest.s <<EOF
> incsspd %ecx
On Dez 02 2022, Adhemerval Zanella via Libc-alpha wrote:
> diff --git a/sysdeps/x86/configure.ac b/sysdeps/x86/configure.ac
> index edd43a2551..ac55dc674a 100644
> --- a/sysdeps/x86/configure.ac
> +++ b/sysdeps/x86/configure.ac
> @@ -22,7 +22,7 @@ EOF
> fi
> if test $enable_cet != no; then
> # Check if assembler supports CET.
> - AC_CACHE_CHECK(whether $AS supports CET,
> + AC_CACHE_CHECK(whether compiler supports CET,
It is still testing the assembler, not the compiler.
On 06/12/22 10:45, Andreas Schwab wrote:
> On Dez 02 2022, Adhemerval Zanella via Libc-alpha wrote:
>
>> diff --git a/sysdeps/x86/configure.ac b/sysdeps/x86/configure.ac
>> index edd43a2551..ac55dc674a 100644
>> --- a/sysdeps/x86/configure.ac
>> +++ b/sysdeps/x86/configure.ac
>> @@ -22,7 +22,7 @@ EOF
>> fi
>> if test $enable_cet != no; then
>> # Check if assembler supports CET.
>> - AC_CACHE_CHECK(whether $AS supports CET,
>> + AC_CACHE_CHECK(whether compiler supports CET,
>
> It is still testing the assembler, not the compiler.
>
Alright, I will change to 'assembler'.
@@ -118,7 +118,6 @@ case "$CC" in
*fuse-ld=lld*) LDNAME=ld.lld;;
*) LDNAME=ld;;
esac
-AS=`$CC -print-prog-name=as`
LD=`$CC -print-prog-name=$LDNAME`
AR=`$CC -print-prog-name=ar`
AC_SUBST(AR)
@@ -654,7 +654,6 @@ MAKEINFO
MSGFMT
MAKE
LD
-AS
GPROF
OBJCOPY
AR
@@ -4146,7 +4145,6 @@ case "$CC" in
*fuse-ld=lld*) LDNAME=ld.lld;;
*) LDNAME=ld;;
esac
-AS=`$CC -print-prog-name=as`
LD=`$CC -print-prog-name=$LDNAME`
AR=`$CC -print-prog-name=ar`
@@ -4157,70 +4155,6 @@ GPROF=`$CC -print-prog-name=gprof`
# Accept binutils 2.25 or newer.
-for ac_prog in $AS
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AS+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$AS"; then
- ac_cv_prog_AS="$AS" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_AS="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-AS=$ac_cv_prog_AS
-if test -n "$AS"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AS" >&5
-$as_echo "$AS" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$AS" && break
-done
-
-if test -z "$AS"; then
- ac_verc_fail=yes
-else
- # Found it, now check the version.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking version of $AS" >&5
-$as_echo_n "checking version of $AS... " >&6; }
- ac_prog_version=`$AS --version 2>&1 | sed -n 's/^.*GNU assembler.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
- case $ac_prog_version in
- '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
- 2.1[0-9][0-9]*|2.2[5-9]*|2.[3-9][0-9]*|[3-9].*|[1-9][0-9]*)
- ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
- *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
-
- esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_prog_version" >&5
-$as_echo "$ac_prog_version" >&6; }
-fi
-if test $ac_verc_fail = yes; then
- AS=: critic_missing="$critic_missing as"
-fi
-
-
libc_cv_with_lld=no
case $($LD --version) in
"GNU gold"*)
@@ -572,11 +572,6 @@ AC_PROG_LN_S
LIBC_PROG_BINUTILS
# Accept binutils 2.25 or newer.
-AC_CHECK_PROG_VER(AS, $AS, --version,
- [GNU assembler.* \([0-9]*\.[0-9.]*\)],
- [2.1[0-9][0-9]*|2.2[5-9]*|2.[3-9][0-9]*|[3-9].*|[1-9][0-9]*],
- AS=: critic_missing="$critic_missing as")
-
libc_cv_with_lld=no
case $($LD --version) in
"GNU gold"*)
@@ -1522,7 +1522,6 @@ class GlibcPolicyDefault(object):
'CC=%s' % glibc.tool_name('gcc'),
'CXX=%s' % glibc.tool_name('g++'),
'AR=%s' % glibc.tool_name('ar'),
- 'AS=%s' % glibc.tool_name('as'),
'LD=%s' % glibc.tool_name('ld'),
'NM=%s' % glibc.tool_name('nm'),
'OBJCOPY=%s' % glibc.tool_name('objcopy'),
@@ -33,8 +33,8 @@ $as_echo "$libc_cv_x86_cet_available" >&6; }
fi
if test $enable_cet != no; then
# Check if assembler supports CET.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $AS supports CET" >&5
-$as_echo_n "checking whether $AS supports CET... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler supports CET" >&5
+$as_echo_n "checking whether compiler supports CET... " >&6; }
if ${libc_cv_x86_cet_as+:} false; then :
$as_echo_n "(cached) " >&6
else
@@ -22,7 +22,7 @@ EOF
fi
if test $enable_cet != no; then
# Check if assembler supports CET.
- AC_CACHE_CHECK(whether $AS supports CET,
+ AC_CACHE_CHECK(whether compiler supports CET,
libc_cv_x86_cet_as, [dnl
cat > conftest.s <<EOF
incsspd %ecx