[1/2] Update config.sub to GCC master branch version

Message ID 20240821133203.2090838-1-ykolerov@synopsys.com
State New
Headers
Series [1/2] Update config.sub to GCC master branch version |

Commit Message

Yuriy Kolerov Aug. 21, 2024, 1:32 p.m. UTC
  From: Yuriy Kolerov <ykolerov@synopsys.com>

New config.sub contains support of Synopsys ARCv3 targets. It's
necessary for further porting Newlib for ARCv3.

config.guess has not been updated yet in GCC.

Signed-off-by: Yuriy Kolerov <ykolerov@synopsys.com>
---
 config.sub | 81 +++++++++++++++++++++++++++++++++++-------------------
 1 file changed, 53 insertions(+), 28 deletions(-)
  

Comments

Jeff Johnston Aug. 21, 2024, 7:19 p.m. UTC | #1
Patch applied.

-- Jeff J.

On Wed, Aug 21, 2024 at 9:32 AM <Yuriy.Kolerov@synopsys.com> wrote:

> From: Yuriy Kolerov <ykolerov@synopsys.com>
>
> New config.sub contains support of Synopsys ARCv3 targets. It's
> necessary for further porting Newlib for ARCv3.
>
> config.guess has not been updated yet in GCC.
>
> Signed-off-by: Yuriy Kolerov <ykolerov@synopsys.com>
> ---
>  config.sub | 81 +++++++++++++++++++++++++++++++++++-------------------
>  1 file changed, 53 insertions(+), 28 deletions(-)
>
> diff --git a/config.sub b/config.sub
> index 63c1f1c8b..38f3d037a 100755
> --- a/config.sub
> +++ b/config.sub
> @@ -2,7 +2,9 @@
>  # Configuration validation subroutine script.
>  #   Copyright 1992-2021 Free Software Foundation, Inc.
>
> -timestamp='2021-01-08'
> +# shellcheck disable=SC2006,SC2268 # see below for rationale
> +
> +timestamp='2021-10-27'
>
>  # 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
> @@ -50,7 +52,14 @@ timestamp='2021-01-08'
>  #      CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
>  # It is wrong to echo any other type of specification.
>
> -me=$(echo "$0" | sed -e 's,.*/,,')
> +# The "shellcheck disable" line above the timestamp inhibits complaints
> +# about features and limitations of the classic Bourne shell that were
> +# superseded or lifted in POSIX.  However, this script identifies a wide
> +# variety of pre-POSIX systems that do not have POSIX shells at all, and
> +# even some reasonably current systems (Solaris 10 as case-in-point) still
> +# have a pre-POSIX /bin/sh.
> +
> +me=`echo "$0" | sed -e 's,.*/,,'`
>
>  usage="\
>  Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
> @@ -112,9 +121,11 @@ esac
>
>  # Split fields of configuration type
>  # shellcheck disable=SC2162
> +saved_IFS=$IFS
>  IFS="-" read field1 field2 field3 field4 <<EOF
>  $1
>  EOF
> +IFS=$saved_IFS
>
>  # Separate into logical components for further validation
>  case $1 in
> @@ -163,6 +174,10 @@ case $1 in
>                                                 basic_machine=$field1
>                                                 basic_os=$field2
>                                                 ;;
> +                                       zephyr*)
> +
>  basic_machine=$field1-unknown
> +                                               basic_os=$field2
> +                                               ;;
>                                         # Manufacturers
>                                         dec* | mips* | sequent* | encore*
> | pc533* | sgi* | sony* \
>                                         | att* | 7300* | 3300* | delta* |
> motorola* | sun[234]* \
> @@ -769,22 +784,22 @@ case $basic_machine in
>                 vendor=hp
>                 ;;
>         i*86v32)
> -               cpu=$(echo "$1" | sed -e 's/86.*/86/')
> +               cpu=`echo "$1" | sed -e 's/86.*/86/'`
>                 vendor=pc
>                 basic_os=sysv32
>                 ;;
>         i*86v4*)
> -               cpu=$(echo "$1" | sed -e 's/86.*/86/')
> +               cpu=`echo "$1" | sed -e 's/86.*/86/'`
>                 vendor=pc
>                 basic_os=sysv4
>                 ;;
>         i*86v)
> -               cpu=$(echo "$1" | sed -e 's/86.*/86/')
> +               cpu=`echo "$1" | sed -e 's/86.*/86/'`
>                 vendor=pc
>                 basic_os=sysv
>                 ;;
>         i*86sol2)
> -               cpu=$(echo "$1" | sed -e 's/86.*/86/')
> +               cpu=`echo "$1" | sed -e 's/86.*/86/'`
>                 vendor=pc
>                 basic_os=solaris2
>                 ;;
> @@ -917,14 +932,16 @@ case $basic_machine in
>                 ;;
>         leon-*|leon[3-9]-*)
>                 cpu=sparc
> -               vendor=$(echo "$basic_machine" | sed 's/-.*//')
> +               vendor=`echo "$basic_machine" | sed 's/-.*//'`
>                 ;;
>
>         *-*)
>                 # shellcheck disable=SC2162
> +               saved_IFS=$IFS
>                 IFS="-" read cpu vendor <<EOF
>  $basic_machine
>  EOF
> +               IFS=$saved_IFS
>                 ;;
>         # We use `pc' rather than `unknown'
>         # because (1) that's what they normally are, and
> @@ -1084,7 +1101,7 @@ case $cpu-$vendor in
>                 cpu=mipsisa64sb1el
>                 ;;
>         sh5e[lb]-*)
> -               cpu=$(echo "$cpu" | sed 's/^\(sh.\)e\(.\)$/\1\2e/')
> +               cpu=`echo "$cpu" | sed 's/^\(sh.\)e\(.\)$/\1\2e/'`
>                 ;;
>         spur-*)
>                 cpu=spur
> @@ -1102,7 +1119,7 @@ case $cpu-$vendor in
>                 cpu=x86_64
>                 ;;
>         xscale-* | xscalee[bl]-*)
> -               cpu=$(echo "$cpu" | sed 's/^xscale/arm/')
> +               cpu=`echo "$cpu" | sed 's/^xscale/arm/'`
>                 ;;
>         arm64-*)
>                 cpu=aarch64
> @@ -1165,7 +1182,7 @@ case $cpu-$vendor in
>                         | alphapca5[67] | alpha64pca5[67] \
>                         | am33_2.0 \
>                         | amdgcn \
> -                       | arc | arceb \
> +                       | arc | arceb | arc32 | arc64 \
>                         | arm | arm[lb]e | arme[lb] | armv* \
>                         | avr | avr32 \
>                         | asmjs \
> @@ -1204,9 +1221,13 @@ case $cpu-$vendor in
>                         | mips64vr5900 | mips64vr5900el \
>                         | mipsisa32 | mipsisa32el \
>                         | mipsisa32r2 | mipsisa32r2el \
> +                       | mipsisa32r3 | mipsisa32r3el \
> +                       | mipsisa32r5 | mipsisa32r5el \
>                         | mipsisa32r6 | mipsisa32r6el \
>                         | mipsisa64 | mipsisa64el \
>                         | mipsisa64r2 | mipsisa64r2el \
> +                       | mipsisa64r3 | mipsisa64r3el \
> +                       | mipsisa64r5 | mipsisa64r5el \
>                         | mipsisa64r6 | mipsisa64r6el \
>                         | mipsisa64sb1 | mipsisa64sb1el \
>                         | mipsisa64sr71k | mipsisa64sr71kel \
> @@ -1283,35 +1304,37 @@ esac
>  if test x$basic_os != x
>  then
>
> -# First recognize some ad-hoc caes, or perhaps split kernel-os, or else
> just
> +# First recognize some ad-hoc cases, or perhaps split kernel-os, or else
> just
>  # set os.
>  case $basic_os in
>         gnu/linux*)
>                 kernel=linux
> -               os=$(echo $basic_os | sed -e 's|gnu/linux|gnu|')
> +               os=`echo "$basic_os" | sed -e 's|gnu/linux|gnu|'`
>                 ;;
>         os2-emx)
>                 kernel=os2
> -               os=$(echo $basic_os | sed -e 's|os2-emx|emx|')
> +               os=`echo "$basic_os" | sed -e 's|os2-emx|emx|'`
>                 ;;
>         nto-qnx*)
>                 kernel=nto
> -               os=$(echo $basic_os | sed -e 's|nto-qnx|qnx|')
> +               os=`echo "$basic_os" | sed -e 's|nto-qnx|qnx|'`
>                 ;;
>         *-*)
>                 # shellcheck disable=SC2162
> +               saved_IFS=$IFS
>                 IFS="-" read kernel os <<EOF
>  $basic_os
>  EOF
> +               IFS=$saved_IFS
>                 ;;
>         # Default OS when just kernel was specified
>         nto*)
>                 kernel=nto
> -               os=$(echo $basic_os | sed -e 's|nto|qnx|')
> +               os=`echo "$basic_os" | sed -e 's|nto|qnx|'`
>                 ;;
>         linux*)
>                 kernel=linux
> -               os=$(echo $basic_os | sed -e 's|linux|gnu|')
> +               os=`echo "$basic_os" | sed -e 's|linux|gnu|'`
>                 ;;
>         *)
>                 kernel=
> @@ -1332,7 +1355,7 @@ case $os in
>                 os=cnk
>                 ;;
>         solaris1 | solaris1.*)
> -               os=$(echo $os | sed -e 's|solaris1|sunos4|')
> +               os=`echo "$os" | sed -e 's|solaris1|sunos4|'`
>                 ;;
>         solaris)
>                 os=solaris2
> @@ -1361,7 +1384,7 @@ case $os in
>                 os=sco3.2v4
>                 ;;
>         sco3.2.[4-9]*)
> -               os=$(echo $os | sed -e 's/sco3.2./sco3.2v/')
> +               os=`echo "$os" | sed -e 's/sco3.2./sco3.2v/'`
>                 ;;
>         sco*v* | scout)
>                 # Don't match below
> @@ -1391,7 +1414,7 @@ case $os in
>                 os=lynxos
>                 ;;
>         mac[0-9]*)
> -               os=$(echo "$os" | sed -e 's|mac|macos|')
> +               os=`echo "$os" | sed -e 's|mac|macos|'`
>                 ;;
>         opened*)
>                 os=openedition
> @@ -1400,10 +1423,10 @@ case $os in
>                 os=os400
>                 ;;
>         sunos5*)
> -               os=$(echo "$os" | sed -e 's|sunos5|solaris2|')
> +               os=`echo "$os" | sed -e 's|sunos5|solaris2|'`
>                 ;;
>         sunos6*)
> -               os=$(echo "$os" | sed -e 's|sunos6|solaris3|')
> +               os=`echo "$os" | sed -e 's|sunos6|solaris3|'`
>                 ;;
>         wince*)
>                 os=wince
> @@ -1437,7 +1460,7 @@ case $os in
>                 ;;
>         # Preserve the version number of sinix5.
>         sinix5.*)
> -               os=$(echo $os | sed -e 's|sinix|sysv|')
> +               os=`echo "$os" | sed -e 's|sinix|sysv|'`
>                 ;;
>         sinix*)
>                 os=sysv4
> @@ -1684,7 +1707,7 @@ fi
>  # Now, validate our (potentially fixed-up) OS.
>  case $os in
>         # Sometimes we do "kernel-libc", so those need to count as OSes.
> -       musl* | newlib* | uclibc*)
> +       musl* | newlib* | relibc* | uclibc*)
>                 ;;
>         # Likewise for "kernel-abi"
>         eabi* | gnueabi*)
> @@ -1707,12 +1730,12 @@ case $os in
>              | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \
>              | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \
>              | mirbsd* | netbsd* | dicos* | openedition* | ose* \
> -            | bitrig* | openbsd* | solidbsd* | libertybsd* | os108* \
> +            | bitrig* | openbsd* | secbsd* | solidbsd* | libertybsd* |
> os108* \
>              | ekkobsd* | freebsd* | riscix* | lynxos* | os400* \
>              | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \
>              | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \
>              | udi* | lites* | ieee* | go32* | aux* | hcos* \
> -            | chorusrdb* | cegcc* | glidix* \
> +            | chorusrdb* | cegcc* | glidix* | serenity* \
>              | cygwin* | msys* | pe* | moss* | proelf* | rtems* \
>              | midipix* | mingw32* | mingw64* | mint* \
>              | uxpv* | beos* | mpeix* | udk* | moxiebox* \
> @@ -1725,7 +1748,8 @@ case $os in
>              | skyos* | haiku* | rdos* | toppers* | drops* | es* \
>              | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
>              | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \
> -            | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx*)
> +            | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* |
> zephyr* \
> +            | fiwix* )
>                 ;;
>         # This one is extra strict with allowed versions
>         sco3.2v2 | sco3.2v[4-9]* | sco5v6*)
> @@ -1742,11 +1766,12 @@ esac
>  # As a final step for OS-related things, validate the OS-kernel
> combination
>  # (given a valid OS), if there is a kernel.
>  case $kernel-$os in
> -       linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* |
> linux-musl* | linux-uclibc* )
> +       linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* \
> +                  | linux-musl* | linux-relibc* | linux-uclibc* )
>                 ;;
>         uclinux-uclibc* )
>                 ;;
> -       -dietlibc* | -newlib* | -musl* | -uclibc* )
> +       -dietlibc* | -newlib* | -musl* | -relibc* | -uclibc* )
>                 # These are just libc implementations, not actual OSes,
> and thus
>                 # require a kernel.
>                 echo "Invalid configuration \`$1': libc \`$os' needs
> explicit kernel." 1>&2
> --
> 2.34.1
>
>
  

Patch

diff --git a/config.sub b/config.sub
index 63c1f1c8b..38f3d037a 100755
--- a/config.sub
+++ b/config.sub
@@ -2,7 +2,9 @@ 
 # Configuration validation subroutine script.
 #   Copyright 1992-2021 Free Software Foundation, Inc.
 
-timestamp='2021-01-08'
+# shellcheck disable=SC2006,SC2268 # see below for rationale
+
+timestamp='2021-10-27'
 
 # 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
@@ -50,7 +52,14 @@  timestamp='2021-01-08'
 #	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
 # It is wrong to echo any other type of specification.
 
-me=$(echo "$0" | sed -e 's,.*/,,')
+# The "shellcheck disable" line above the timestamp inhibits complaints
+# about features and limitations of the classic Bourne shell that were
+# superseded or lifted in POSIX.  However, this script identifies a wide
+# variety of pre-POSIX systems that do not have POSIX shells at all, and
+# even some reasonably current systems (Solaris 10 as case-in-point) still
+# have a pre-POSIX /bin/sh.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
 
 usage="\
 Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
@@ -112,9 +121,11 @@  esac
 
 # Split fields of configuration type
 # shellcheck disable=SC2162
+saved_IFS=$IFS
 IFS="-" read field1 field2 field3 field4 <<EOF
 $1
 EOF
+IFS=$saved_IFS
 
 # Separate into logical components for further validation
 case $1 in
@@ -163,6 +174,10 @@  case $1 in
 						basic_machine=$field1
 						basic_os=$field2
 						;;
+					zephyr*)
+						basic_machine=$field1-unknown
+						basic_os=$field2
+						;;
 					# Manufacturers
 					dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \
 					| att* | 7300* | 3300* | delta* | motorola* | sun[234]* \
@@ -769,22 +784,22 @@  case $basic_machine in
 		vendor=hp
 		;;
 	i*86v32)
-		cpu=$(echo "$1" | sed -e 's/86.*/86/')
+		cpu=`echo "$1" | sed -e 's/86.*/86/'`
 		vendor=pc
 		basic_os=sysv32
 		;;
 	i*86v4*)
-		cpu=$(echo "$1" | sed -e 's/86.*/86/')
+		cpu=`echo "$1" | sed -e 's/86.*/86/'`
 		vendor=pc
 		basic_os=sysv4
 		;;
 	i*86v)
-		cpu=$(echo "$1" | sed -e 's/86.*/86/')
+		cpu=`echo "$1" | sed -e 's/86.*/86/'`
 		vendor=pc
 		basic_os=sysv
 		;;
 	i*86sol2)
-		cpu=$(echo "$1" | sed -e 's/86.*/86/')
+		cpu=`echo "$1" | sed -e 's/86.*/86/'`
 		vendor=pc
 		basic_os=solaris2
 		;;
@@ -917,14 +932,16 @@  case $basic_machine in
 		;;
 	leon-*|leon[3-9]-*)
 		cpu=sparc
-		vendor=$(echo "$basic_machine" | sed 's/-.*//')
+		vendor=`echo "$basic_machine" | sed 's/-.*//'`
 		;;
 
 	*-*)
 		# shellcheck disable=SC2162
+		saved_IFS=$IFS
 		IFS="-" read cpu vendor <<EOF
 $basic_machine
 EOF
+		IFS=$saved_IFS
 		;;
 	# We use `pc' rather than `unknown'
 	# because (1) that's what they normally are, and
@@ -1084,7 +1101,7 @@  case $cpu-$vendor in
 		cpu=mipsisa64sb1el
 		;;
 	sh5e[lb]-*)
-		cpu=$(echo "$cpu" | sed 's/^\(sh.\)e\(.\)$/\1\2e/')
+		cpu=`echo "$cpu" | sed 's/^\(sh.\)e\(.\)$/\1\2e/'`
 		;;
 	spur-*)
 		cpu=spur
@@ -1102,7 +1119,7 @@  case $cpu-$vendor in
 		cpu=x86_64
 		;;
 	xscale-* | xscalee[bl]-*)
-		cpu=$(echo "$cpu" | sed 's/^xscale/arm/')
+		cpu=`echo "$cpu" | sed 's/^xscale/arm/'`
 		;;
 	arm64-*)
 		cpu=aarch64
@@ -1165,7 +1182,7 @@  case $cpu-$vendor in
 			| alphapca5[67] | alpha64pca5[67] \
 			| am33_2.0 \
 			| amdgcn \
-			| arc | arceb \
+			| arc | arceb | arc32 | arc64 \
 			| arm | arm[lb]e | arme[lb] | armv* \
 			| avr | avr32 \
 			| asmjs \
@@ -1204,9 +1221,13 @@  case $cpu-$vendor in
 			| mips64vr5900 | mips64vr5900el \
 			| mipsisa32 | mipsisa32el \
 			| mipsisa32r2 | mipsisa32r2el \
+			| mipsisa32r3 | mipsisa32r3el \
+			| mipsisa32r5 | mipsisa32r5el \
 			| mipsisa32r6 | mipsisa32r6el \
 			| mipsisa64 | mipsisa64el \
 			| mipsisa64r2 | mipsisa64r2el \
+			| mipsisa64r3 | mipsisa64r3el \
+			| mipsisa64r5 | mipsisa64r5el \
 			| mipsisa64r6 | mipsisa64r6el \
 			| mipsisa64sb1 | mipsisa64sb1el \
 			| mipsisa64sr71k | mipsisa64sr71kel \
@@ -1283,35 +1304,37 @@  esac
 if test x$basic_os != x
 then
 
-# First recognize some ad-hoc caes, or perhaps split kernel-os, or else just
+# First recognize some ad-hoc cases, or perhaps split kernel-os, or else just
 # set os.
 case $basic_os in
 	gnu/linux*)
 		kernel=linux
-		os=$(echo $basic_os | sed -e 's|gnu/linux|gnu|')
+		os=`echo "$basic_os" | sed -e 's|gnu/linux|gnu|'`
 		;;
 	os2-emx)
 		kernel=os2
-		os=$(echo $basic_os | sed -e 's|os2-emx|emx|')
+		os=`echo "$basic_os" | sed -e 's|os2-emx|emx|'`
 		;;
 	nto-qnx*)
 		kernel=nto
-		os=$(echo $basic_os | sed -e 's|nto-qnx|qnx|')
+		os=`echo "$basic_os" | sed -e 's|nto-qnx|qnx|'`
 		;;
 	*-*)
 		# shellcheck disable=SC2162
+		saved_IFS=$IFS
 		IFS="-" read kernel os <<EOF
 $basic_os
 EOF
+		IFS=$saved_IFS
 		;;
 	# Default OS when just kernel was specified
 	nto*)
 		kernel=nto
-		os=$(echo $basic_os | sed -e 's|nto|qnx|')
+		os=`echo "$basic_os" | sed -e 's|nto|qnx|'`
 		;;
 	linux*)
 		kernel=linux
-		os=$(echo $basic_os | sed -e 's|linux|gnu|')
+		os=`echo "$basic_os" | sed -e 's|linux|gnu|'`
 		;;
 	*)
 		kernel=
@@ -1332,7 +1355,7 @@  case $os in
 		os=cnk
 		;;
 	solaris1 | solaris1.*)
-		os=$(echo $os | sed -e 's|solaris1|sunos4|')
+		os=`echo "$os" | sed -e 's|solaris1|sunos4|'`
 		;;
 	solaris)
 		os=solaris2
@@ -1361,7 +1384,7 @@  case $os in
 		os=sco3.2v4
 		;;
 	sco3.2.[4-9]*)
-		os=$(echo $os | sed -e 's/sco3.2./sco3.2v/')
+		os=`echo "$os" | sed -e 's/sco3.2./sco3.2v/'`
 		;;
 	sco*v* | scout)
 		# Don't match below
@@ -1391,7 +1414,7 @@  case $os in
 		os=lynxos
 		;;
 	mac[0-9]*)
-		os=$(echo "$os" | sed -e 's|mac|macos|')
+		os=`echo "$os" | sed -e 's|mac|macos|'`
 		;;
 	opened*)
 		os=openedition
@@ -1400,10 +1423,10 @@  case $os in
 		os=os400
 		;;
 	sunos5*)
-		os=$(echo "$os" | sed -e 's|sunos5|solaris2|')
+		os=`echo "$os" | sed -e 's|sunos5|solaris2|'`
 		;;
 	sunos6*)
-		os=$(echo "$os" | sed -e 's|sunos6|solaris3|')
+		os=`echo "$os" | sed -e 's|sunos6|solaris3|'`
 		;;
 	wince*)
 		os=wince
@@ -1437,7 +1460,7 @@  case $os in
 		;;
 	# Preserve the version number of sinix5.
 	sinix5.*)
-		os=$(echo $os | sed -e 's|sinix|sysv|')
+		os=`echo "$os" | sed -e 's|sinix|sysv|'`
 		;;
 	sinix*)
 		os=sysv4
@@ -1684,7 +1707,7 @@  fi
 # Now, validate our (potentially fixed-up) OS.
 case $os in
 	# Sometimes we do "kernel-libc", so those need to count as OSes.
-	musl* | newlib* | uclibc*)
+	musl* | newlib* | relibc* | uclibc*)
 		;;
 	# Likewise for "kernel-abi"
 	eabi* | gnueabi*)
@@ -1707,12 +1730,12 @@  case $os in
 	     | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \
 	     | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \
 	     | mirbsd* | netbsd* | dicos* | openedition* | ose* \
-	     | bitrig* | openbsd* | solidbsd* | libertybsd* | os108* \
+	     | bitrig* | openbsd* | secbsd* | solidbsd* | libertybsd* | os108* \
 	     | ekkobsd* | freebsd* | riscix* | lynxos* | os400* \
 	     | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \
 	     | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \
 	     | udi* | lites* | ieee* | go32* | aux* | hcos* \
-	     | chorusrdb* | cegcc* | glidix* \
+	     | chorusrdb* | cegcc* | glidix* | serenity* \
 	     | cygwin* | msys* | pe* | moss* | proelf* | rtems* \
 	     | midipix* | mingw32* | mingw64* | mint* \
 	     | uxpv* | beos* | mpeix* | udk* | moxiebox* \
@@ -1725,7 +1748,8 @@  case $os in
 	     | skyos* | haiku* | rdos* | toppers* | drops* | es* \
 	     | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
 	     | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \
-	     | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx*)
+	     | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr* \
+	     | fiwix* )
 		;;
 	# This one is extra strict with allowed versions
 	sco3.2v2 | sco3.2v[4-9]* | sco5v6*)
@@ -1742,11 +1766,12 @@  esac
 # As a final step for OS-related things, validate the OS-kernel combination
 # (given a valid OS), if there is a kernel.
 case $kernel-$os in
-	linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* | linux-musl* | linux-uclibc* )
+	linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* \
+		   | linux-musl* | linux-relibc* | linux-uclibc* )
 		;;
 	uclinux-uclibc* )
 		;;
-	-dietlibc* | -newlib* | -musl* | -uclibc* )
+	-dietlibc* | -newlib* | -musl* | -relibc* | -uclibc* )
 		# These are just libc implementations, not actual OSes, and thus
 		# require a kernel.
 		echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2