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 > >