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.
Related show

Commit Message

Kito Cheng Feb. 23, 2021, 8:08 a.m.
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(-)

-- 
2.30.0

Comments

Richard Biener Feb. 23, 2021, 8:18 a.m. | #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)

> 


-- 
Richard Biener <rguenther@suse.de>
SUSE Software Solutions Germany GmbH, Maxfeldstrasse 5, 90409 Nuernberg,
Germany; GF: Felix Imendörffer; HRB 36809 (AG Nuernberg)
Martin Sebor via Gcc-patches Feb. 23, 2021, 9:20 a.m. | #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)

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)