[4/6] configure: Remove AS check

Message ID 20221202190030.1671870-5-adhemerval.zanella@linaro.org
State Committed
Commit 2b0da5028dc85421dae2bbe67727b896569c814f
Headers
Series Refactor binutils configure usage |

Commit Message

Adhemerval Zanella Dec. 2, 2022, 7 p.m. UTC
  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

Carlos O'Donell Dec. 5, 2022, 3:56 p.m. UTC | #1
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
  
Andreas Schwab Dec. 6, 2022, 1:45 p.m. UTC | #2
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.
  
Adhemerval Zanella Dec. 6, 2022, 3:59 p.m. UTC | #3
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'.
  

Patch

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`
 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
@@ -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"*)
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")
-
 libc_cv_with_lld=no
 case $($LD --version) in
   "GNU gold"*)
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'),
             '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
@@ -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,
 		 libc_cv_x86_cet_as, [dnl
 cat > conftest.s <<EOF
 	incsspd %ecx