convex-cNN and cNN-convex (where NN in 1, 2, 32, 34, 38) are supposed
to be shorthands for cNN-convex-bsd, but the code to handle them
was in the wrong switch statement, making it unreachable.  Fix.

https://en.wikipedia.org/wiki/Convex_Computer says there was also a C4
machine in this product line, at least on paper, but it’s not clear to
me whether they ever shipped one.
---
 config.sub                | 35 +++++++++++------------------------
 testsuite/config-sub.data | 15 +++++++++++++++
 2 files changed, 26 insertions(+), 24 deletions(-)

diff --git a/config.sub b/config.sub
index 5b5b305..e6058d9 100755
--- a/config.sub
+++ b/config.sub
@@ -170,8 +170,12 @@ case $1 in
                esac
                ;;
        *-*)
-               # A lone config we happen to match not fitting any pattern
                case $field1-$field2 in
+                       # Shorthands that happen to contain a single dash
+                       convex-c[12] | convex-c3[248])
+                               basic_machine=$field2-convex
+                               basic_os=
+                               ;;
                        decstation-3100)
                                basic_machine=mips-dec
                                basic_os=
@@ -196,7 +200,6 @@ case $1 in
                                        | att* \
                                        | axis \
                                        | bull \
-                                       | c[123]* \
                                        | cbm \
                                        | cisco \
                                        | convergent* \
@@ -326,26 +329,6 @@ case $1 in
                                basic_machine=arm-unknown
                                basic_os=cegcc
                                ;;
-                       convex-c1)
-                               basic_machine=c1-convex
-                               basic_os=bsd
-                               ;;
-                       convex-c2)
-                               basic_machine=c2-convex
-                               basic_os=bsd
-                               ;;
-                       convex-c32)
-                               basic_machine=c32-convex
-                               basic_os=bsd
-                               ;;
-                       convex-c34)
-                               basic_machine=c34-convex
-                               basic_os=bsd
-                               ;;
-                       convex-c38)
-                               basic_machine=c38-convex
-                               basic_os=bsd
-                               ;;
                        cray)
                                basic_machine=j90-cray
                                basic_os=unicos
@@ -1036,8 +1019,12 @@ unset -v basic_machine
 
 # Decode basic machines in the full and proper CPU-Company form.
 case $cpu-$vendor in
-       # Here we handle the default manufacturer of certain CPU types in 
canonical form. It is in
-       # some cases the only manufacturer, in others, it is the most popular.
+       # Here we handle the default manufacturer of certain CPU types in 
canonical form.
+       # It is in some cases the only manufacturer, in others, it is the most 
popular.
+       c[12]-convex | c[12]-unknown | c3[248]-convex | c3[248]-unknown)
+               vendor=convex
+               basic_os=${basic_os:-bsd}
+               ;;
        craynv-unknown)
                vendor=cray
                basic_os=${basic_os:-unicosmp}
diff --git a/testsuite/config-sub.data b/testsuite/config-sub.data
index 30627ec..14da9a8 100644
--- a/testsuite/config-sub.data
+++ b/testsuite/config-sub.data
@@ -169,6 +169,16 @@ bfin-elf                                   bfin-unknown-elf
 blackfin                                       bfin-unknown-linux-gnu
 bpf                                            bpf-unknown-none
 bpf-elf                                                bpf-unknown-elf
+c1                                             c1-convex-bsd
+c1-convex                                      c1-convex-bsd
+c2                                             c2-convex-bsd
+c2-convex                                      c2-convex-bsd
+c32                                            c32-convex-bsd
+c32-convex                                     c32-convex-bsd
+c34                                            c34-convex-bsd
+c34-convex                                     c34-convex-bsd
+c38                                            c38-convex-bsd
+c38-convex                                     c38-convex-bsd
 c4x                                            c4x-unknown-coff
 c54x                                           tic54x-unknown-coff
 c54x-coff                                      tic54x-unknown-coff
@@ -192,6 +202,11 @@ c90                                                
c90-cray-unicos
 cegcc                                          arm-unknown-cegcc
 clipper                                                clipper-unknown-none
 clipper-clix                                   clipper-intergraph-clix
+convex-c1                                      c1-convex-bsd
+convex-c2                                      c2-convex-bsd
+convex-c32                                     c32-convex-bsd
+convex-c34                                     c34-convex-bsd
+convex-c38                                     c38-convex-bsd
 cr16                                           cr16-unknown-elf
 cr16-elf                                       cr16-unknown-elf
 cr16-random-elf                                        cr16-random-elf
-- 
2.43.2


Reply via email to