It seems to me that if ‘fooco’ expands to ‘cpu-fooco-foonlyos’, where ‘cpu’ is whatever CPU was hip at the time Fooco was making computers, then ‘cpu-fooco’ should also expand to ‘cpu-fooco-foonlyos’, and ‘cpu-foonlyos’ should as well, except when ‘foonlyos’ is something generic like ‘sysv’ or ‘bsd’. Implement a bunch of cases where we didn’t do this quite right. Probably there are more. --- config.sub | 49 ++++++++++++++++++++++++++++++--------- testsuite/config-sub.data | 10 ++++++++ 2 files changed, 48 insertions(+), 11 deletions(-)
diff --git a/config.sub b/config.sub index 0eac68e..935a174 100755 --- a/config.sub +++ b/config.sub @@ -209,6 +209,7 @@ case $1 in | dec* \ | delta* \ | dg \ + | digital \ | dolphin \ | encore* \ | gould \ @@ -231,8 +232,10 @@ case $1 in | omron* \ | pc533* \ | sequent* \ + | siemens \ | sgi* \ | sim \ + | sni \ | sony* \ | sun \ | sun[234]* \ @@ -1066,14 +1069,28 @@ case $cpu-$vendor in basic_os=${basic_os:-linux-gnueabihf} ;; - # Normalized CPU+vendor pairs that imply an OS, - # if not otherwise specified + # Normalized CPU+vendor pairs that imply an OS, if not otherwise specified + m68k-isi) + basic_os=${basic_os:-sysv} + ;; + m68k-sony) + basic_os=${basic_os:-newsos} + ;; + m68k-tektronix) + basic_os=${basic_os:-bsd} + ;; + m88k-harris) + basic_os=${basic_os:-sysv3} + ;; i386-bull | m68k-bull) basic_os=${basic_os:-sysv3} ;; rs6000-bull) basic_os=${basic_os:-bosx} ;; + mips-sni) + basic_os=${basic_os:-sysv4} + ;; # Here we normalize CPU types irrespective of the vendor amd64-*) @@ -1612,6 +1629,7 @@ case $os in ;; utek*) os=bsd + vendor=`echo "$vendor" | sed -e 's|^unknown$|tektronix|'` ;; dynix*) os=bsd @@ -1628,7 +1646,11 @@ case $os in 386bsd) os=bsd ;; - ctix* | uts*) + ctix*) + os=sysv + vendor=`echo "$vendor" | sed -e 's|^unknown$|convergent|'` + ;; + uts*) os=sysv ;; nova*) @@ -1638,9 +1660,11 @@ case $os in # Preserve the version number of sinix5. sinix5.*) os=`echo "$os" | sed -e 's|sinix|sysv|'` + vendor=`echo "$vendor" | sed -e 's|^unknown$|sni|'` ;; sinix*) os=sysv4 + vendor=`echo "$vendor" | sed -e 's|^unknown$|sni|'` ;; tpf*) os=tpf @@ -1781,6 +1805,14 @@ case $cpu-$vendor in os= obj=elf ;; + # The -sgi and -siemens entries must be before the mips- entry + # or we get the wrong os. + *-sgi) + os=irix + ;; + *-siemens) + os=sysv4 + ;; mips*-cisco) os= obj=elf @@ -1793,7 +1825,8 @@ case $cpu-$vendor in os= obj=coff ;; - *-tti) # must be before sparc entry or we get the wrong os. + # This must be before the sparc-* entry or we get the wrong os. + *-tti) os=sysv3 ;; sparc-* | *-sun) @@ -1825,7 +1858,7 @@ case $cpu-$vendor in os=hpux ;; *-hitachi) - os=hiux + os=hiuxwe2 ;; i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) os=sysv @@ -1869,12 +1902,6 @@ case $cpu-$vendor in *-encore) os=bsd ;; - *-sgi) - os=irix - ;; - *-siemens) - os=sysv4 - ;; *-masscomp) os=rtu ;; diff --git a/testsuite/config-sub.data b/testsuite/config-sub.data index 17e3790..1d54d61 100644 --- a/testsuite/config-sub.data +++ b/testsuite/config-sub.data @@ -298,6 +298,8 @@ hp9k893 hppa1.1-hp-hpux hppa hppa-unknown-none hppa-next hppa-next-nextstep hppa1.0 hppa1.0-unknown-none +hppa1.0-hitachi hppa1.0-hitachi-hiuxwe2 +hppa1.1-hitachi hppa1.1-hitachi-hiuxwe2 hppa2.0 hppa2.0-unknown-none hppa2.0n hppa2.0n-unknown-none hppa64 hppa64-unknown-none @@ -445,6 +447,7 @@ m68knommu m68k-unknown-linux-gnu m68knommu-elf m68k-unknown-elf m68knommu-linux m68k-unknown-linux-gnu m88k m88k-unknown-none +m88k-harris m88k-harris-sysv3 m88k-omron m88k-omron-luna m9s12z s12z-unknown-none mac m68k-apple-macos @@ -473,7 +476,14 @@ mingw32ce arm-unknown-mingw32ce mingw64 x86_64-pc-mingw64 miniframe m68000-convergent-sysv mips mips-unknown-elf +mips-digital mips-dec-ultrix4.2 mips-sde-elf mips-sde-elf +mips-sgi mips-sgi-irix +mips-siemens mips-siemens-sysv4 +mips-sinix mips-sni-sysv4 +mips-sinix5 mips-sni-sysv4 +mips-sinix5.0 mips-sni-sysv5.0 +mips-sni mips-sni-sysv4 mips-zephyr mips-unknown-zephyr mips16 mips16-unknown-elf mips64 mips64-unknown-elf -- 2.43.2