config.sub was mapping all single-component shorthands matching the
shell glob `dpx2*` to ‘m68k-bull-sysv3’, which is incorrect.  Of the
four different machines once manufactured by Groupe Bull whose model
number can be abbreviated ‘dpx2something’, only two were m68k-based:
the DPX/2-200 and DPX/2-300.  The DPX/2-100, on the other hand, had an
i386 CPU.  And the DPX/20 was a completely different beast, released
years later and based on the POWER architecture.

I’ve chosen to keep making ‘dpx2’ map to ‘m68k-bull-sysv3’ as the
DPX/2-200 and /2-300 seem to have been the most widely used.  config.sub
now understands ‘dpx2100’, ‘dpx2200’, and ‘dpx2300’ as shorthands for
‘i386-bull-sysv3’, ‘m68k-bull-sysv3’, and ‘m68k-bull-sysv3’ respectively.
It also accepts ‘dpx21xx’, ‘dpx22xx’, and ‘dpx22xx’ as equivalent to
these, but no other variations; in particular, ‘dpx2xxx’, which was in
the test suite, no longer works, as it is ambiguous.

(As far as I can tell, there weren’t actually any submodels of any of
these systems, so I could be persuaded to remove the …xx aliases.
I kept them mainly because of the test suite formerly testing dpx2xxx.)

Finally ‘dpx20’ now maps to ‘rs6000-bull-bosx’.  Both the ‘rs6000’ and
‘bosx’ components of this name are debatable, but I *think* it is what
config.guess would do on this machine.

Sources for Bull DPX/2whatever history:

 - https://oldskool.silicium.org/stations/bull_dpx20.htm
 - https://www.feb-patrimoine.com/english/bull_dpx2.htm
 - https://www.feb-patrimoine.com/english/unix_and_bull.htm

Note in particular “Que cette machine soit estampillée BULL ou IBM,
elle faisait tourner AIX (l'Unix d'IBM)” on the first of these pages,
which is why I say “bosx” is debatable…
---
 config.sub                | 29 +++++++++++++++++++++++------
 testsuite/config-sub.data | 13 +++++++++++--
 2 files changed, 34 insertions(+), 8 deletions(-)

diff --git a/config.sub b/config.sub
index 702bfd9..2ebbed7 100755
--- a/config.sub
+++ b/config.sub
@@ -4,7 +4,7 @@
 
 # shellcheck disable=SC2006,SC2268,SC2162 # see below for rationale
 
-timestamp='2024-01-01'
+timestamp='2024-05-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
@@ -195,6 +195,7 @@ case $1 in
                                        | apple \
                                        | att* \
                                        | axis \
+                                       | bull \
                                        | c[123]* \
                                        | cbm \
                                        | cisco \
@@ -771,10 +772,22 @@ case $basic_machine in
                cpu=m68k
                vendor=motorola
                ;;
-       dpx2*)
+       # This used to be dpx2*, but that gets the RS6000-based
+       # DPX/20 and the x86-based DPX/2-100 wrong.  See
+       # https://oldskool.silicium.org/stations/bull_dpx20.htm
+       # https://www.feb-patrimoine.com/english/bull_dpx2.htm
+       # https://www.feb-patrimoine.com/english/unix_and_bull.htm
+       dpx2 | dpx2[23]00 | dpx2[23]xx)
                cpu=m68k
                vendor=bull
-               basic_os=sysv3
+               ;;
+       dpx2100 | dpx21xx)
+               cpu=i386
+               vendor=bull
+               ;;
+       dpx20)
+               cpu=rs6000
+               vendor=bull
                ;;
        encore | umax | mmax)
                cpu=ns32k
@@ -1077,9 +1090,13 @@ case $cpu-$vendor in
                vendor=alt
                basic_os=${basic_os:-linux-gnueabihf}
                ;;
-       dpx20-unknown | dpx20-bull)
-               cpu=rs6000
-               vendor=bull
+
+       # Normalized CPU+vendor pairs that imply an OS,
+       # if not otherwise specified
+       i386-bull | m68k-bull)
+               basic_os=${basic_os:-sysv3}
+               ;;
+       rs6000-bull)
                basic_os=${basic_os:-bosx}
                ;;
 
diff --git a/testsuite/config-sub.data b/testsuite/config-sub.data
index 37bee80..aab6419 100644
--- a/testsuite/config-sub.data
+++ b/testsuite/config-sub.data
@@ -217,8 +217,14 @@ delta88                                            
m88k-motorola-sysv3
 dicos                                          i686-pc-dicos
 djgpp                                          i586-pc-msdosdjgpp
 dlx                                            dlx-unknown-none
-dpx20-bull                                     m68k-bull-sysv3
-dpx2xxx                                                m68k-bull-sysv3
+dpx2                                           m68k-bull-sysv3
+dpx20                                          rs6000-bull-bosx
+dpx2100                                                i386-bull-sysv3
+dpx21xx                                                i386-bull-sysv3
+dpx2200                                                m68k-bull-sysv3
+dpx22xx                                                m68k-bull-sysv3
+dpx2300                                                m68k-bull-sysv3
+dpx23xx                                                m68k-bull-sysv3
 dsp16xx                                                dsp16xx-unknown-none
 e2k                                            e2k-unknown-none
 e2k-linux                                      e2k-unknown-linux-gnu
@@ -278,6 +284,7 @@ i386-386bsd                                 i386-pc-bsd
 i386-aros                                      i386-pc-aros
 i386-bitrig                                    i386-pc-bitrig
 i386-bsd                                       i386-pc-bsd
+i386-bull                                      i386-bull-sysv3
 i386-cloudabi                                  i386-pc-cloudabi
 i386-drops1.0                                  i386-pc-drops1.0
 i386-elf                                       i386-pc-elf
@@ -390,6 +397,7 @@ m68000                                              
m68000-unknown-none
 m68000-sun                                     m68000-sun-sunos3
 m68hcs12z                                      s12z-unknown-none
 m68k                                           m68k-unknown-none
+m68k-bull                                      m68k-bull-sysv3
 m68k-es1800                                    m68k-unknown-ose
 m68k-mint                                      m68k-atari-mint
 m68k-next-openstep3                            m68k-next-openstep3
@@ -690,6 +698,7 @@ roadrunner                                  
i386-sun-sunos4.0.2
 rom68k                                         m68k-rom68k-coff
 romp                                           romp-ibm-aix
 rs6000                                         rs6000-ibm-aix
+rs6000-bull                                    rs6000-bull-bosx
 rx                                             rx-unknown-none
 rx-linux                                       rx-unknown-linux-gnu
 s12z                                           s12z-unknown-none
-- 
2.43.2


Reply via email to