aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorK. Richard Pixley <rich@cygnus>1991-08-22 07:07:58 +0000
committerK. Richard Pixley <rich@cygnus>1991-08-22 07:07:58 +0000
commit6c815bbe31bc43fed905037a4961e59a5809f1c7 (patch)
tree47eeed36c660fcf978f241c3423a9d0255b8f962 /gdb
parentc0b47bae9750f1427bd226d803ade3720e0ed078 (diff)
downloadgdb-6c815bbe31bc43fed905037a4961e59a5809f1c7.zip
gdb-6c815bbe31bc43fed905037a4961e59a5809f1c7.tar.gz
gdb-6c815bbe31bc43fed905037a4961e59a5809f1c7.tar.bz2
Three part names, etc.
Diffstat (limited to 'gdb')
-rwxr-xr-xgdb/config.sub276
-rw-r--r--gdb/configure.in222
2 files changed, 489 insertions, 9 deletions
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 }' <xconfig/$host`
+hostfile=`awk '$1 == "XM_FILE=" { print $2 }' <xconfig/${gdb_host}`
# per-target:
-if [ ! -f tconfig/${target} ]; then
- echo "No such target ${target}"
+case "${target_cpu}" in
+
+m68k)
+ case "${target_vendor}" in
+ att) gdb_target=3b1 ;;
+ altos) gdb_target=altos ;;
+ hp)
+ case "${target_os}" in
+ bsd) gdb_target=hp300bsd ;;
+ hpux) gdb_target=hp300hpux ;;
+ esac
+ ;;
+ sun)
+ case "${target_os}" in
+ sunos3) gdb_target=sun3os3 ;;
+ sunos4) gdb_target=sun3os4 ;;
+ *) gdb_target=sun3 ;;
+ esac
+ ;;
+ wrs) gdb_target=vxworks68 ;;
+ isi) gdb_target=isi ;;
+ sony) gdb_target=news ;;
+ esac
+ ;;
+
+m68000)
+ case "${target_vendor}" in
+ sun)
+ case "${target_os}" in
+ sunos3) gdb_target=sun2os3 ;;
+ sunos4) gdb_target=sun2os4 ;;
+ *) gdb_target=sun2 ;;
+ esac
+ esac
+ ;;
+
+m68030)
+ case "${target_vendor}" in
+ sony) gdb_target=news1000 ;;
+ esac
+ ;;
+
+none | np1 | pn | np1 | pn | pyramid | merlin | i960 | m88k | a29k)
+ gdb_target=${target_cpu} ;;
+
+arm) gdb_target=${target_cpu} ;;
+
+mips)
+ case "${target_vendor}" in
+ sony) gdb_target=bigmips ;;
+ dec) gdb_target=dec3100 ;;
+ little) gdb_target=littlemips ;;
+ esac
+ ;;
+
+c1 | c2) gdb_target=convex ;;
+
+i386)
+ case "${target_vendor}" in
+ sco) gdb_target=i386sco ;;
+ sun) gdb_target=sun386 ;;
+ esac
+ ;;
+
+sparc)
+ case "${target_vendor}" in
+ sun)
+ case "${target_os}" in
+ sunos3) gdb_target=sun4os3 ;;
+ sunos4) gdb_target=sun4os4 ;;
+ *) gdb_target=sun4 ;;
+ esac
+ ;;
+ esac
+ ;;
+
+
+i386)
+ case "${target_vendor}" in
+ sequent) gdb_target=symmetry ;;
+ *)
+ case "${target_os}" in
+ sysv) gdb_target=i386v ;;
+ sysv32) gdb_target=i386v32 ;;
+ esac
+ esac
+ ;;
+
+i960)
+ case "${target_vendor}" in
+ wrs) gdb_target=vxworks960 ;;
+ intel) gdb_target=nindy960 ;;
+ esac
+ ;;
+
+ns32k)
+ case "${target_vendor}" in
+ utek) gdb_target=umax ;;
+ esac
+ ;;
+
+### unhandled targets
+# altosgas
+# i386v-g
+# i386v32-g
+
+esac
+
+if [ ! -f tconfig/${gdb_target} ]; then
+ echo '***' "Gdb does not support target ${target}" 1>&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 }' <tconfig/$target`
+targetfile=`awk '$1 == "TM_FILE=" { print $2 }' <tconfig/${gdb_target}`
-host_makefile_frag=xconfig/${host}
-target_makefile_frag=tconfig/${target}
+host_makefile_frag=xconfig/${gdb_host}
+target_makefile_frag=tconfig/${gdb_target}
# If hostfile (XM_FILE) and/or targetfile (TM_FILE) is not set in the
# ?config/* file, we don't make the corresponding links. But we have