diff mbox series

config.sub, config.guess : Import upstream 2021-01-25.

Message ID 20210223080834.27900-1-kito.cheng@sifive.com
State New
Headers show
Series config.sub, config.guess : Import upstream 2021-01-25. | expand

Commit Message

Kito Cheng Feb. 23, 2021, 8:08 a.m. UTC
Hi

Does it update config.sub and config.guess, I know it's already
stage 4, but the config.* stuff update should be harmless things,
and we need this for RISC-V big-endian support, which is already
supported in binutils 2.36.

This imports from:

sha1 6faca61810d335c7837f320733fe8e15a1431fc2

ChangeLog:

            * config.guess: Import latest upstream.
            * config.sub: Import latest upstream.
---
 config.guess | 48 +++++++++++++++++++++++++++++++-----------------
 config.sub   | 23 +++++++++++++++--------
 2 files changed, 46 insertions(+), 25 deletions(-)

Comments

Richard Biener Feb. 23, 2021, 8:18 a.m. UTC | #1
On Tue, 23 Feb 2021, Kito Cheng wrote:

> Hi
> 
> Does it update config.sub and config.guess, I know it's already
> stage 4, but the config.* stuff update should be harmless things,
> and we need this for RISC-V big-endian support, which is already
> supported in binutils 2.36.
> 
> This imports from:
> 
> sha1 6faca61810d335c7837f320733fe8e15a1431fc2

OK.

> ChangeLog:
> 
>             * config.guess: Import latest upstream.
>             * config.sub: Import latest upstream.
> ---
>  config.guess | 48 +++++++++++++++++++++++++++++++-----------------
>  config.sub   | 23 +++++++++++++++--------
>  2 files changed, 46 insertions(+), 25 deletions(-)
> 
> diff --git a/config.guess b/config.guess
> index 0fc11edb2d1..1972fda8eb0 100755
> --- a/config.guess
> +++ b/config.guess
> @@ -1,8 +1,8 @@
>  #! /bin/sh
>  # Attempt to guess a canonical system name.
> -#   Copyright 1992-2020 Free Software Foundation, Inc.
> +#   Copyright 1992-2021 Free Software Foundation, Inc.
>  
> -timestamp='2020-11-07'
> +timestamp='2021-01-25'
>  
>  # This file is free software; you can redistribute it and/or modify it
>  # under the terms of the GNU General Public License as published by
> @@ -27,7 +27,7 @@ timestamp='2020-11-07'
>  # Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
>  #
>  # You can get the latest version of this script from:
> -# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
> +# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess
>  #
>  # Please send patches to <config-patches@gnu.org>.
>  
> @@ -50,7 +50,7 @@ version="\
>  GNU config.guess ($timestamp)
>  
>  Originally written by Per Bothner.
> -Copyright 1992-2020 Free Software Foundation, Inc.
> +Copyright 1992-2021 Free Software Foundation, Inc.
>  
>  This is free software; see the source for copying conditions.  There is NO
>  warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
> @@ -138,9 +138,7 @@ UNAME_VERSION=$( (uname -v) 2>/dev/null) || UNAME_VERSION=unknown
>  
>  case "$UNAME_SYSTEM" in
>  Linux|GNU|GNU/*)
> -	# If the system lacks a compiler, then just pick glibc.
> -	# We could probably try harder.
> -	LIBC=gnu
> +	LIBC=unknown
>  
>  	set_cc_for_build
>  	cat <<-EOF > "$dummy.c"
> @@ -149,16 +147,30 @@ Linux|GNU|GNU/*)
>  	LIBC=uclibc
>  	#elif defined(__dietlibc__)
>  	LIBC=dietlibc
> +	#elif defined(__GLIBC__)
> +	LIBC=gnu
>  	#else
>  	#include <stdarg.h>
> +	/* First heuristic to detect musl libc.  */
>  	#ifdef __DEFINED_va_list
>  	LIBC=musl
> -	#else
> -	LIBC=gnu
>  	#endif
>  	#endif
>  	EOF
>  	eval "$($CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g')"
> +
> +	# Second heuristic to detect musl libc.
> +	if [ "$LIBC" = unknown ] &&
> +	   command -v ldd >/dev/null &&
> +	   ldd --version 2>&1 | grep -q ^musl; then
> +		LIBC=musl
> +	fi
> +
> +	# If the system lacks a compiler, then just pick glibc.
> +	# We could probably try harder.
> +	if [ "$LIBC" = unknown ]; then
> +		LIBC=gnu
> +	fi
>  	;;
>  esac
>  
> @@ -176,10 +188,9 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
>  	#
>  	# Note: NetBSD doesn't particularly care about the vendor
>  	# portion of the name.  We always set it to "unknown".
> -	sysctl="sysctl -n hw.machine_arch"
>  	UNAME_MACHINE_ARCH=$( (uname -p 2>/dev/null || \
> -	    "/sbin/$sysctl" 2>/dev/null || \
> -	    "/usr/sbin/$sysctl" 2>/dev/null || \
> +	    /sbin/sysctl -n hw.machine_arch 2>/dev/null || \
> +	    /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \
>  	    echo unknown))
>  	case "$UNAME_MACHINE_ARCH" in
>  	    aarch64eb) machine=aarch64_be-unknown ;;
> @@ -984,6 +995,9 @@ EOF
>      k1om:Linux:*:*)
>  	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
>  	exit ;;
> +    loongarch32:Linux:*:* | loongarch64:Linux:*:* | loongarchx32:Linux:*:*)
> +	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
> +	exit ;;
>      m32r*:Linux:*:*)
>  	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
>  	exit ;;
> @@ -1072,7 +1086,7 @@ EOF
>      ppcle:Linux:*:*)
>  	echo powerpcle-unknown-linux-"$LIBC"
>  	exit ;;
> -    riscv32:Linux:*:* | riscv64:Linux:*:*)
> +    riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*)
>  	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
>  	exit ;;
>      s390:Linux:*:* | s390x:Linux:*:*)
> @@ -1468,8 +1482,8 @@ EOF
>      i*86:rdos:*:*)
>  	echo "$UNAME_MACHINE"-pc-rdos
>  	exit ;;
> -    i*86:AROS:*:*)
> -	echo "$UNAME_MACHINE"-pc-aros
> +    *:AROS:*:*)
> +	echo "$UNAME_MACHINE"-unknown-aros
>  	exit ;;
>      x86_64:VMkernel:*:*)
>  	echo "$UNAME_MACHINE"-unknown-esx
> @@ -1638,9 +1652,9 @@ This script (version $timestamp), has failed to recognize the
>  operating system you are using. If your script is old, overwrite *all*
>  copies of config.guess and config.sub with the latest versions from:
>  
> -  https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
> +  https://git.savannah.gnu.org/cgit/config.git/plain/config.guess
>  and
> -  https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
> +  https://git.savannah.gnu.org/cgit/config.git/plain/config.sub
>  EOF
>  
>  year=$(echo $timestamp | sed 's,-.*,,')
> diff --git a/config.sub b/config.sub
> index c874b7a9df8..63c1f1c8b5e 100755
> --- a/config.sub
> +++ b/config.sub
> @@ -1,8 +1,8 @@
>  #! /bin/sh
>  # Configuration validation subroutine script.
> -#   Copyright 1992-2020 Free Software Foundation, Inc.
> +#   Copyright 1992-2021 Free Software Foundation, Inc.
>  
> -timestamp='2020-11-07'
> +timestamp='2021-01-08'
>  
>  # This file is free software; you can redistribute it and/or modify it
>  # under the terms of the GNU General Public License as published by
> @@ -33,7 +33,7 @@ timestamp='2020-11-07'
>  # Otherwise, we print the canonical config type on stdout and succeed.
>  
>  # You can get the latest version of this script from:
> -# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
> +# https://git.savannah.gnu.org/cgit/config.git/plain/config.sub
>  
>  # This file is supposed to be the same for all GNU packages
>  # and recognize all the CPU types, system types and aliases
> @@ -67,7 +67,7 @@ Report bugs and patches to <config-patches@gnu.org>."
>  version="\
>  GNU config.sub ($timestamp)
>  
> -Copyright 1992-2020 Free Software Foundation, Inc.
> +Copyright 1992-2021 Free Software Foundation, Inc.
>  
>  This is free software; see the source for copying conditions.  There is NO
>  warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
> @@ -1185,6 +1185,7 @@ case $cpu-$vendor in
>  			| k1om \
>  			| le32 | le64 \
>  			| lm32 \
> +			| loongarch32 | loongarch64 | loongarchx32 \
>  			| m32c | m32r | m32rle \
>  			| m5200 | m68000 | m680[012346]0 | m68360 | m683?2 | m68k \
>  			| m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x \
> @@ -1229,7 +1230,7 @@ case $cpu-$vendor in
>  			| powerpc | powerpc64 | powerpc64le | powerpcle | powerpcspe \
>  			| pru \
>  			| pyramid \
> -			| riscv | riscv32 | riscv64 \
> +			| riscv | riscv32 | riscv32be | riscv64 | riscv64be \
>  			| rl78 | romp | rs6000 | rx \
>  			| s390 | s390x \
>  			| score \
> @@ -1241,6 +1242,7 @@ case $cpu-$vendor in
>  			| sparcv8 | sparcv9 | sparcv9b | sparcv9v | sv1 | sx* \
>  			| spu \
>  			| tahoe \
> +			| thumbv7* \
>  			| tic30 | tic4x | tic54x | tic55x | tic6x | tic80 \
>  			| tron \
>  			| ubicom32 \
> @@ -1681,11 +1683,14 @@ fi
>  
>  # Now, validate our (potentially fixed-up) OS.
>  case $os in
> -	# Sometimes we do "kernel-abi", so those need to count as OSes.
> +	# Sometimes we do "kernel-libc", so those need to count as OSes.
>  	musl* | newlib* | uclibc*)
>  		;;
> -	# Likewise for "kernel-libc"
> -	eabi | eabihf | gnueabi | gnueabihf)
> +	# Likewise for "kernel-abi"
> +	eabi* | gnueabi*)
> +		;;
> +	# VxWorks passes extra cpu info in the 4th filed.
> +	simlinux | simwindows | spe)
>  		;;
>  	# Now accept the basic system types.
>  	# The portable systems comes first.
> @@ -1749,6 +1754,8 @@ case $kernel-$os in
>  		;;
>  	kfreebsd*-gnu* | kopensolaris*-gnu*)
>  		;;
> +	vxworks-simlinux | vxworks-simwindows | vxworks-spe)
> +		;;
>  	nto-qnx*)
>  		;;
>  	os2-emx)
>
Kito Cheng Feb. 23, 2021, 9:20 a.m. UTC | #2
Committed, thanks!

On Tue, Feb 23, 2021 at 4:18 PM Richard Biener <rguenther@suse.de> wrote:
>
> On Tue, 23 Feb 2021, Kito Cheng wrote:
>
> > Hi
> >
> > Does it update config.sub and config.guess, I know it's already
> > stage 4, but the config.* stuff update should be harmless things,
> > and we need this for RISC-V big-endian support, which is already
> > supported in binutils 2.36.
> >
> > This imports from:
> >
> > sha1 6faca61810d335c7837f320733fe8e15a1431fc2
>
> OK.
>
> > ChangeLog:
> >
> >             * config.guess: Import latest upstream.
> >             * config.sub: Import latest upstream.
> > ---
> >  config.guess | 48 +++++++++++++++++++++++++++++++-----------------
> >  config.sub   | 23 +++++++++++++++--------
> >  2 files changed, 46 insertions(+), 25 deletions(-)
> >
> > diff --git a/config.guess b/config.guess
> > index 0fc11edb2d1..1972fda8eb0 100755
> > --- a/config.guess
> > +++ b/config.guess
> > @@ -1,8 +1,8 @@
> >  #! /bin/sh
> >  # Attempt to guess a canonical system name.
> > -#   Copyright 1992-2020 Free Software Foundation, Inc.
> > +#   Copyright 1992-2021 Free Software Foundation, Inc.
> >
> > -timestamp='2020-11-07'
> > +timestamp='2021-01-25'
> >
> >  # This file is free software; you can redistribute it and/or modify it
> >  # under the terms of the GNU General Public License as published by
> > @@ -27,7 +27,7 @@ timestamp='2020-11-07'
> >  # Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
> >  #
> >  # You can get the latest version of this script from:
> > -# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
> > +# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess
> >  #
> >  # Please send patches to <config-patches@gnu.org>.
> >
> > @@ -50,7 +50,7 @@ version="\
> >  GNU config.guess ($timestamp)
> >
> >  Originally written by Per Bothner.
> > -Copyright 1992-2020 Free Software Foundation, Inc.
> > +Copyright 1992-2021 Free Software Foundation, Inc.
> >
> >  This is free software; see the source for copying conditions.  There is NO
> >  warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
> > @@ -138,9 +138,7 @@ UNAME_VERSION=$( (uname -v) 2>/dev/null) || UNAME_VERSION=unknown
> >
> >  case "$UNAME_SYSTEM" in
> >  Linux|GNU|GNU/*)
> > -     # If the system lacks a compiler, then just pick glibc.
> > -     # We could probably try harder.
> > -     LIBC=gnu
> > +     LIBC=unknown
> >
> >       set_cc_for_build
> >       cat <<-EOF > "$dummy.c"
> > @@ -149,16 +147,30 @@ Linux|GNU|GNU/*)
> >       LIBC=uclibc
> >       #elif defined(__dietlibc__)
> >       LIBC=dietlibc
> > +     #elif defined(__GLIBC__)
> > +     LIBC=gnu
> >       #else
> >       #include <stdarg.h>
> > +     /* First heuristic to detect musl libc.  */
> >       #ifdef __DEFINED_va_list
> >       LIBC=musl
> > -     #else
> > -     LIBC=gnu
> >       #endif
> >       #endif
> >       EOF
> >       eval "$($CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g')"
> > +
> > +     # Second heuristic to detect musl libc.
> > +     if [ "$LIBC" = unknown ] &&
> > +        command -v ldd >/dev/null &&
> > +        ldd --version 2>&1 | grep -q ^musl; then
> > +             LIBC=musl
> > +     fi
> > +
> > +     # If the system lacks a compiler, then just pick glibc.
> > +     # We could probably try harder.
> > +     if [ "$LIBC" = unknown ]; then
> > +             LIBC=gnu
> > +     fi
> >       ;;
> >  esac
> >
> > @@ -176,10 +188,9 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
> >       #
> >       # Note: NetBSD doesn't particularly care about the vendor
> >       # portion of the name.  We always set it to "unknown".
> > -     sysctl="sysctl -n hw.machine_arch"
> >       UNAME_MACHINE_ARCH=$( (uname -p 2>/dev/null || \
> > -         "/sbin/$sysctl" 2>/dev/null || \
> > -         "/usr/sbin/$sysctl" 2>/dev/null || \
> > +         /sbin/sysctl -n hw.machine_arch 2>/dev/null || \
> > +         /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \
> >           echo unknown))
> >       case "$UNAME_MACHINE_ARCH" in
> >           aarch64eb) machine=aarch64_be-unknown ;;
> > @@ -984,6 +995,9 @@ EOF
> >      k1om:Linux:*:*)
> >       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
> >       exit ;;
> > +    loongarch32:Linux:*:* | loongarch64:Linux:*:* | loongarchx32:Linux:*:*)
> > +     echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
> > +     exit ;;
> >      m32r*:Linux:*:*)
> >       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
> >       exit ;;
> > @@ -1072,7 +1086,7 @@ EOF
> >      ppcle:Linux:*:*)
> >       echo powerpcle-unknown-linux-"$LIBC"
> >       exit ;;
> > -    riscv32:Linux:*:* | riscv64:Linux:*:*)
> > +    riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*)
> >       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
> >       exit ;;
> >      s390:Linux:*:* | s390x:Linux:*:*)
> > @@ -1468,8 +1482,8 @@ EOF
> >      i*86:rdos:*:*)
> >       echo "$UNAME_MACHINE"-pc-rdos
> >       exit ;;
> > -    i*86:AROS:*:*)
> > -     echo "$UNAME_MACHINE"-pc-aros
> > +    *:AROS:*:*)
> > +     echo "$UNAME_MACHINE"-unknown-aros
> >       exit ;;
> >      x86_64:VMkernel:*:*)
> >       echo "$UNAME_MACHINE"-unknown-esx
> > @@ -1638,9 +1652,9 @@ This script (version $timestamp), has failed to recognize the
> >  operating system you are using. If your script is old, overwrite *all*
> >  copies of config.guess and config.sub with the latest versions from:
> >
> > -  https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
> > +  https://git.savannah.gnu.org/cgit/config.git/plain/config.guess
> >  and
> > -  https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
> > +  https://git.savannah.gnu.org/cgit/config.git/plain/config.sub
> >  EOF
> >
> >  year=$(echo $timestamp | sed 's,-.*,,')
> > diff --git a/config.sub b/config.sub
> > index c874b7a9df8..63c1f1c8b5e 100755
> > --- a/config.sub
> > +++ b/config.sub
> > @@ -1,8 +1,8 @@
> >  #! /bin/sh
> >  # Configuration validation subroutine script.
> > -#   Copyright 1992-2020 Free Software Foundation, Inc.
> > +#   Copyright 1992-2021 Free Software Foundation, Inc.
> >
> > -timestamp='2020-11-07'
> > +timestamp='2021-01-08'
> >
> >  # This file is free software; you can redistribute it and/or modify it
> >  # under the terms of the GNU General Public License as published by
> > @@ -33,7 +33,7 @@ timestamp='2020-11-07'
> >  # Otherwise, we print the canonical config type on stdout and succeed.
> >
> >  # You can get the latest version of this script from:
> > -# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
> > +# https://git.savannah.gnu.org/cgit/config.git/plain/config.sub
> >
> >  # This file is supposed to be the same for all GNU packages
> >  # and recognize all the CPU types, system types and aliases
> > @@ -67,7 +67,7 @@ Report bugs and patches to <config-patches@gnu.org>."
> >  version="\
> >  GNU config.sub ($timestamp)
> >
> > -Copyright 1992-2020 Free Software Foundation, Inc.
> > +Copyright 1992-2021 Free Software Foundation, Inc.
> >
> >  This is free software; see the source for copying conditions.  There is NO
> >  warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
> > @@ -1185,6 +1185,7 @@ case $cpu-$vendor in
> >                       | k1om \
> >                       | le32 | le64 \
> >                       | lm32 \
> > +                     | loongarch32 | loongarch64 | loongarchx32 \
> >                       | m32c | m32r | m32rle \
> >                       | m5200 | m68000 | m680[012346]0 | m68360 | m683?2 | m68k \
> >                       | m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x \
> > @@ -1229,7 +1230,7 @@ case $cpu-$vendor in
> >                       | powerpc | powerpc64 | powerpc64le | powerpcle | powerpcspe \
> >                       | pru \
> >                       | pyramid \
> > -                     | riscv | riscv32 | riscv64 \
> > +                     | riscv | riscv32 | riscv32be | riscv64 | riscv64be \
> >                       | rl78 | romp | rs6000 | rx \
> >                       | s390 | s390x \
> >                       | score \
> > @@ -1241,6 +1242,7 @@ case $cpu-$vendor in
> >                       | sparcv8 | sparcv9 | sparcv9b | sparcv9v | sv1 | sx* \
> >                       | spu \
> >                       | tahoe \
> > +                     | thumbv7* \
> >                       | tic30 | tic4x | tic54x | tic55x | tic6x | tic80 \
> >                       | tron \
> >                       | ubicom32 \
> > @@ -1681,11 +1683,14 @@ fi
> >
> >  # Now, validate our (potentially fixed-up) OS.
> >  case $os in
> > -     # Sometimes we do "kernel-abi", so those need to count as OSes.
> > +     # Sometimes we do "kernel-libc", so those need to count as OSes.
> >       musl* | newlib* | uclibc*)
> >               ;;
> > -     # Likewise for "kernel-libc"
> > -     eabi | eabihf | gnueabi | gnueabihf)
> > +     # Likewise for "kernel-abi"
> > +     eabi* | gnueabi*)
> > +             ;;
> > +     # VxWorks passes extra cpu info in the 4th filed.
> > +     simlinux | simwindows | spe)
> >               ;;
> >       # Now accept the basic system types.
> >       # The portable systems comes first.
> > @@ -1749,6 +1754,8 @@ case $kernel-$os in
> >               ;;
> >       kfreebsd*-gnu* | kopensolaris*-gnu*)
> >               ;;
> > +     vxworks-simlinux | vxworks-simwindows | vxworks-spe)
> > +             ;;
> >       nto-qnx*)
> >               ;;
> >       os2-emx)
> >
>
> --
> Richard Biener <rguenther@suse.de>
> SUSE Software Solutions Germany GmbH, Maxfeldstrasse 5, 90409 Nuernberg,
> Germany; GF: Felix Imendörffer; HRB 36809 (AG Nuernberg)
diff mbox series

Patch

diff --git a/config.guess b/config.guess
index 0fc11edb2d1..1972fda8eb0 100755
--- a/config.guess
+++ b/config.guess
@@ -1,8 +1,8 @@ 
 #! /bin/sh
 # Attempt to guess a canonical system name.
-#   Copyright 1992-2020 Free Software Foundation, Inc.
+#   Copyright 1992-2021 Free Software Foundation, Inc.
 
-timestamp='2020-11-07'
+timestamp='2021-01-25'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -27,7 +27,7 @@  timestamp='2020-11-07'
 # Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
 #
 # You can get the latest version of this script from:
-# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
+# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess
 #
 # Please send patches to <config-patches@gnu.org>.
 
@@ -50,7 +50,7 @@  version="\
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright 1992-2020 Free Software Foundation, Inc.
+Copyright 1992-2021 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -138,9 +138,7 @@  UNAME_VERSION=$( (uname -v) 2>/dev/null) || UNAME_VERSION=unknown
 
 case "$UNAME_SYSTEM" in
 Linux|GNU|GNU/*)
-	# If the system lacks a compiler, then just pick glibc.
-	# We could probably try harder.
-	LIBC=gnu
+	LIBC=unknown
 
 	set_cc_for_build
 	cat <<-EOF > "$dummy.c"
@@ -149,16 +147,30 @@  Linux|GNU|GNU/*)
 	LIBC=uclibc
 	#elif defined(__dietlibc__)
 	LIBC=dietlibc
+	#elif defined(__GLIBC__)
+	LIBC=gnu
 	#else
 	#include <stdarg.h>
+	/* First heuristic to detect musl libc.  */
 	#ifdef __DEFINED_va_list
 	LIBC=musl
-	#else
-	LIBC=gnu
 	#endif
 	#endif
 	EOF
 	eval "$($CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g')"
+
+	# Second heuristic to detect musl libc.
+	if [ "$LIBC" = unknown ] &&
+	   command -v ldd >/dev/null &&
+	   ldd --version 2>&1 | grep -q ^musl; then
+		LIBC=musl
+	fi
+
+	# If the system lacks a compiler, then just pick glibc.
+	# We could probably try harder.
+	if [ "$LIBC" = unknown ]; then
+		LIBC=gnu
+	fi
 	;;
 esac
 
@@ -176,10 +188,9 @@  case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
 	#
 	# Note: NetBSD doesn't particularly care about the vendor
 	# portion of the name.  We always set it to "unknown".
-	sysctl="sysctl -n hw.machine_arch"
 	UNAME_MACHINE_ARCH=$( (uname -p 2>/dev/null || \
-	    "/sbin/$sysctl" 2>/dev/null || \
-	    "/usr/sbin/$sysctl" 2>/dev/null || \
+	    /sbin/sysctl -n hw.machine_arch 2>/dev/null || \
+	    /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \
 	    echo unknown))
 	case "$UNAME_MACHINE_ARCH" in
 	    aarch64eb) machine=aarch64_be-unknown ;;
@@ -984,6 +995,9 @@  EOF
     k1om:Linux:*:*)
 	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
 	exit ;;
+    loongarch32:Linux:*:* | loongarch64:Linux:*:* | loongarchx32:Linux:*:*)
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+	exit ;;
     m32r*:Linux:*:*)
 	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
 	exit ;;
@@ -1072,7 +1086,7 @@  EOF
     ppcle:Linux:*:*)
 	echo powerpcle-unknown-linux-"$LIBC"
 	exit ;;
-    riscv32:Linux:*:* | riscv64:Linux:*:*)
+    riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*)
 	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
 	exit ;;
     s390:Linux:*:* | s390x:Linux:*:*)
@@ -1468,8 +1482,8 @@  EOF
     i*86:rdos:*:*)
 	echo "$UNAME_MACHINE"-pc-rdos
 	exit ;;
-    i*86:AROS:*:*)
-	echo "$UNAME_MACHINE"-pc-aros
+    *:AROS:*:*)
+	echo "$UNAME_MACHINE"-unknown-aros
 	exit ;;
     x86_64:VMkernel:*:*)
 	echo "$UNAME_MACHINE"-unknown-esx
@@ -1638,9 +1652,9 @@  This script (version $timestamp), has failed to recognize the
 operating system you are using. If your script is old, overwrite *all*
 copies of config.guess and config.sub with the latest versions from:
 
-  https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
+  https://git.savannah.gnu.org/cgit/config.git/plain/config.guess
 and
-  https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
+  https://git.savannah.gnu.org/cgit/config.git/plain/config.sub
 EOF
 
 year=$(echo $timestamp | sed 's,-.*,,')
diff --git a/config.sub b/config.sub
index c874b7a9df8..63c1f1c8b5e 100755
--- a/config.sub
+++ b/config.sub
@@ -1,8 +1,8 @@ 
 #! /bin/sh
 # Configuration validation subroutine script.
-#   Copyright 1992-2020 Free Software Foundation, Inc.
+#   Copyright 1992-2021 Free Software Foundation, Inc.
 
-timestamp='2020-11-07'
+timestamp='2021-01-08'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -33,7 +33,7 @@  timestamp='2020-11-07'
 # Otherwise, we print the canonical config type on stdout and succeed.
 
 # You can get the latest version of this script from:
-# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
+# https://git.savannah.gnu.org/cgit/config.git/plain/config.sub
 
 # This file is supposed to be the same for all GNU packages
 # and recognize all the CPU types, system types and aliases
@@ -67,7 +67,7 @@  Report bugs and patches to <config-patches@gnu.org>."
 version="\
 GNU config.sub ($timestamp)
 
-Copyright 1992-2020 Free Software Foundation, Inc.
+Copyright 1992-2021 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -1185,6 +1185,7 @@  case $cpu-$vendor in
 			| k1om \
 			| le32 | le64 \
 			| lm32 \
+			| loongarch32 | loongarch64 | loongarchx32 \
 			| m32c | m32r | m32rle \
 			| m5200 | m68000 | m680[012346]0 | m68360 | m683?2 | m68k \
 			| m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x \
@@ -1229,7 +1230,7 @@  case $cpu-$vendor in
 			| powerpc | powerpc64 | powerpc64le | powerpcle | powerpcspe \
 			| pru \
 			| pyramid \
-			| riscv | riscv32 | riscv64 \
+			| riscv | riscv32 | riscv32be | riscv64 | riscv64be \
 			| rl78 | romp | rs6000 | rx \
 			| s390 | s390x \
 			| score \
@@ -1241,6 +1242,7 @@  case $cpu-$vendor in
 			| sparcv8 | sparcv9 | sparcv9b | sparcv9v | sv1 | sx* \
 			| spu \
 			| tahoe \
+			| thumbv7* \
 			| tic30 | tic4x | tic54x | tic55x | tic6x | tic80 \
 			| tron \
 			| ubicom32 \
@@ -1681,11 +1683,14 @@  fi
 
 # Now, validate our (potentially fixed-up) OS.
 case $os in
-	# Sometimes we do "kernel-abi", so those need to count as OSes.
+	# Sometimes we do "kernel-libc", so those need to count as OSes.
 	musl* | newlib* | uclibc*)
 		;;
-	# Likewise for "kernel-libc"
-	eabi | eabihf | gnueabi | gnueabihf)
+	# Likewise for "kernel-abi"
+	eabi* | gnueabi*)
+		;;
+	# VxWorks passes extra cpu info in the 4th filed.
+	simlinux | simwindows | spe)
 		;;
 	# Now accept the basic system types.
 	# The portable systems comes first.
@@ -1749,6 +1754,8 @@  case $kernel-$os in
 		;;
 	kfreebsd*-gnu* | kopensolaris*-gnu*)
 		;;
+	vxworks-simlinux | vxworks-simwindows | vxworks-spe)
+		;;
 	nto-qnx*)
 		;;
 	os2-emx)