From 6c815bbe31bc43fed905037a4961e59a5809f1c7 Mon Sep 17 00:00:00 2001 From: "K. Richard Pixley" Date: Thu, 22 Aug 1991 07:07:58 +0000 Subject: Three part names, etc. --- gas/config.sub | 119 ++++++++++++------------ gdb/config.sub | 276 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ gdb/configure.in | 222 ++++++++++++++++++++++++++++++++++++++++++-- 3 files changed, 547 insertions(+), 70 deletions(-) create mode 100755 gdb/config.sub diff --git a/gas/config.sub b/gas/config.sub index 02b4a35..58338df 100755 --- a/gas/config.sub +++ b/gas/config.sub @@ -13,13 +13,13 @@ # a failure to support a valid configuration from a meaningless # configuration. -# Separate what the user gave into CPU:company and OS (if any). +# Separate what the user gave into CPU-company and OS (if any). basic_machine=`echo $1 | sed 's/-[^-]*$//'` if [ $basic_machine != $1 ] -then os=`echo $1 | sed 's/[^-]*-/-/'` +then os=`echo $1 | sed 's/^.*-/-/'` else os=; fi -# Decode aliases for certain machine:company combinations. +# Decode aliases for certain machine-company combinations. case $basic_machine in # Recognize the basic CPU types without company name. vax | tahoe | i386 | i860 | m68k | m68000 | m88k | sparc | ns32k \ @@ -27,196 +27,196 @@ case $basic_machine in | rtpc | rs6000 | i960 | none) ;; # Recognize the basic CPU types with company name. - vax:* | tahoe:* | i386:* | i860:* | m68k:* | m68000:* | m88k:* \ - | sparc:* | ns32k:* | alliant:* | arm:* | c1:* | c2:* \ - | mips:* | pyramid:* | tron:* | a29k:* | rtpc:* \ - | rs6000:* | i960:*) + vax-* | tahoe-* | i386-* | i860-* | m68k-* | m68000-* | m88k-* \ + | sparc-* | ns32k-* | alliant-* | arm-* | c1-* | c2-* \ + | mips-* | pyramid-* | tron-* | a29k-* | rtpc-* \ + | rs6000-* | i960-*) ;; # Recognize the machine names # which stand for a CPU time and a company. nindy960) - basic_machine=i960:intel + basic_machine=i960-intel os=-nindy ;; vxworks68) - basic_machine=m68k:wrs + basic_machine=m68k-wrs os=-vxworks ;; vxworks960) - basic_machine=i960:wrs + basic_machine=i960-wrs os=-vxworks ;; am29k) - basic_machine=a29k:unknown + basic_machine=a29k-unknown os=-bsd ;; umax) - basic_machine=ns32k:umax + basic_machine=ns32k-umax os=-sysv # maybe? ;; pn) - basic_machine=pn:gould + basic_machine=pn-gould os=-sysv # maybe? ;; np1) - basic_machine=np1:gould + basic_machine=np1-gould os=-sysv # maybe? ;; merlin) - basic_machine=merlin:utek + basic_machine=merlin-utek os=-sysv # maybe? ;; iris | iris4d) - basic_machine=mips:sgi + basic_machine=mips-sgi os=-sysv # maybe? ;; news1000) - basic_machine=m68030:sony + basic_machine=m68030-sony os=-sysv # maybe? ;; news | news700 | news800 | news900) - basic_machine=m68k:sony + basic_machine=m68k-sony os=-sysv # maybe? ;; - unixpc | safari | pc7300 | 3b1 | 7300 | 7300:att | att-7300) - basic_machine=m68k:att + unixpc | safari | pc7300 | 3b1 | 7300 | 7300-att | att-7300) + basic_machine=m68k-att os=-sysv # maybe? ;; delta | 3300 | motorola-3300 | motorola-delta \ - | 3300:motorola | delta:motorola) - basic_machine=m68k:motorola + | 3300-motorola | delta-motorola) + basic_machine=m68k-motorola os=-sysv # maybe? ;; - vax:dec) + vax-dec) basic_machine=vax os=-ultrix # maybe? ;; balance) - basic_machine=ns32k:sequent + basic_machine=ns32k-sequent os=-dynix ;; mmax) - basic_machine=ns32k:encore + basic_machine=ns32k-encore os=-sysv # maybe? ;; symmetry) - basic_machine=i386:sequent + basic_machine=i386-sequent os=-dynix ;; sun2) - basic_machine=m68000:sun + basic_machine=m68000-sun os=-sunos4 ;; sun2os3) - basic_machine=m68000:sun + basic_machine=m68000-sun os=-sunos3 ;; sun2os4) - basic_machine=m68000:sun + basic_machine=m68000-sun os=-sunos4 ;; sun3) - basic_machine=m68k:sun + basic_machine=m68k-sun os=-sunos4 ;; sun3os3) - basic_machine=m68k:sun + basic_machine=m68k-sun os=-sunos3 ;; sun3os4) - basic_machine=m68k:sun + basic_machine=m68k-sun os=-sunos4 ;; sun4) - basic_machine=sparc:sun + basic_machine=sparc-sun os=-sunos4 ;; sun4os3) - basic_machine=sparc:sun + basic_machine=sparc-sun os=-sunos3 ;; sun4os4) - basic_machine=sparc:sun + basic_machine=sparc-sun os=-sunos4 ;; pbd) - basic_machine=sparc:unicom + basic_machine=sparc-unicom os=-sysv ;; roadrunner | sun386 | sun386i) - basic_machine=i386:sun + basic_machine=i386-sun os=-sunos ;; ps2) - basic_machine=i386:ibm + basic_machine=i386-ibm os=-sysv # maybe? ;; i386sco) - basic_machine=i386:sco + basic_machine=i386-sco os=-sysv # maybe? ;; i386v) - basic_machine=i386:unknown + basic_machine=i386-unknown os=-sysv ;; i386v32) - basic_machine=i386:unknown + basic_machine=i386-unknown os=-sysv32 ;; next) - basic_machine=m68k:next + basic_machine=m68k-next os=-sysv # maybe? ;; hp300bsd) - basic_machine=m68k:hp + basic_machine=m68k-hp os=-bsd ;; hp300hpux | hpux | hp9k3[2-9][0-9]) - basic_machine=m68k:hp + basic_machine=m68k-hp os=-hpux ;; hp9k31[0-9] | hp9k2[0-9][0-9]) - basic_machine=m68000:hp + basic_machine=m68000-hp os=-hpux ;; isi | isi68) - basic_machine=m68k:isi + basic_machine=m68k-isi os=-sysv # maybe? ;; apollo68) - basic_machine=m68k:apollo + basic_machine=m68k-apollo os=-sysv # maybe? ;; altos | altos3068) - basic_machine=m68k:altos + basic_machine=m68k-altos os=-sysv # maybe? ;; altosgas) - basic_machine=m68k:altos + basic_machine=m68k-altos os=-gas ;; miniframe) - basic_machine=m68000:convergent + basic_machine=m68000-convergent os=-sysv # maybe? ;; tower | tower-32) - basic_machine=m68k:ncr + basic_machine=m68k-ncr os=-sysv # maybe? ;; bigmips | news-3600 | risc-news) - basic_machine=mips:sony + basic_machine=mips-sony os=-newsos # maybe? ;; littlemips) - basic_machine=mips:little + basic_machine=mips-little os=-bsd ;; dec3100 | decstatn | decstation | decstation-3100 | pmax) - basic_machine=mips:dec + basic_machine=mips-dec os=-ultrix ;; magnum | m3230) - basic_machine=mips:mips + basic_machine=mips-mips os=-sysv # maybe? ;; gmicro) @@ -224,11 +224,11 @@ case $basic_machine in os=-sysv # maybe? ;; convex-c1) - basic_machine=c1:convex + basic_machine=c1-convex os=-sysv # maybe? ;; convex-c2) - basic_machine=c2:convex + basic_machine=c2-convex os=-sysv # maybe? ;; *) @@ -273,7 +273,4 @@ case $os in ;; esac -cpu=`echo $basic_machine | sed 's/:.*$//'` -vendor=`echo $basic_machine | sed 's/^.*://'` - -echo ${cpu}-${vendor}${os} +echo ${basic_machine}${os} diff --git a/gdb/config.sub b/gdb/config.sub new file mode 100755 index 0000000..58338df --- /dev/null +++ b/gdb/config.sub @@ -0,0 +1,276 @@ +#!/bin/sh + +# Configuration subroutine to validate and canonicalize a configuration type. +# Supply the specified configuration type as an argument. +# If it is invalid, we print an error message on stderr and exit with code 1. +# Otherwise, we print the canonical config type on stdout and succeed. + +# This file is supposed to be the same for all GNU packages +# and recognize all the CPU types, system types and aliases +# that are meaningful with *any* GNU software. +# Each package is responsible for reporting which valid configurations +# it does not support. The user should be able to distinguish +# a failure to support a valid configuration from a meaningless +# configuration. + +# Separate what the user gave into CPU-company and OS (if any). +basic_machine=`echo $1 | sed 's/-[^-]*$//'` +if [ $basic_machine != $1 ] +then os=`echo $1 | sed 's/^.*-/-/'` +else os=; fi + +# Decode aliases for certain machine-company combinations. +case $basic_machine in + # Recognize the basic CPU types without company name. + vax | tahoe | i386 | i860 | m68k | m68000 | m88k | sparc | ns32k \ + | alliant | arm | c1 | c2 | mips | pyramid | tron | a29k \ + | rtpc | rs6000 | i960 | none) + ;; + # Recognize the basic CPU types with company name. + vax-* | tahoe-* | i386-* | i860-* | m68k-* | m68000-* | m88k-* \ + | sparc-* | ns32k-* | alliant-* | arm-* | c1-* | c2-* \ + | mips-* | pyramid-* | tron-* | a29k-* | rtpc-* \ + | rs6000-* | i960-*) + ;; + # Recognize the machine names + # which stand for a CPU time and a company. + nindy960) + basic_machine=i960-intel + os=-nindy + ;; + vxworks68) + basic_machine=m68k-wrs + os=-vxworks + ;; + vxworks960) + basic_machine=i960-wrs + os=-vxworks + ;; + am29k) + basic_machine=a29k-unknown + os=-bsd + ;; + umax) + basic_machine=ns32k-umax + os=-sysv # maybe? + ;; + pn) + basic_machine=pn-gould + os=-sysv # maybe? + ;; + np1) + basic_machine=np1-gould + os=-sysv # maybe? + ;; + merlin) + basic_machine=merlin-utek + os=-sysv # maybe? + ;; + iris | iris4d) + basic_machine=mips-sgi + os=-sysv # maybe? + ;; + news1000) + basic_machine=m68030-sony + os=-sysv # maybe? + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + os=-sysv # maybe? + ;; + unixpc | safari | pc7300 | 3b1 | 7300 | 7300-att | att-7300) + basic_machine=m68k-att + os=-sysv # maybe? + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) + basic_machine=m68k-motorola + os=-sysv # maybe? + ;; + vax-dec) + basic_machine=vax + os=-ultrix # maybe? + ;; + balance) + basic_machine=ns32k-sequent + os=-dynix + ;; + mmax) + basic_machine=ns32k-encore + os=-sysv # maybe? + ;; + symmetry) + basic_machine=i386-sequent + os=-dynix + ;; + sun2) + basic_machine=m68000-sun + os=-sunos4 + ;; + sun2os3) + basic_machine=m68000-sun + os=-sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + os=-sunos4 + ;; + sun3) + basic_machine=m68k-sun + os=-sunos4 + ;; + sun3os3) + basic_machine=m68k-sun + os=-sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + os=-sunos4 + ;; + sun4) + basic_machine=sparc-sun + os=-sunos4 + ;; + sun4os3) + basic_machine=sparc-sun + os=-sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + os=-sunos4 + ;; + pbd) + basic_machine=sparc-unicom + os=-sysv + ;; + roadrunner | sun386 | sun386i) + basic_machine=i386-sun + os=-sunos + ;; + ps2) + basic_machine=i386-ibm + os=-sysv # maybe? + ;; + i386sco) + basic_machine=i386-sco + os=-sysv # maybe? + ;; + i386v) + basic_machine=i386-unknown + os=-sysv + ;; + i386v32) + basic_machine=i386-unknown + os=-sysv32 + ;; + next) + basic_machine=m68k-next + os=-sysv # maybe? + ;; + hp300bsd) + basic_machine=m68k-hp + os=-bsd + ;; + hp300hpux | hpux | hp9k3[2-9][0-9]) + basic_machine=m68k-hp + os=-hpux + ;; + hp9k31[0-9] | hp9k2[0-9][0-9]) + basic_machine=m68000-hp + os=-hpux + ;; + isi | isi68) + basic_machine=m68k-isi + os=-sysv # maybe? + ;; + apollo68) + basic_machine=m68k-apollo + os=-sysv # maybe? + ;; + altos | altos3068) + basic_machine=m68k-altos + os=-sysv # maybe? + ;; + altosgas) + basic_machine=m68k-altos + os=-gas + ;; + miniframe) + basic_machine=m68000-convergent + os=-sysv # maybe? + ;; + tower | tower-32) + basic_machine=m68k-ncr + os=-sysv # maybe? + ;; + bigmips | news-3600 | risc-news) + basic_machine=mips-sony + os=-newsos # maybe? + ;; + littlemips) + basic_machine=mips-little + os=-bsd + ;; + dec3100 | decstatn | decstation | decstation-3100 | pmax) + basic_machine=mips-dec + os=-ultrix + ;; + magnum | m3230) + basic_machine=mips-mips + os=-sysv # maybe? + ;; + gmicro) + basic_machine=tron + os=-sysv # maybe? + ;; + convex-c1) + basic_machine=c1-convex + os=-sysv # maybe? + ;; + convex-c2) + basic_machine=c2-convex + os=-sysv # maybe? + ;; + *) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; +esac + +# Decode manufacturer-specific aliases for certain operating systems. + +case $os in + # First accept the basic system types. + # The portable systems comes first. + -bsd* | -sysv* | -mach* \ + | -vms* | -sco* | -esix* | -isc* | -aix* | -sunos* | -hpux* \ + | -unos* | -osf* | -v88r* | -aout | -coff | -bout \ + | -nindy | -vxworks) + ;; + -newsos*) + os=-bsd + ;; + -ultrix*) + os=-bsd + ;; + -osfrose*) + os=-osf + ;; + -osf*) + os=-bsd + ;; + -dynix*) + os=-bsd + ;; + -ctix*) + os=-sysv + ;; + *) + # Get rid of the `-' at the beginning of $os. + os=`echo $1 | sed 's/[^-]*-//'` + echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 + exit 1 + ;; +esac + +echo ${basic_machine}${os} diff --git a/gdb/configure.in b/gdb/configure.in index f1e403d..ebcb3b7 100644 --- a/gdb/configure.in +++ b/gdb/configure.in @@ -3,31 +3,235 @@ srctrigger=main.c # per-host: -if [ ! -f xconfig/${host} ]; then - echo "No such host ${host}" +# map host info into gdb names. + +case "${host_cpu}" in + +m68k) + case "${host_vendor}" in + att) gdb_host=3b1 ;; + altos) + case "${host_os}" in + gas) gdb_host=altosgas ;; + *) gdb_host=altos ;; + esac + ;; + hp) + case ${host_os} in + hpux) gdb_host=hp300hpux ;; + bsd) gdb_host=hp300bsd ;; + esac + ;; + + isi) gdb_host=isi ;; + sony) gdb_host=news ;; + sun) + case "${host_os}" in + sunos3) gdb_host=sun3os3 ;; + sunos4) gdb_host=sun3os4 ;; + *) gdb_host=sun3 ;; + esac + ;; + esac + ;; + +m68000) + case "${host_vendor}" in + sun) + case "${host_os}" in + sunos3) gdb_host=sun2os3 ;; + sunos4) gdb_host=sun2os4 ;; + *) gdb_host=sun2 ;; + esac + esac + ;; + +sparc) + case "${host_os}" in + sunos3) gdb_host=sun4os3 ;; + sunos4) gdb_host=sun4os4 ;; + *) gdb_host=sun4 ;; + esac + ;; + +m68030) + case "${host_vendor}" in + sony) gdb_host=news1000 ;; + esac + ;; + +mips) + case "${host_vendor}" in + sony) gdb_host=bigmips ;; + dec) gdb_host=dec3100 ;; + little) gdb_host=littlemips ;; + esac + ;; + +i386) + case "${host_vendor}" in + sun) gdb_host=sun386 ;; + sco) gdb_host=i386sco ;; + sequent) gdb_host=symmetry ;; + *) + case "${host_os}" in + sysv) gdb_host=i386v ;; + sysv32) gdb_host=i386v32 ;; + esac + ;; + esac + ;; + +c1 | c2) gdb_host=convex ;; + +ns32k) + case "${host_vendor}" in + umax) gdb_host=umax ;; + esac + ;; + +arm | vax | m88k | merlin | none | np1 | pn | pyramid | tahoe) gdb_host=${host_cpu} ;; + +### unhandled hosts +#altosgas +#i386v-g +#i386v32-g + +esac + +if [ ! -f xconfig/${gdb_host} ]; then + echo '***' "Gdb does not support host ${host}" 1>&2 exit 1 fi # We really shouldn't depend on there being a space after XM_FILE= ... -hostfile=`awk '$1 == "XM_FILE=" { print $2 }' &2 exit 1 fi if [ -z "${removing}" ] ; then - cat xconfig/${host} tconfig/${target} | awk '$1 == "#msg" { + cat xconfig/${gdb_host} tconfig/${gdb_target} | awk '$1 == "#msg" { print substr($0,6)}' fi # We really shouldn't depend on there being a space after TM_FILE= ... -targetfile=`awk '$1 == "TM_FILE=" { print $2 }'