unofficial mirror of libc-alpha@sourceware.org
 help / color / mirror / Atom feed
From: Carlos O'Donell via Libc-alpha <libc-alpha@sourceware.org>
To: "Adhemerval Zanella" <adhemerval.zanella@linaro.org>,
	libc-alpha@sourceware.org, "Vineet Gupta" <vineetg@rivosinc.com>,
	"Ludovic Courtès" <ludo@gnu.org>
Subject: Re: [PATCH 4/6] configure: Remove AS check
Date: Mon, 5 Dec 2022 10:56:31 -0500	[thread overview]
Message-ID: <2f0cb8b2-ef12-29ee-a8d1-a53d2255202b@redhat.com> (raw)
In-Reply-To: <20221202190030.1671870-5-adhemerval.zanella@linaro.org>

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

-- 
Cheers,
Carlos.


  reply	other threads:[~2022-12-05 15:56 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-02 19:00 [PATCH 0/6] Refactor binutils configure usage Adhemerval Zanella via Libc-alpha
2022-12-02 19:00 ` [PATCH 1/6] configure: Move locale tools early Adhemerval Zanella via Libc-alpha
2022-12-05 15:56   ` Carlos O'Donell via Libc-alpha
2022-12-02 19:00 ` [PATCH 2/6] configure: Remove check if as is GNU Adhemerval Zanella via Libc-alpha
2022-12-05 15:56   ` Carlos O'Donell via Libc-alpha
2022-12-02 19:00 ` [PATCH 3/6] configure: Remove check if ld " Adhemerval Zanella via Libc-alpha
2022-12-05 15:56   ` Carlos O'Donell via Libc-alpha
2022-12-02 19:00 ` [PATCH 4/6] configure: Remove AS check Adhemerval Zanella via Libc-alpha
2022-12-05 15:56   ` Carlos O'Donell via Libc-alpha [this message]
2022-12-06 13:45   ` Andreas Schwab via Libc-alpha
2022-12-06 15:59     ` Adhemerval Zanella Netto via Libc-alpha
2022-12-02 19:00 ` [PATCH 5/6] configure: Allow user override LD, AR, OBJCOPY, and GPROF Adhemerval Zanella via Libc-alpha
2022-12-05 15:56   ` Carlos O'Donell via Libc-alpha
2022-12-07 20:04     ` Adhemerval Zanella Netto via Libc-alpha
2022-12-02 19:00 ` [PATCH 6/6] configure: Move nm, objdump, and readelf to LIBC_PROG_BINUTILS Adhemerval Zanella via Libc-alpha
2022-12-02 23:10   ` Rajalakshmi Srinivasaraghavan via Libc-alpha
2022-12-06 13:39     ` Adhemerval Zanella Netto via Libc-alpha
2022-12-05 15:57   ` Carlos O'Donell via Libc-alpha
2022-12-20 22:01 ` [PATCH 0/6] Refactor binutils configure usage Vineet Gupta
2022-12-22 12:54   ` Adhemerval Zanella Netto via Libc-alpha
2023-01-05 21:39     ` Vineet Gupta
2023-01-05 21:54       ` Adhemerval Zanella Netto via Libc-alpha

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/libc/involved.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2f0cb8b2-ef12-29ee-a8d1-a53d2255202b@redhat.com \
    --to=libc-alpha@sourceware.org \
    --cc=adhemerval.zanella@linaro.org \
    --cc=carlos@redhat.com \
    --cc=ludo@gnu.org \
    --cc=vineetg@rivosinc.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).