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

Jeff Johnston <[email protected]>
Newsgroups gmane.comp.lib.newlib
Message-ID <CAOox84vn4k82sK5SjqeooLR-ivQbASo0ghOE3NBY8govdJP2ug@mail.gmail.com>
Patch applied.

-- Jeff J.

On Wed, Aug 21, 2024 at 9:32 AM <[email protected]> wrote:

> From: Yuriy Kolerov <[email protected]>
>
> 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 <[email protected]>
> ---
>  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
>
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.