# 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.
arm*) gdb_target_cpu=arm ;;
avr*) gdb_target_cpu=avr ;;
hppa*) gdb_target_cpu=pa ;;
-i[3456]86*) gdb_target_cpu=i386 ;;
+i[34567]86*) gdb_target_cpu=i386 ;;
m68hc11*|m6811*) gdb_target_cpu=m68hc11 ;;
m68*) gdb_target_cpu=m68k ;;
-# OBSOLETE m88*) gdb_target_cpu=m88k ;;
+m88*) gdb_target_cpu=m88k ;;
mips*) gdb_target_cpu=mips ;;
powerpc*) gdb_target_cpu=powerpc ;;
sparc*) gdb_target_cpu=sparc ;;
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 ;;
case "${target}" in
+x86_64-*-freebsd* | x86_64-*-kfreebsd*-gnu)
+ gdb_target=fbsd64 ;;
+*-*-freebsd* | *-*-kfreebsd*-gnu)
+ gdb_target=fbsd ;;
+
alpha*-*-osf*) gdb_target=alpha-osf1 ;;
alpha*-*-linux*) gdb_target=alpha-linux ;;
-alpha*-*-freebsd*) gdb_target=fbsd ;;
-alpha*-*-netbsd*) gdb_target=nbsd ;;
+alpha*-*-netbsd* | alpha*-*-knetbsd*-gnu)
+ gdb_target=nbsd ;;
+alpha*-*-openbsd*) gdb_target=nbsd ;;
alpha*-*-*) gdb_target=alpha ;;
-# OBSOLETE arc-*-*) gdb_target=arc ;;
-
arm*-wince-pe) gdb_target=wince ;;
arm*-*-linux*) gdb_target=linux
build_gdbserver=yes
;;
-arm*-*-netbsd*) gdb_target=nbsd
- gdb_multi_arch=yes ;;
+arm*-*-netbsd* | arm*-*-knetbsd*-gnu)
+ gdb_target=nbsd ;;
+arm-*-nto*) gdb_target=nto ;;
arm*-*-* | thumb*-*-* | strongarm*-*-*)
gdb_target=embed
- configdirs="$configdirs rdi-share"
+ build_rdi_share=yes
;;
xscale-*-*) gdb_target=embed
- configdirs="$configdirs rdi-share"
+ build_rdi_share=yes
;;
-avr-*-*) gdb_target=avr
- gdb_multi_arch=yes
- ;;
+avr-*-*) gdb_target=avr ;;
cris*) gdb_target=cris ;;
-d10v-*-*) gdb_target=d10v ;;
-# OBSOLETE d30v-*-*) gdb_target=d30v ;;
-
-h8300-*-*) gdb_target=h8300 ;;
-h8500-*-*) gdb_target=h8500 ;;
-
-
-# OBSOLETE fr30-*-elf*) gdb_target=fr30 ;;
+# OBSOLETE d10v-*-*) gdb_target=d10v ;;
frv-*-*) gdb_target=frv ;;
-hppa*-*-bsd*) gdb_target=hppabsd ;;
-hppa*-*-pro*) gdb_target=hppapro ;;
+h8300-*-*) gdb_target=h8300 ;;
+
hppa*64*-*-hpux11*) gdb_target=hppa64 ;;
hppa*-*-hpux*) gdb_target=hppahpux ;;
hppa*-*-hiux*) gdb_target=hppahpux ;;
-hppa*-*-osf*) gdb_target=hppaosf ;;
+hppa*-*-linux*) gdb_target=linux ;;
+hppa*-*-openbsd*) gdb_target=obsd ;;
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 ;;
-# OBSOLETE 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 ;;
-i[3456]86-*-netbsd* | i[3456]86-*-openbsd*)
- gdb_target=nbsdaout ;;
-# OBSOLETE 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 ;;
-i[3456]86-*-solaris*) gdb_target=i386sol2 ;;
-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-*-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
+i[34567]86-ncr-*) gdb_target=ncr3000 ;;
+i[34567]86-*-netbsd* | i[34567]86-*-knetbsd*-gnu)
+ gdb_target=nbsd ;;
+i[34567]86-*-openbsd*) gdb_target=obsd ;;
+i[34567]86-*-nto*) gdb_target=nto ;;
+i[34567]86-*-lynxos*) gdb_target=i386lynx ;;
+i[34567]86-*-solaris2.1[0-9]*) gdb_target=sol2-64 ;;
+i[34567]86-*-solaris*) gdb_target=i386sol2 ;;
+i[34567]86-*-linux*) gdb_target=linux
build_gdbserver=yes
;;
-i[3456]86-*-isc*) gdb_target=i386v ;;
-# OBSOLETE i[3456]86-*-mach3*) gdb_target=i386m3 ;;
-i[3456]86-*-gnu*) gdb_target=i386gnu ;;
-i[3456]86-*-netware*) gdb_target=i386nw
- configdirs="${configdirs} nlm" ;;
-# OBSOLETE i[3456]86-*-osf1mk*) gdb_target=i386mk ;;
-i[3456]86-*-cygwin*) gdb_target=cygwin ;;
-i[3456]86-*-vxworks*) gdb_target=vxworks ;;
-i[3456]86-*-*) gdb_target=embed ;;
-
-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 ;;
+i[34567]86-*-gnu*) gdb_target=i386gnu ;;
+i[34567]86-*-netware*) gdb_target=i386
+ build_nlm=yes
+ ;;
+i[34567]86-*-cygwin*) gdb_target=cygwin ;;
+i[34567]86-*-*) gdb_target=i386 ;;
+
ia64-*-linux*) gdb_target=linux
build_gdbserver=yes
;;
ia64*-*-*) gdb_target=ia64 ;;
-m32r-*-elf*) gdb_target=m32r ;;
+iq2000-*-*) gdb_target=iq2000 ;;
-m68hc11*-*-*|m6811*-*-*) gdb_target=m68hc11 ;;
+m32r*-*-linux*) gdb_target=linux ;;
+m32r*-*-*) gdb_target=m32r ;;
-m68000-*-sunos3*) gdb_target=sun2os3 ;;
-m68000-*-sunos4*) gdb_target=sun2os4 ;;
+m68hc11*-*-*|m6811*-*-*) gdb_target=m68hc11 ;;
-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 ;;
-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*-*-rtems*) gdb_target=monitor ;;
m68*-*-linux*) gdb_target=linux
build_gdbserver=yes
;;
-m68*-*-lynxos*) gdb_target=m68klynx ;;
-m68*-*-netbsd*) gdb_target=nbsdaout ;;
+m68*-*-netbsd* | m68*-*-knetbsd*-gnu)
+ gdb_target=nbsd ;;
+m68*-*-openbsd*) gdb_target=obsd ;;
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 ;;
-
-# OBSOLETE m88*-motorola-sysv4*) gdb_target=delta88v4 ;;
-# OBSOLETE m88*-motorola-*) gdb_target=delta88 ;;
-# OBSOLETE 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 ;;
+m68*-*-uclinux*) gdb_target=monitor ;;
+
+m88*-*-openbsd*) gdb_target=obsd ;;
+
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 ;;
-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*-*-netbsd* | mips*-*-knetbsd*-gnu)
+ gdb_target=nbsd ;;
+mips64*-*-openbsd*) gdb_target=obsd64 ;;
mips*-*-*) gdb_target=embed ;;
-mn10200-*-*) gdb_target=mn10200 ;;
mn10300-*-*) gdb_target=mn10300 ;;
-none-*-*) gdb_target=none ;;
-
-ns32k-*-netbsd*) gdb_target=nbsdaout ;;
-
-powerpc-*-netbsd*) gdb_target=nbsd ;;
+powerpc-*-netbsd* | powerpc-*-knetbsd*-gnu)
+ gdb_target=nbsd ;;
+powerpc-*-openbsd*) gdb_target=obsd ;;
powerpc-*-aix*) gdb_target=aix ;;
powerpc-*-linux*) gdb_target=linux
build_gdbserver=yes
;;
-powerpc-*-vxworks*) gdb_target=vxworks ;;
+powerpc64-*-linux*) gdb_target=linux ;;
powerpc*-*-*) if test -f ../sim/ppc/Makefile; then
gdb_target=ppc-sim
else
rs6000-*-aix4*) gdb_target=aix4 ;;
rs6000-*-*) gdb_target=rs6000 ;;
-s390-*-*) gdb_target=s390
- build_gdbserver=yes
- ;;
-s390x-*-*) gdb_target=s390x
+s390*-*-*) gdb_target=s390
build_gdbserver=yes
;;
sh*-*-pe) gdb_target=wince ;;
sh-*-coff*) gdb_target=embed ;;
sh-*-elf*) gdb_target=embed ;;
+# FIXME should that be sh*-*-linux*, perhaps?
sh-*-linux*) gdb_target=linux
build_gdbserver=yes
;;
-sh*-*-netbsdelf*) gdb_target=nbsd ;;
+sh*-*-netbsdelf* | sh*-*-knetbsd*-gnu)
+ gdb_target=nbsd ;;
+sh-*-nto*) gdb_target=nto ;;
+sh64-*-elf*) gdb_target=sh64 ;;
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-*-freebsd*|ultrasparc-*-freebsd*|sparcv9-*-freebsd*)
- gdb_target=fbsd ;;
-sparc64-*-linux*) gdb_target=sp64linux ;;
-sparc64-*-netbsd*) gdb_target=nbsd64 ;;
-sparcv9-*-* | sparc64-*-*) gdb_target=sp64 ;;
+sparc64-*-linux*) gdb_target=linux64 ;;
+sparc-*-netbsd* | sparc-*-knetbsd*-gnu)
+ gdb_target=nbsd ;;
+sparc64-*-netbsd* | sparc64-*-knetbsd*-gnu)
+ gdb_target=nbsd64 ;;
+sparc-*-openbsd*) gdb_target=obsd ;;
+sparc64-*-openbsd*) gdb_target=obsd64 ;;
+sparc-*-solaris2.[0-6] | sparc-*-solaris2.[0-6].*)
+ gdb_target=sol2
+ ;;
+sparc-*-solaris2* | sparcv9-*-solaris2* | sparc64-*-solaris2*)
+ gdb_target=sol2-64
+ ;;
+sparc-*-*) gdb_target=sparc ;;
+sparc64-*-*) gdb_target=sparc64 ;;
xstormy16-*-*) gdb_target=xstormy16 ;;
+vax-*-netbsd* | vax-*-knetbsd*-gnu)
+ gdb_target=nbsd ;;
+vax-*-openbsd*) gdb_target=nbsd ;;
vax-*-*) gdb_target=vax ;;
-# OBSOLETE fr30-*-*) gdb_target=fr30
-# OBSOLETE ;;
-
-v850*-*-*) gdb_target=v850
- case ${gdb_host} in
- cygwin*)
- CONFIG_OBS="${CONFIG_OBS} v850ice.o" ;;
- * ) ;;
- esac
- ;;
-
-x86_64-*-linux*) gdb_target=x86-64linux
+x86_64-*-linux*) gdb_target=linux64
build_gdbserver=yes
;;
-
-
-z8k-*-coff*) gdb_target=z8k ;;
+x86_64-*-netbsd* | x86_64-*-knetbsd*-gnu)
+ gdb_target=nbsd64 ;;
+x86_64-*-openbsd*) gdb_target=obsd64 ;;
esac
+# map target onto default OS ABI
-# 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 ;;
+case "${target}" in
+*-*-freebsd*) gdb_osabi=GDB_OSABI_FREEBSD_ELF ;;
+*-*-linux*) gdb_osabi=GDB_OSABI_LINUX ;;
+*-*-nto*) gdb_osabi=GDB_OSABI_QNXNTO ;;
+m68*-*-openbsd* | m88*-*-openbsd* | vax-*-openbsd*) ;;
+*-*-openbsd*) gdb_osabi=GDB_OSABI_OPENBSD_ELF ;;
+*-*-solaris*) gdb_osabi=GDB_OSABI_SOLARIS ;;
+*-*-*-gnu*) ;; # prevent non-GNU kernels to match the Hurd rule below
+*-*-gnu*) gdb_osabi=GDB_OSABI_HURD ;;
esac