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