# 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 ;;
avr*)			gdb_target_cpu=avr ;;
hppa*)			gdb_target_cpu=pa ;;
i[3456]86*)		gdb_target_cpu=i386 ;;
m68hc11*|m6811*)	gdb_target_cpu=m68hc11 ;;
m68*)			gdb_target_cpu=m68k ;;
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 ;;
sh*)			gdb_target_cpu=sh ;;
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

*-*-freebsd*)		gdb_target=fbsd
			;;

alpha*-*-osf*)		gdb_target=alpha-osf1 ;;
alpha*-*-linux*)	gdb_target=alpha-linux ;;
alpha*-*-netbsd*)	gdb_target=nbsd ;;
alpha*-*-*)		gdb_target=alpha ;;

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

avr-*-*)		gdb_target=avr
			gdb_multi_arch=yes
			;;

cris*)                  gdb_target=cris ;;

d10v-*-*)		gdb_target=d10v ;;

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


frv-*-*)		gdb_target=frv ;;

# OBSOLETE hppa*-*-bsd*)		gdb_target=hppabsd ;;
# OBSOLETE hppa*-*-pro*)		gdb_target=hppapro ;;
hppa*64*-*-hpux11*)	gdb_target=hppa64 ;;
hppa*-*-hpux*)		gdb_target=hppahpux ;;
hppa*-*-hiux*)		gdb_target=hppahpux ;;
# OBSOLETE hppa*-*-osf*)		gdb_target=hppaosf ;;
hppa*-*-*)		gdb_target=hppa ;;

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-*-bsd*)	gdb_target=i386bsd ;;
i[3456]86-*-netbsd*)	gdb_target=nbsd ;;
i[3456]86-*-openbsd*)	gdb_target=obsd ;;
i[3456]86-*-go32*)	gdb_target=i386aout ;;
i[3456]86-*-msdosdjgpp*) gdb_target=go32 ;;
i[3456]86-*-lynxos*)	gdb_target=i386lynx ;;
i[3456]86-*-solaris*)	gdb_target=i386sol2 ;;
i[3456]86-*-sco*)	gdb_target=i386v ;;
i[3456]86-*-sysv*)	gdb_target=i386v ;;
i[3456]86-*-linux*)	gdb_target=linux
			build_gdbserver=yes
			;;
i[3456]86-*-isc*)	gdb_target=i386v ;;
i[3456]86-*-gnu*)	gdb_target=i386gnu ;;
i[3456]86-*-netware*)	gdb_target=i386nw
		configdirs="${configdirs} nlm" ;;
i[3456]86-*-cygwin*)	gdb_target=cygwin  ;;
i[3456]86-*-vxworks*)	gdb_target=vxworks ;;
i[3456]86-*-*)		gdb_target=embed ;;

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

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

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

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

m68*-bull-sysv*)	gdb_target=dpx2 ;;
m68*-att-*)		gdb_target=3b1 ;;
m68*-cisco*-*)		gdb_target=cisco ;;
m68*-motorola-*)	gdb_target=delta68 ;;
m68*-netx-*)		gdb_target=vxworks68 ;;
m68*-tandem-*)		gdb_target=st2000 ;;
m68*-*-aout*)		gdb_target=monitor ;;
m68*-*-coff*)		gdb_target=monitor ;;
m68*-*-elf*)		gdb_target=monitor ;;
m68*-*-linux*)		gdb_target=linux
			build_gdbserver=yes
			;;
m68*-*-lynxos*)		gdb_target=m68klynx ;;
m68*-*-netbsd*)		gdb_target=nbsdaout ;;
m68*-*-os68k*)		gdb_target=os68k ;;
m68*-*-sunos3*)		gdb_target=sun3os3 ;;
m68*-*-sunos4*)		gdb_target=sun3os4 ;;
m68*-*-sysv4*)		gdb_target=m68kv4 ;;
m68*-*-vxworks*)	gdb_target=vxworks68 ;;

mcore*-*-*)		gdb_target=mcore ;;
mips64*-big-*)		gdb_target=bigmips64 ;;
mips*-big-*)		gdb_target=bigmips ;;
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 ;;
mips*tx39*el*-elf*)	gdb_target=tx39l ;;
mips*tx39*-elf*)	gdb_target=tx39 ;;
mips64*el-*-elf*)	gdb_target=embedl64 ;;
mips64*-*-elf*)		gdb_target=embed64 ;;
mips64*-*-linux*)	gdb_target=linux64 ;;
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
			build_gdbserver=yes
			;;
mips*-*-netbsd*)	gdb_target=nbsd ;;
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 ;;
mips*-*-*)		gdb_target=embed ;;

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

none-*-*)		gdb_target=none ;;

ns32k-*-netbsd*)	gdb_target=nbsdaout ;;

powerpc-*-netbsd*)	gdb_target=nbsd ;;
powerpc-*-aix*)		gdb_target=aix ;;
powerpc-*-linux*)	gdb_target=linux
			build_gdbserver=yes
			;;
powerpc-*-vxworks*)	gdb_target=vxworks ;;
powerpc*-*-*)		if test -f ../sim/ppc/Makefile; then
			  gdb_target=ppc-sim
			else
			  gdb_target=ppc-eabi
			fi ;;

rs6000-*-lynxos*)	gdb_target=rs6000lynx ;;
rs6000-*-aix4*)		gdb_target=aix4 ;;
rs6000-*-*)		gdb_target=rs6000 ;;

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

sh*-*-pe)		gdb_target=wince ;;
sh-*-coff*)		gdb_target=embed ;;
sh-*-elf*)		gdb_target=embed ;;
sh-*-linux*)		gdb_target=linux
			build_gdbserver=yes
			;;
sh*-*-netbsdelf*)	gdb_target=nbsd ;;
sh*)			gdb_target=embed ;;

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 ;;
sparc-*-netbsd*)	gdb_target=nbsd ;;
sparc-*-solaris2*)	gdb_target=sun4sol2 ;;
sparc-*-sunos4*)	gdb_target=sun4os4 ;;
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 ;;
sparc64-*-netbsd*)	gdb_target=nbsd64 ;;
sparcv9-*-* | sparc64-*-*) gdb_target=sp64 ;;

xstormy16-*-*)          gdb_target=xstormy16 ;;

vax-*-*)		gdb_target=vax ;;

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

x86_64-*-linux*)	gdb_target=x86-64linux
			build_gdbserver=yes
			;;

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

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 ;;
v850)           gdb_multi_arch=yes ;;
xstormy16)      gdb_multi_arch=yes ;;
mcore)		gdb_multi_arch=yes ;;
esac

# map target onto default OS ABI

case "${target}" in
*-*-linux*)	gdb_osabi=GDB_OSABI_LINUX ;;
*-*-gnu*)	gdb_osabi=GDB_OSABI_HURD ;;
*-*-solaris*)	gdb_osabi=GDB_OSABI_SOLARIS ;;
esac
