From fd39cf37a83ead2cc41c1f90c9f417e98c99feb9 Mon Sep 17 00:00:00 2001 Message-Id: In-Reply-To: References: From: John Ericson Date: Sun, 29 Jul 2018 22:18:29 -0400 Subject: [PATCH 3/3] * config.sub: Make idemopotent * testsuite/config-sub.sh: Add ideompotency tests To: address@hidden --- ChangeLog | 5 ++++ config.sub | 66 ++++++++++++++++++++++++++--------------- testsuite/config-sub.sh | 41 ++++++++++++++++++++----- 3 files changed, 81 insertions(+), 31 deletions(-) diff --git a/ChangeLog b/ChangeLog index 1db8ff9..c239b50 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2018-07-30 John Ericson + + * config.sub: Make idemopotent + * testsuite/config-sub.sh: Add ideompotency tests + 2018-07-30 John Ericson * testsuite/config-*.sh: Use `local rc` for better scoping diff --git a/config.sub b/config.sub index 52eb02e..5f21a5d 100755 --- a/config.sub +++ b/config.sub @@ -569,12 +569,14 @@ case $basic_machine in 1750a | 580 \ | a29k \ | aarch64 | aarch64_be \ + | abacus \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | am33_2.0 \ | arc | arceb \ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv6m | armv[78][arm] \ | avr | avr32 \ + | asmjs \ | ba \ | be32 | be64 \ | bfin \ @@ -654,6 +656,9 @@ case $basic_machine in leon|leon[3-9]) basic_machine=sparc-$basic_machine ;; + m6811-* | m68hc11-* | m6812-* | m68hc12-* | m68hcs12x-* | nvptx-* | picochip-*) + os=${os:-none} + ;; m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) basic_machine=$basic_machine-unknown os=${os:-none} @@ -664,6 +669,10 @@ case $basic_machine in basic_machine=s12z-unknown os=${os:-none} ;; + m9s12z-* | m68hcs12z-* | hcs12z-* | s12z-*) + basic_machine=s12z-`echo "$basic_machine" | sed 's/^[^-]*-//'` + os=${os:-none} + ;; ms1) basic_machine=mt-unknown ;; @@ -674,6 +683,9 @@ case $basic_machine in basic_machine=$basic_machine-unknown os=${os:-none} ;; + xgate-*) + os=${os:-none} + ;; xscaleeb) basic_machine=armeb-unknown ;; @@ -689,22 +701,26 @@ case $basic_machine in basic_machine=$basic_machine-pc ;; # Recognize the basic CPU types with company name. - 580-* \ + 1750a-* | 580-* \ | a29k-* \ | aarch64-* | aarch64_be-* \ + | abacus-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ - | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ - | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ + | alphapca5[67]-* | alpha64pca5[67]-* \ + | am33_2.0-* \ + | arc-* | arceb-* \ + | arm-* | arm[lb]e-* | arme[lb]-* | armv*-* \ | avr-* | avr32-* \ + | asmjs-* \ | ba-* \ | be32-* | be64-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* \ | c8051-* | clipper-* | craynv-* | csky-* | cydra-* \ - | d10v-* | d30v-* | dlx-* \ - | e2k-* | elxsi-* \ - | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ + | d10v-* | d30v-* | dlx-* | dsp16xx-* \ + | e2k-* | elxsi-* | epiphany-* \ + | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | ft32-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | hexagon-* \ @@ -714,8 +730,8 @@ case $basic_machine in | le32-* | le64-* \ | lm32-* \ | m32c-* | m32r-* | m32rle-* \ - | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ + | m5200-* | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* | v70-* | w65-* \ + | m88110-* | m88k-* | maxq-* | mb-* | mcore-* | mep-* | metag-* \ | microblaze-* | microblazeel-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ @@ -738,7 +754,7 @@ case $basic_machine in | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipsr5900-* | mipsr5900el-* \ | mipstx39-* | mipstx39el-* \ - | mmix-* \ + | mn10200-* | mn10300-* \ | moxie-* \ | mt-* \ | msp430-* \ @@ -748,31 +764,33 @@ case $basic_machine in | none-* | np1-* | ns16k-* | ns32k-* \ | open8-* \ | or1k*-* \ + | or32-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ | pru-* \ | pyramid-* \ | riscv-* | riscv32-* | riscv64-* \ - | rl78-* | romp-* | rs6000-* | rx-* \ - | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ - | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ + | rl78-* | rs6000-* | rx-* \ + | score-* \ + | sh-* | sh[1234]-* | sh[24]a-* | sh[24]ae[lb]-* | sh[23]e-* | she[lb]-* | sh[lb]e-* \ + | sh[1234]e[lb]-* | sh[12345][lb]e-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ + | spu-* \ | tahoe-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ - | tile*-* \ | tron-* \ | ubicom32-* \ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ | vax-* \ | visium-* \ | wasm32-* \ - | we32k-* \ - | x86-* | x86_64-* | xc16x-* | xps100-* \ + | x86-* | x86_64-* | xc16x-* \ | xstormy16-* | xtensa*-* \ | ymp-* \ + | we32k-* \ | z8k-* | z80-*) ;; # Recognize the basic CPU types without company name, with glob match. @@ -787,10 +805,7 @@ case $basic_machine in 3b*) basic_machine=we32k-att ;; - abacus) - basic_machine=abacus-unknown - ;; - alliant | fx80) + alliant | fx80 | fx80-alliant) basic_machine=fx80-alliant ;; altos | altos3068) @@ -805,9 +820,6 @@ case $basic_machine in amiga | amiga-*) basic_machine=m68k-unknown ;; - asmjs) - basic_machine=asmjs-unknown - ;; blackfin-*) basic_machine=bfin-`echo "$basic_machine" | sed 's/^[^-]*-//'` os=linux @@ -1154,6 +1166,9 @@ case $basic_machine in sh5el) basic_machine=sh5le-unknown ;; + sh5el-*) + basic_machine=sh5le-`echo "$basic_machine" | sed 's/^[^-]*-//'` + ;; simso-wrs) basic_machine=sparclite-wrs os=vxworks @@ -1179,6 +1194,9 @@ case $basic_machine in sun386 | sun386i | roadrunner) basic_machine=i386-sun ;; + tile*-*) + os=linux-gnu + ;; tile*) basic_machine=$basic_machine-unknown os=linux-gnu @@ -1231,7 +1249,7 @@ case $basic_machine in romp) basic_machine=romp-ibm ;; - mmix) + mmix | mmix-knuth) basic_machine=mmix-knuth ;; rs6000) @@ -1354,7 +1372,7 @@ case $os in | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \ | aos* | aros* | cloudabi* | sortix* \ | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \ - | clix* | riscos* | uniplus* | iris* | rtu* | xenix* \ + | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \ | knetbsd* | mirbsd* | netbsd* \ | bitrig* | openbsd* | solidbsd* | libertybsd* \ | ekkobsd* | kfreebsd* | freebsd* | riscix* | lynxos* \ diff --git a/testsuite/config-sub.sh b/testsuite/config-sub.sh index 4d01ee0..2f5ffc7 100644 --- a/testsuite/config-sub.sh +++ b/testsuite/config-sub.sh @@ -9,28 +9,55 @@ # the alias expands to the expected canonical triplet. set -eu +shopt -s lastpipe verbose=false run_config_sub() { local -i rc=0 + numtests=0 + name="checks" while read -r alias canonical ; do output=$(sh -eu ../config.sub "$alias") if test "$output" != "$canonical" ; then echo "FAIL: $alias -> $output, but expected $canonical" rc=1 else - $verbose && echo "PASS: $alias" + $verbose && echo "PASS: $alias -> $canonical" fi + numtests+=1 done < config-sub.data return $rc } -if run_config_sub ; then - numtests=$(wc -l config-sub.data | cut -d' ' -f1) - $verbose || echo "PASS: config.sub checks ($numtests tests)" -else - exit 1 +run_config_sub_idempotent() +{ + local -i rc=0 + numtests=0 + name="idempotency checks" + sed -r 's/\t+/\t/g' < config-sub.data | cut -f 2 | uniq | while read -r canonical ; do + output=$(sh -eu ../config.sub "$canonical") + if test "$output" != "$canonical" ; then + echo "FAIL: $canonical -> $output, but $canonical should map to itself" + rc=1 + else + $verbose && echo "PASS: $canonical -> $canonical" + fi + numtests+=1 + done + return $rc +} + +declare -i rc=0 numtests=0 +declare -a msgs=() + +for testsuite in run_config_sub run_config_sub_idempotent ; do + $testsuite || rc=1 + msgs+=("PASS: config.sub $name ($numtests tests)") +done + +if (( rc == 0 )); then + $verbose || printf '%s\n' "address@hidden" fi -exit 0 +exit $rc -- 2.17.1