# Mappings from configurations to GDB target definitions.  This is
# invoked from the autoconf generated configure script.

# This file sets the following shell variables:
#  gdb_target_cpu	generic name of CPU
#  gdb_target		name of GDB target definition to use

# This file may also modify configdirs.

# Map target cpu into the config cpu subdirectory name.
# The default is $target_cpu.

case "${target_cpu}" in

alpha*)			gdb_target_cpu=alpha ;;
arm*)			gdb_target_cpu=arm ;;
hppa*)			gdb_target_cpu=pa ;;
i[3456]86*)		gdb_target_cpu=i386 ;;
m68hc11*|m6811*)	gdb_target_cpu=m68hc11 ;;
m68*)			gdb_target_cpu=m68k ;;
m88*)			gdb_target_cpu=m88k ;;
mips*)			gdb_target_cpu=mips ;;
powerpc*)		gdb_target_cpu=powerpc ;;
sparc*)			gdb_target_cpu=sparc ;;
thumb*)			gdb_target_cpu=arm ;;
s390*)			gdb_target_cpu=s390 ;;
strongarm*)		gdb_target_cpu=arm ;;
xscale*)		gdb_target_cpu=arm ;;
v850*)			gdb_target_cpu=v850 ;;
x86_64*)		gdb_target_cpu=i386 ;;
*)			gdb_target_cpu=$target_cpu ;;

esac

# map target info into gdb names.

case "${target}" in

*-*-nextstep*)		gdb_target=nextstep ;;
*-apple-rhapsody*)	gdb_target=rhapsody ;;
*-apple-macos10*)	gdb_target=macosx ;;
*-apple-darwin*)	gdb_target=macosx ;;

# OBSOLETE a29k-*-aout*)		gdb_target=a29k ;;
# OBSOLETE a29k-*-coff*)		gdb_target=a29k ;;
# OBSOLETE a29k-*-elf*)		gdb_target=a29k ;;
# OBSOLETE a29k-*-ebmon*)		gdb_target=a29k ;;
# OBSOLETE a29k-*-kern*)		gdb_target=a29k-kern ;;
# OBSOLETE a29k-*-none*)		gdb_target=a29k ;;
# OBSOLETE a29k-*-udi*)		gdb_target=a29k-udi ;;
# OBSOLETE a29k-*-vxworks*)        gdb_target=vx29k ;;

alpha*-*-osf*)		gdb_target=alpha-osf1 ;;
alpha*-*-linux*)	gdb_target=alpha-linux ;;
alpha*-*-freebsd*)	gdb_target=fbsd ;;

arc-*-*)		gdb_target=arc ;;

arm*-wince-pe)		gdb_target=wince ;;
arm*-*-linux*)		gdb_target=linux 
			configdirs="$configdirs gdbserver"
			;;
arm*-*-netbsd*)		gdb_target=nbsd ;;
arm*-*-* | thumb*-*-* | strongarm*-*-*)
			gdb_target=embed
                        configdirs="$configdirs rdi-share"
                        ;;
xscale-*-*)		gdb_target=embed
                        configdirs="$configdirs rdi-share"
                        ;;

cris*)                  gdb_target=cris ;;

d10v-*-*)		gdb_target=d10v ;;
d30v-*-*)		gdb_target=d30v ;;

h8300-*-*)		gdb_target=h8300 ;;
h8500-*-*)		gdb_target=h8500 ;;


fr30-*-elf*)		gdb_target=fr30 ;;


hppa*-*pdo-hpux11.0*)	gdb_target=pdo1100 ;;
hppa*-*pdo-hpux*)	gdb_target=pdo1020 ;;
hppa*-*-bsd*)		gdb_target=hppabsd
		configdirs="${configdirs} gdbserver" ;;
hppa*-*-pro*)		gdb_target=hppapro ;;
hppa*64*-*-hpux11*)	gdb_target=hppa64 ;;
hppa*-*-hpux*)		gdb_target=hppahpux ;;
hppa*-*-hiux*)		gdb_target=hppahpux ;;
hppa*-*-osf*)		gdb_target=hppaosf
		configdirs="${configdirs} gdbserver" ;;

i[3456]86-sequent-bsd*)	gdb_target=symmetry ;;
i[3456]86-sequent-sysv4*) gdb_target=ptx4 ;;
i[3456]86-sequent-sysv*) gdb_target=ptx ;;
i[3456]86-ncr-*)	gdb_target=ncr3000 ;;
i[3456]86-*-aout*)	gdb_target=embed ;;
i[3456]86-*-coff*)	gdb_target=embed ;;
i[3456]86-*-elf*)	gdb_target=embed ;;
i[3456]86-*-aix*)	gdb_target=i386aix ;;
i[3456]86-*-bsd*)	gdb_target=i386bsd ;;
i[3456]86-*-freebsd*)	gdb_target=fbsd ;;
i[3456]86-*-netbsdelf*)	gdb_target=nbsdelf
		configdirs="${configdirs} gdbserver" ;;
i[3456]86-*-netbsd*)	gdb_target=nbsd 
		configdirs="${configdirs} gdbserver" ;;
i[3456]86-*-os9k)	gdb_target=i386os9k ;;
i[3456]86-*-go32*)	gdb_target=i386aout ;;
i[3456]86-*-msdosdjgpp*) gdb_target=go32 ;;
i[3456]86-*-lynxos*)	gdb_target=i386lynx
		configdirs="${configdirs} gdbserver" ;;
i[3456]86-*-openbsd*)	gdb_target=obsd ;;
i[3456]86-*-solaris*)	gdb_target=i386sol2 ;;
# OBSOLETE i[3456]86-*-sunos*)	gdb_target=sun386 ;;
i[3456]86-*-sysv4.2*)	gdb_target=i386v42mp ;;
i[3456]86-*-sysv4*)	gdb_target=i386v4 ;;
i[3456]86-*-sysv5*)	gdb_target=i386v42mp ;;
i[3456]86-*-unixware2*)	gdb_target=i386v42mp ;;
i[3456]86-*-unixware*)	gdb_target=i386v4 ;;
i[3456]86-*-sco3.2v4*)	gdb_target=i386sco4 ;;
i[3456]86-*-sco3.2v5*)	gdb_target=i386sco5 ;;
i[3456]86-*-sco*)	gdb_target=i386v ;;
i[3456]86-*-sysv*)	gdb_target=i386v ;;
i[3456]86-*-linux*)	gdb_target=linux
		configdirs="${configdirs} gdbserver" ;;
i[3456]86-pc-linux-gnu)	gdb_target=linux
		configdirs="${configdirs} gdbserver" ;;
i[3456]86-*-isc*)	gdb_target=i386v ;;
i[3456]86-*-mach3*)	gdb_target=i386m3 ;;
i[3456]86-*-gnu*)	gdb_target=i386gnu ;;
i[3456]86-*-netware*)	gdb_target=i386nw
		configdirs="${configdirs} nlm" ;;
i[3456]86-*-osf1mk*)	gdb_target=i386mk ;;
i[3456]86-*-cygwin*)	gdb_target=cygwin  ;;
i[3456]86-*-pe*)	gdb_target=embed  ;;
i[3456]86-*-vxworks*)	gdb_target=vxworks ;;

i960-*-bout*)		gdb_target=vxworks960 ;;
i960-nindy-coff*)	gdb_target=nindy960 ;;
i960-*-coff*)		gdb_target=mon960 ;;
i960-nindy-elf*)	gdb_target=nindy960 ;;
i960-*-elf*)		gdb_target=mon960 ;;
i960-*-nindy*)		gdb_target=nindy960 ;;
i960-*-vxworks*)	gdb_target=vxworks960 ;;

ia64-*-aix*)		gdb_target=aix ;;
ia64-*-linux*)		gdb_target=linux ;;

m32r-*-elf*)		gdb_target=m32r ;;

m68hc11*-*-*|m6811*-*-*)	gdb_target=m68hc11 ;;

m68000-*-sunos3*)	gdb_target=sun2os3 ;;
m68000-*-sunos4*)	gdb_target=sun2os4 ;;

m68*-apollo*-bsd*)	gdb_target=apollo68b ;;
m68*-bull-sysv*)	gdb_target=dpx2 ;;
m68*-hp-bsd*)		gdb_target=hp300bsd ;;
m68*-hp-hpux*)		gdb_target=hp300hpux ;;
m68*-att-*)		gdb_target=3b1 ;;
m68*-cisco*-*)		gdb_target=cisco ;;
m68*-ericsson-*)	gdb_target=es1800 ;;
# OBSOLETE m68*-isi-*)		gdb_target=isi ;;
m68*-motorola-*)	gdb_target=delta68 ;;
m68*-netx-*)		gdb_target=vxworks68 ;;
# OBSOLETE m68*-sony-*)		gdb_target=news ;;
m68*-tandem-*)		gdb_target=st2000 ;;
# OBSOLETE m68*-rom68k-*)          gdb_target=monitor ;;
# OBSOLETE m68*-*bug-*)            gdb_target=monitor ;;
# OBSOLETE m68*-monitor-*)         gdb_target=monitor ;;
# OBSOLETE m68*-est-*)		gdb_target=monitor ;;
m68*-*-aout*)		gdb_target=monitor ;;
m68*-*-coff*)		gdb_target=monitor ;;
m68*-*-elf*)		gdb_target=monitor ;;
m68*-*-linux*)		gdb_target=linux
		configdirs="${configdirs} gdbserver" ;;
m68*-*-lynxos*)		gdb_target=m68klynx
		configdirs="${configdirs} gdbserver" ;;
m68*-*-netbsd*)		gdb_target=nbsd
		configdirs="${configdirs} gdbserver" ;;
m68*-*-os68k*)		gdb_target=os68k ;;
m68*-*-sunos3*)		gdb_target=sun3os3 ;;
m68*-*-sunos4*)		gdb_target=sun3os4
		configdirs="${configdirs} gdbserver" ;;
m68*-*-sysv4*)		gdb_target=m68kv4 ;;
m68*-*-vxworks*)	gdb_target=vxworks68 ;;

m88*-motorola-sysv4*)	gdb_target=delta88v4 ;;
m88*-motorola-*)	gdb_target=delta88 ;;
m88*-*-*)		gdb_target=m88k ;;

mcore*-*-*)		gdb_target=mcore ;;
mips64*-big-*)		gdb_target=bigmips64 ;;
mips*-big-*)		gdb_target=bigmips ;;
mips*-dec-mach3*)	gdb_target=mach3 ;;
mips*-dec-*)		gdb_target=decstation ;;
mips*-*-pe)		gdb_target=wince ;;
mips64*el-*-ecoff*)	gdb_target=embedl64 ;;
mips64*-*-ecoff*)	gdb_target=embed64 ;;
mips64*vr4xxx*el-*-elf*)gdb_target=vr4xxxel ;;
mips64*vr4xxx*-*-elf*)	gdb_target=vr4xxx ;;
mips64*vr4300*el-*-elf*)	gdb_target=vr4300el ;;
mips64*vr4300*-*-elf*)	gdb_target=vr4300 ;;
mips64*vr4100*el-*-elf*)	gdb_target=vr4300el ;;
mips64*vr4100*-*-elf*)	gdb_target=vr4100 ;;
mips64*vr5000*el-*-elf*)	gdb_target=vr5000el ;;
mips64*vr5000*-*-elf*)	gdb_target=vr5000
		configdirs="${configdirs} gdbserver" ;;
mips*tx39*el*-elf*)	gdb_target=tx39l ;;
mips*tx39*-elf*)	gdb_target=tx39 ;;
mips64*el-*-elf*)	gdb_target=embedl64 ;;
mips64*-*-elf*)		gdb_target=embed64 ;;
mips*el-*-ecoff*)	gdb_target=embedl ;;
mips*-*-ecoff*)		gdb_target=embed ;;
mips*el-*-elf*)		gdb_target=embedl ;;
mips*-*-elf*)		gdb_target=embed ;;
mips*-little-*)		gdb_target=littlemips ;;
mips*-*-lnews*)		gdb_target=embedl ;;
mips*-sgi-irix5*)	gdb_target=irix5 ;;
mips*-sgi-irix6*)	gdb_target=irix6 ;;
mips*-sgi-*)		gdb_target=irix3 ;;
mips*-sony-*)		gdb_target=bigmips ;;
mips*-*-linux*)		gdb_target=linux ;;
mips*-*-mach3*)		gdb_target=mipsm3 ;;
mips*-*-sysv4*)		gdb_target=mipsv4 ;;
mips*-*-sysv*)		gdb_target=bigmips ;;
mips*-*-riscos*)	gdb_target=bigmips ;;
mips*-*-vxworks*)       gdb_target=vxmips ;;

mn10200-*-*)		gdb_target=mn10200 ;;
mn10300-*-*)		gdb_target=mn10300 ;;

none-*-*)		gdb_target=none ;;

# OBSOLETE ns32k-*-mach3*)		gdb_target=ns32km3 ;;
ns32k-*-netbsd*)	gdb_target=nbsd
		configdirs="${configdirs} gdbserver" ;;
# OBSOLETE ns32k-utek-sysv*)	gdb_target=merlin ;;
# OBSOLETE ns32k-utek-*)		gdb_target=umax ;;

powerpc-*-netbsd*)	gdb_target=nbsd
		configdirs="${configdirs} gdbserver" ;;
powerpc-*-aix*)		gdb_target=aix ;;
powerpc-*-eabi* | powerpc-*-sysv* | powerpc-*-elf*)
			if test -f ../sim/ppc/Makefile; then
			  gdb_target=ppc-sim
			else
			  gdb_target=ppc-eabi
			fi ;;
powerpcle-*-eabi* | powerpcle-*-sysv* | powerpcle-*-elf*)
			if test -f ../sim/ppc/Makefile; then
			  gdb_target=ppcle-sim
			else
			  gdb_target=ppcle-eabi
			fi ;;
powerpc-*-linux*)	gdb_target=linux ;;
powerpc-*-vxworks*)	gdb_target=vxworks ;;

# OBSOLETE pyramid-*-*)		gdb_target=pyramid ;;

rs6000-*-lynxos*)	gdb_target=rs6000lynx
		configdirs="${configdirs} gdbserver" ;;
rs6000-*-aix4*)		gdb_target=aix4 ;;
rs6000-*-*)		gdb_target=rs6000 ;;

s390-*-*)		gdb_target=s390 ;;
s390x-*-*)		gdb_target=s390x ;;

sh*-*-pe)		gdb_target=wince ;;
sh-*-hms)		gdb_target=embed ;;
sh-*-coff*)		gdb_target=embed ;;
sh-*-elf*)		gdb_target=embed ;;
sh-*-linux*)		gdb_target=linux ;;

sparc-*-aout*)		gdb_target=sparc-em ;;
sparc-*-coff*)		gdb_target=sparc-em ;;
sparc-*-elf*)		gdb_target=sparc-em ;;
sparc-*-linux*)		gdb_target=linux ;;
sparc-*-lynxos*)	gdb_target=sparclynx
		configdirs="${configdirs} gdbserver" ;;
sparc-*-netbsd*)	gdb_target=nbsd ;;
sparc-*pdo-solaris2*)	gdb_target=pdo ;;
sparc-*-solaris2*)	gdb_target=sun4sol2 ;;
sparc-*-sunos4*)	gdb_target=sun4os4
		configdirs="${configdirs} gdbserver" ;;
sparc-*-sunos5*)	gdb_target=sun4sol2 ;;
sparc-*-vxworks*)	gdb_target=vxsparc ;;
sparc-*-*)		gdb_target=sun4os4 ;;
sparclet-*-*)		gdb_target=sparclet;;
sparclite-*-*)		gdb_target=sparclite ;;
sparc86x-*-*)		gdb_target=sparclite ;;
# It's not clear what the right solution for "v8plus" systems is yet.
# For now, stick with sparc-sun-solaris2 since that's what config.guess
# should return.  Work is still needed to get gdb to print the 64 bit
# regs (some of which are usable in v8plus) so sp64sol.mt hasn't been
# deleted though presumably it should be eventually.
#sparc64-*-solaris2*)	gdb_target=sp64sol2 ;;
sparc64-*-linux*)	gdb_target=sp64linux ;;
sparcv9-*-* | sparc64-*-*) gdb_target=sp64 ;;

xstormy16-*-*)          gdb_target=xstormy16 ;;

vax-*-*)		gdb_target=vax ;;

fr30-*-*)		gdb_target=fr30
			;;

v850*-*-*)		gdb_target=v850
			case ${gdb_host} in
			cygwin*)
				CONFIG_OBS="${CONFIG_OBS} v850ice.o" ;;
			* ) ;;
			esac
			;;

x86_64-*-linux*)        gdb_target=x86-64linux 
                        configdirs="${configdirs} gdbserver" ;; 

z8k-*-coff*)		gdb_target=z8k ;;

*-*pdo-*)		gdb_target=pdo ;;

esac


# map GDB target onto multi-arch support

case "${gdb_target}" in
d10v)		gdb_multi_arch=yes ;;
m68hc11)	gdb_multi_arch=yes ;;
mn10300)	gdb_multi_arch=yes ;;
x86-64linux)    gdb_multi_arch=yes ;;
xstormy16)      gdb_multi_arch=yes ;;
esac
