# 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
-
-case $target in
+# gdb_target_obs target-specific object files to use
+# gdb_sim simulator library for target
+# gdb_osabi default OS ABI to use with target
+# build_gdbserver set to "yes" if gdbserver supports target
+# gdb_have_gcore set to "true"/"false" if this target can run gcore
+
+# NOTE: Every file added to a gdb_target_obs variable for any target here
+# must also be added to either ALL_TARGET_OBS or ALL_64_TARGET_OBS
+# in Makefile.in!
+
+case $targ in
+ *-*-irix* | \
+ *-*-solaris2.[01] | *-*-solaris2.[2-9]* | *-*-solaris2.10* | \
+ alpha*-*-osf* | \
+ alpha*-*-freebsd* | \
+ alpha*-*-kfreebsd*-gnu | \
d10v-*-* | \
hppa*-*-hiux* | \
i[34567]86-ncr-* | \
- i[34567]86-*-lynxos* | \
m68*-cisco*-* | \
m68*-tandem-* | \
m68*-*-os68k* | \
mips*-*-pe | \
rs6000-*-lynxos* | \
sh*-*-pe | \
+ hppa*-*-hpux* | \
+ ia64-*-hpux* | \
+ *-*-vxworks* | \
+ mt-*-* | \
null)
- echo "*** Configuration $target is obsolete." >&2
+ echo "*** Configuration $targ is obsolete." >&2
echo "*** Support has been REMOVED." >&2
exit 1
;;
esac
-# Map target cpu into the config cpu subdirectory name.
-# The default is $target_cpu.
-
-case "${target_cpu}" in
-
-alpha*) gdb_target_cpu=alpha ;;
-am33_2.0*) gdb_target_cpu=mn10300 ;;
-arm*) gdb_target_cpu=arm ;;
-avr*) gdb_target_cpu=avr ;;
-hppa*) gdb_target_cpu=pa ;;
-i[34567]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* | rs6000) gdb_target_cpu=powerpc ;;
-sparc*) gdb_target_cpu=sparc ;;
-thumb*) gdb_target_cpu=arm ;;
-s390*) gdb_target_cpu=s390 ;;
-score*) gdb_target_cpu=score ;;
-sh*) gdb_target_cpu=sh ;;
-spu*) gdb_target_cpu=spu ;;
-strongarm*) gdb_target_cpu=arm ;;
-xscale*) gdb_target_cpu=arm ;;
-x86_64*) gdb_target_cpu=i386 ;;
-xtensa*) gdb_target_cpu=xtensa ;;
-*) gdb_target_cpu=$target_cpu ;;
-
-esac
+x86_tobjs="x86-tdep.o"
+i386_tobjs="i386-tdep.o arch/i386.o i387-tdep.o ${x86_tobjs}"
+amd64_tobjs="amd64-tdep.o arch/amd64.o ${x86_tobjs}"
-# map target info into gdb names.
+# Here are three sections to get a list of target specific object
+# files according to target triplet $TARG.
-case "${target}" in
+# 1. Get the objects per cpu in $TARG.
-x86_64-*-freebsd* | x86_64-*-kfreebsd*-gnu)
- gdb_target=fbsd64 ;;
-*-*-freebsd* | *-*-kfreebsd*-gnu)
- gdb_target=fbsd ;;
+case "${targ}" in
+aarch64*-*-*)
+ cpu_obs="aarch32-tdep.o aarch64-tdep.o arch/aarch32.o \
+ arch/aarch64-insn.o arch/aarch64.o ravenscar-thread.o \
+ aarch64-ravenscar-thread.o";;
-alpha*-*-osf*) gdb_target=alpha-osf1 ;;
-alpha*-*-linux*) gdb_target=alpha-linux ;;
-alpha*-*-netbsd* | alpha*-*-knetbsd*-gnu)
- gdb_target=nbsd ;;
-alpha*-*-openbsd*) gdb_target=obsd ;;
-alpha*-*-*) gdb_target=alpha ;;
+alpha*-*-*)
+ # Target: Alpha
+ cpu_obs="alpha-tdep.o"
+ ;;
-# mn10300 / am33 liunux
-am33_2.0*-*-linux*) gdb_target=linux ;;
+arc*-*-*)
+ # Target: Unidentified ARC target
+ cpu_obs="arc-tdep.o"
+ ;;
-arm*-wince-pe | arm*-*-mingw32ce*)
- gdb_target=wince
- build_gdbserver=yes
- ;;
-arm*-*-linux*) gdb_target=linux
- build_gdbserver=yes
- ;;
-arm*-*-netbsd* | arm*-*-knetbsd*-gnu)
- gdb_target=nbsd ;;
-arm*-*-openbsd*) gdb_target=obsd ;;
-arm*-*-* | thumb*-*-* | strongarm*-*-*)
- gdb_target=embed
- build_rdi_share=yes
- ;;
-xscale-*-*) gdb_target=embed
- build_rdi_share=yes
- ;;
+arm*-*-*)
+ cpu_obs="aarch32-tdep.o arch/aarch32.o arch/arm.o \
+ arch/arm-get-next-pcs.o arm-tdep.o";;
-avr-*-*) gdb_target=avr ;;
+hppa*-*-*)
+ # Target: HP PA-RISC
+ cpu_obs="hppa-tdep.o"
+ ;;
-cris*) gdb_target=cris ;;
+i[34567]86-*-*)
+ cpu_obs="${i386_tobjs}"
+ if test "x$enable_64_bit_bfd" = "xyes"; then
+ cpu_obs="${amd64_tobjs} ${cpu_obs}"
+ fi
+ ;;
-frv-*-*) gdb_target=frv ;;
+ia64*-*-*)
+ # Target: Intel IA-64
+ cpu_obs="ia64-tdep.o"
+ ;;
-h8300-*-*) gdb_target=h8300 ;;
+riscv*-*-*)
+ cpu_obs="riscv-tdep.o arch/riscv.o \
+ ravenscar-thread.o riscv-ravenscar-thread.o";;
-hppa*64*-*-hpux11*) gdb_target=hppa64 ;;
-hppa*-*-hpux*) gdb_target=hppahpux ;;
-hppa*-*-linux*) gdb_target=linux ;;
-hppa*-*-openbsd*) gdb_target=obsd ;;
-hppa*-*-*) gdb_target=hppa ;;
+x86_64-*-*)
+ cpu_obs="${i386_tobjs} ${amd64_tobjs}";;
-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-*-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[34567]86-*-gnu*) gdb_target=i386gnu ;;
-i[34567]86-*-cygwin*) gdb_target=cygwin
- build_gdbserver=yes
- ;;
-i[34567]86-*-mingw32*) gdb_target=i386
- build_gdbserver=yes
- ;;
-i[34567]86-*-*) gdb_target=i386 ;;
-
-ia64-*-linux*) gdb_target=linux
- build_gdbserver=yes
- ;;
-ia64*-*-*) gdb_target=ia64 ;;
-
-iq2000-*-*) gdb_target=iq2000 ;;
-
-m32c-*-*) gdb_target=m32c ;;
-
-m32r*-*-linux*) gdb_target=linux
- build_gdbserver=yes
- ;;
-m32r*-*-*) gdb_target=m32r ;;
-
-m68hc11*-*-*|m6811*-*-*) gdb_target=m68hc11 ;;
-
-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*-*-netbsd* | m68*-*-knetbsd*-gnu)
- gdb_target=nbsd ;;
-m68*-*-openbsd*) gdb_target=obsd ;;
-m68*-*-uclinux*) gdb_target=monitor ;;
+xtensa*)
+ # Target: Tensilica Xtensa processors
+ cpu_obs="xtensa-tdep.o xtensa-config.o solib-svr4.o"
+ ;;
-m88*-*-openbsd*) gdb_target=obsd ;;
+esac
-mep-*-*) gdb_target=mep ;;
+# 2. Get the objects per os in $TARG.
-mips*-sgi-irix5*) gdb_target=irix5 ;;
-mips*-sgi-irix6*) gdb_target=irix6 ;;
-mips*-*-linux*) gdb_target=linux
- build_gdbserver=yes
- ;;
-mips*-*-netbsd* | mips*-*-knetbsd*-gnu)
- gdb_target=nbsd ;;
-mips64*-*-openbsd*) gdb_target=obsd64 ;;
-mips*-*-*) gdb_target=embed ;;
+case "${targ}" in
+*-*-freebsd* | *-*-kfreebsd*-gnu)
+ os_obs="fbsd-tdep.o solib-svr4.o";;
+*-*-netbsd* | *-*-knetbsd*-gnu)
+ os_obs="nbsd-tdep.o solib-svr4.o";;
+*-*-openbsd*)
+ os_obs="obsd-tdep.o solib-svr4.o";;
+esac
-mn10300-*-*) gdb_target=mn10300 ;;
+# 3. Get the rest of objects.
+
+case "${targ}" in
+aarch64*-*-elf | aarch64*-*-rtems*)
+ # Target: AArch64 embedded system
+ gdb_target_obs="aarch64-newlib-tdep.o"
+ ;;
+
+aarch64*-*-freebsd*)
+ # Target: FreeBSD/aarch64
+ gdb_target_obs="aarch64-fbsd-tdep.o"
+ ;;
+
+aarch64*-*-linux*)
+ # Target: AArch64 linux
+ gdb_target_obs="aarch64-linux-tdep.o arch/aarch64.o\
+ arch/arm.o arch/arm-linux.o arch/arm-get-next-pcs.o \
+ arm-tdep.o arm-linux-tdep.o \
+ glibc-tdep.o linux-tdep.o solib-svr4.o \
+ symfile-mem.o linux-record.o"
+ build_gdbserver=yes
+ ;;
+
+alpha*-*-linux*)
+ # Target: Little-endian Alpha running Linux
+ gdb_target_obs="alpha-mdebug-tdep.o alpha-linux-tdep.o \
+ linux-tdep.o solib-svr4.o"
+ ;;
+alpha*-*-netbsd* | alpha*-*-knetbsd*-gnu)
+ # Target: NetBSD/alpha
+ gdb_target_obs="alpha-mdebug-tdep.o alpha-bsd-tdep.o \
+ alpha-nbsd-tdep.o"
+ ;;
+alpha*-*-openbsd*)
+ # Target: OpenBSD/alpha
+ gdb_target_obs="alpha-mdebug-tdep.o alpha-bsd-tdep.o \
+ alpha-nbsd-tdep.o alpha-obsd-tdep.o nbsd-tdep.o"
+ ;;
+
+am33_2.0*-*-linux*)
+ # Target: Matsushita mn10300 (AM33) running Linux
+ gdb_target_obs="mn10300-tdep.o mn10300-linux-tdep.o linux-tdep.o \
+ solib-svr4.o"
+ ;;
+
+arc*-*-elf32)
+ # Target: baremetal ARC elf32 (newlib) target
+ gdb_target_obs="arc-newlib-tdep.o"
+ ;;
-mt-*-*) gdb_target=mt ;;
+arm*-wince-pe | arm*-*-mingw32ce*)
+ # Target: ARM based machine running Windows CE (win32)
+ gdb_target_obs="arm-wince-tdep.o windows-tdep.o"
+ build_gdbserver=yes
+ ;;
+arm*-*-linux*)
+ # Target: ARM based machine running GNU/Linux
+ gdb_target_obs="arch/arm-linux.o arm-linux-tdep.o glibc-tdep.o \
+ solib-svr4.o symfile-mem.o linux-tdep.o linux-record.o"
+ build_gdbserver=yes
+ ;;
+arm*-*-freebsd*)
+ # Target: FreeBSD/arm
+ gdb_target_obs="arm-fbsd-tdep.o"
+ ;;
+arm*-*-netbsd* | arm*-*-knetbsd*-gnu)
+ # Target: NetBSD/arm
+ gdb_target_obs="arm-nbsd-tdep.o"
+ ;;
+arm*-*-openbsd*)
+ # Target: OpenBSD/arm
+ gdb_target_obs="arm-bsd-tdep.o arm-obsd-tdep.o"
+ ;;
+arm*-*-symbianelf*)
+ # Target: SymbianOS/arm
+ gdb_target_obs="arm-symbian-tdep.o"
+ ;;
+arm*-*-*)
+ # Target: ARM embedded system
+ gdb_target_obs="arm-pikeos-tdep.o"
+ gdb_sim=../sim/arm/libsim.a
+ ;;
+
+avr-*-*)
+ # Target: AVR
+ gdb_target_obs="avr-tdep.o"
+ gdb_sim=../sim/avr/libsim.a
+ ;;
+
+bfin-*-*linux*)
+ # Target: Blackfin Linux
+ gdb_target_obs="bfin-tdep.o bfin-linux-tdep.o linux-tdep.o"
+ gdb_sim=../sim/bfin/libsim.a
+ build_gdbserver=yes
+ ;;
+bfin-*-*)
+ # Target: Blackfin processor
+ gdb_target_obs="bfin-tdep.o"
+ gdb_sim=../sim/bfin/libsim.a
+ ;;
+
+cris*)
+ # Target: CRIS
+ gdb_target_obs="cris-tdep.o cris-linux-tdep.o linux-tdep.o solib-svr4.o"
+ ;;
+
+csky*-*-linux*)
+ # Target: CSKY running GNU/Linux
+ gdb_target_obs="csky-tdep.o csky-linux-tdep.o glibc-tdep.o \
+ linux-tdep.o solib-svr4.o"
+ ;;
+
+csky*-*-*)
+ # Target: CSKY bare metal
+ gdb_target_obs="csky-tdep.o"
+ ;;
+
+frv-*-*)
+ # Target: Fujitsu FRV processor
+ gdb_target_obs="frv-tdep.o frv-linux-tdep.o linux-tdep.o solib-frv.o"
+ gdb_sim=../sim/frv/libsim.a
+ ;;
+
+moxie-*-elf | moxie-*-moxiebox | moxie-*-rtems*)
+ gdb_target_obs="moxie-tdep.o"
+ gdb_sim=../sim/moxie/libsim.a
+ ;;
+
+h8300-*-*)
+ # Target: H8300 processor
+ gdb_target_obs="h8300-tdep.o"
+ gdb_sim=../sim/h8300/libsim.a
+ ;;
+
+hppa*-*-linux*)
+ # Target: HP PA-RISC running Linux
+ gdb_target_obs="hppa-linux-tdep.o glibc-tdep.o \
+ linux-tdep.o solib-svr4.o symfile-mem.o"
+ ;;
+hppa*-*-netbsd*)
+ # Target: NetBSD/hppa
+ gdb_target_obs="hppa-bsd-tdep.o hppa-nbsd-tdep.o solib-svr4.o"
+ ;;
+hppa*-*-openbsd*)
+ # Target: OpenBSD/hppa
+ gdb_target_obs="hppa-bsd-tdep.o hppa-obsd-tdep.o solib-svr4.o"
+ ;;
+
+i[34567]86-*-darwin*)
+ # Target: Darwin/i386
+ gdb_target_obs="i386-darwin-tdep.o solib-darwin.o"
+ if test "x$enable_64_bit_bfd" = "xyes"; then
+ # Target: GNU/Linux x86-64
+ gdb_target_obs="amd64-darwin-tdep.o ${gdb_target_obs}"
+ fi
+ ;;
+i[34567]86-*-dicos*)
+ # Target: DICOS/i386
+ gdb_target_obs="dicos-tdep.o i386-dicos-tdep.o"
+ ;;
+i[34567]86-*-freebsd* | i[34567]86-*-kfreebsd*-gnu)
+ # Target: FreeBSD/i386
+ gdb_target_obs="i386-bsd-tdep.o i386-fbsd-tdep.o "
+ ;;
+i[34567]86-*-netbsd* | i[34567]86-*-knetbsd*-gnu)
+ # Target: NetBSD/i386
+ gdb_target_obs="i386-bsd-tdep.o i386-nbsd-tdep.o "
+ ;;
+i[34567]86-*-openbsd*)
+ # Target: OpenBSD/i386
+ gdb_target_obs="i386-bsd-tdep.o i386-obsd-tdep.o bsd-uthread.o"
+ ;;
+i[34567]86-*-nto*)
+ # Target: Intel 386 running qnx6.
+ gdb_target_obs="solib-svr4.o \
+ i386-nto-tdep.o nto-tdep.o"
+ build_gdbserver=yes
+ ;;
+i[34567]86-*-solaris2* | x86_64-*-solaris2*)
+ # Target: Solaris x86_64
+ gdb_target_obs="${i386_tobjs} ${amd64_tobjs} \
+ amd64-sol2-tdep.o i386-sol2-tdep.o sol2-tdep.o \
+ solib-svr4.o"
+ ;;
+i[34567]86-*-linux*)
+ # Target: Intel 386 running GNU/Linux
+ gdb_target_obs="i386-linux-tdep.o \
+ glibc-tdep.o \
+ solib-svr4.o symfile-mem.o \
+ linux-tdep.o linux-record.o"
+ if test "x$enable_64_bit_bfd" = "xyes"; then
+ # Target: GNU/Linux x86-64
+ gdb_target_obs="amd64-linux-tdep.o ${gdb_target_obs}"
+ fi
+ build_gdbserver=yes
+ ;;
+i[34567]86-*-gnu*)
+ # Target: Intel 386 running the GNU Hurd
+ gdb_target_obs="i386-gnu-tdep.o solib-svr4.o"
+ ;;
+i[34567]86-*-cygwin*)
+ # Target: Intel 386 running win32
+ gdb_target_obs="i386-cygwin-tdep.o windows-tdep.o"
+ build_gdbserver=yes
+ ;;
+i[34567]86-*-mingw32*)
+ # Target: Intel 386 running win32
+ gdb_target_obs="i386-cygwin-tdep.o windows-tdep.o"
+ build_gdbserver=yes
+ ;;
+i[34567]86-*-go32* | i[34567]86-*-msdosdjgpp*)
+ # Target: i386 running DJGPP/go32.
+ gdb_target_obs="i386-go32-tdep.o"
+ ;;
+
+ia64-*-linux*)
+ # Target: Intel IA-64 running GNU/Linux
+ gdb_target_obs="ia64-linux-tdep.o linux-tdep.o \
+ solib-svr4.o symfile-mem.o"
+ build_gdbserver=yes
+ ;;
+ia64-*-*vms*)
+ # Target: Intel IA-64 running OpenVMS
+ gdb_target_obs="ia64-vms-tdep.o"
+ ;;
+
+iq2000-*-*)
+ gdb_target_obs="iq2000-tdep.o"
+ gdb_sim=../sim/iq2000/libsim.a
+ ;;
+
+lm32-*-*)
+ gdb_target_obs="lm32-tdep.o"
+ gdb_sim=../sim/lm32/libsim.a
+ ;;
+
+m32c-*-*)
+ # Target: Renesas M32C family
+ gdb_target_obs="m32c-tdep.o"
+ # There may also be a SID / CGEN simulator for this,
+ # but we do have DJ Delorie's mini-sim.
+ gdb_sim=../sim/m32c/libsim.a
+ ;;
+
+m32r*-*-linux*)
+ # Target: Renesas M32R running GNU/Linux
+ gdb_target_obs="m32r-tdep.o m32r-linux-tdep.o \
+ glibc-tdep.o solib-svr4.o symfile-mem.o \
+ linux-tdep.o"
+ gdb_sim=../sim/m32r/libsim.a
+ build_gdbserver=yes
+ ;;
+m32r*-*-*)
+ # Target: Renesas m32r processor
+ gdb_target_obs="m32r-tdep.o"
+ gdb_sim=../sim/m32r/libsim.a
+ ;;
+
+m68hc11*-*-*|m6811*-*-*)
+ # Target: Motorola 68HC11 processor
+ gdb_target_obs="m68hc11-tdep.o"
+ gdb_sim=../sim/m68hc11/libsim.a
+ ;;
+
+m68*-*-aout* | m68*-*-coff* | m68*-*-elf* | m68*-*-rtems* | m68*-*-uclinux* | \
+fido-*-elf*)
+ # Target: Motorola m68k embedded
+ gdb_target_obs="m68k-tdep.o"
+ ;;
+m68*-*-linux*)
+ # Target: Motorola m68k with a.out and ELF
+ gdb_target_obs="m68k-tdep.o m68k-linux-tdep.o solib-svr4.o \
+ linux-tdep.o glibc-tdep.o symfile-mem.o"
+ build_gdbserver=yes
+ ;;
+m68*-*-netbsd* | m68*-*-knetbsd*-gnu)
+ # Target: NetBSD/m68k
+ gdb_target_obs="m68k-tdep.o m68k-bsd-tdep.o"
+ ;;
+m68*-*-openbsd*)
+ # Target: OpenBSD/m68k
+ gdb_target_obs="m68k-tdep.o m68k-bsd-tdep.o"
+ ;;
+
+mep-*-*)
+ # Target: Toshiba Media Processor (MEP)
+ gdb_target_obs="mep-tdep.o"
+ # No sim needed. Target uses SID.
+ ;;
+
+microblaze*-linux-*|microblaze*-*-linux*)
+ # Target: Xilinx MicroBlaze running Linux
+ gdb_target_obs="microblaze-tdep.o microblaze-linux-tdep.o solib-svr4.o \
+ symfile-mem.o linux-tdep.o"
+ gdb_sim=../sim/microblaze/libsim.a
+ ;;
+microblaze*-*-*)
+ # Target: Xilinx MicroBlaze running standalone
+ gdb_target_obs="microblaze-tdep.o"
+ gdb_sim=../sim/microblaze/libsim.a
+ ;;
+
+mips*-*-linux*)
+ # Target: Linux/MIPS
+ gdb_target_obs="mips-tdep.o mips-linux-tdep.o glibc-tdep.o \
+ solib-svr4.o symfile-mem.o linux-tdep.o"
+ gdb_sim=../sim/mips/libsim.a
+ build_gdbserver=yes
+ ;;
+mips*-*-netbsd* | mips*-*-knetbsd*-gnu)
+ # Target: MIPS running NetBSD
+ gdb_target_obs="mips-tdep.o mips-nbsd-tdep.o"
+ gdb_sim=../sim/mips/libsim.a
+ ;;
+mips*-*-freebsd*)
+ # Target: MIPS running FreeBSD
+ gdb_target_obs="mips-tdep.o mips-fbsd-tdep.o"
+ gdb_sim=../sim/mips/libsim.a
+ ;;
+mips64*-*-openbsd*)
+ # Target: OpenBSD/mips64
+ gdb_target_obs="mips-tdep.o mips64-obsd-tdep.o"
+ ;;
+mips*-sde*-elf*)
+ # Target: MIPS SDE
+ gdb_target_obs="mips-tdep.o mips-sde-tdep.o"
+ gdb_sim=../sim/mips/libsim.a
+ ;;
+mips*-*-elf)
+ # Target: MIPS ELF
+ gdb_target_obs="mips-tdep.o"
+ gdb_sim=../sim/mips/libsim.a
+ ;;
+mips*-*-*)
+ # Target: MIPS
+ gdb_target_obs="mips-tdep.o"
+ gdb_sim=../sim/mips/libsim.a
+ ;;
+
+mn10300-*-*)
+ # Target: Matsushita mn10300
+ gdb_target_obs="mn10300-tdep.o"
+ gdb_sim=../sim/mn10300/libsim.a
+ ;;
+
+msp430*-*-elf)
+ gdb_target_obs="msp430-tdep.o"
+ gdb_sim=../sim/msp430/libsim.a
+ ;;
+
+nds32*-*-elf)
+ # Target: AndesTech NDS32 core
+ gdb_target_obs="nds32-tdep.o"
+ ;;
+
+nios2*-*-linux*)
+ # Target: Altera Nios II running Linux
+ gdb_target_obs="nios2-tdep.o nios2-linux-tdep.o solib-svr4.o \
+ symfile-mem.o glibc-tdep.o linux-tdep.o"
+ ;;
+
+nios2*-*-*)
+ # Target: Altera Nios II bare-metal
+ gdb_target_obs="nios2-tdep.o"
+ ;;
+
+or1k*-*-linux*)
+ # Target: OpenCores OpenRISC 1000 32-bit running Linux
+ gdb_target_obs="or1k-tdep.o or1k-linux-tdep.o solib-svr4.o \
+ symfile-mem.o glibc-tdep.o linux-tdep.o"
+ gdb_sim=../sim/or1k/libsim.a
+ build_gdbserver=yes
+ ;;
+
+or1k-*-* | or1knd-*-*)
+ # Target: OpenCores OpenRISC 1000 32-bit implementation bare metal
+ gdb_target_obs="or1k-tdep.o"
+ gdb_sim=../sim/or1k/libsim.a
+ ;;
+
+powerpc*-*-freebsd*)
+ # Target: FreeBSD/powerpc
+ gdb_target_obs="rs6000-tdep.o ppc-sysv-tdep.o ppc64-tdep.o \
+ ppc-fbsd-tdep.o \
+ ravenscar-thread.o ppc-ravenscar-thread.o"
+ ;;
powerpc-*-netbsd* | powerpc-*-knetbsd*-gnu)
- gdb_target=nbsd ;;
-powerpc-*-openbsd*) gdb_target=obsd ;;
-powerpc-*-aix* | rs6000-*-*)
- gdb_target=aix ;;
-powerpc-*-linux*) gdb_target=linux
- build_gdbserver=yes
- ;;
-powerpc64-*-linux*) gdb_target=linux
- build_gdbserver=yes
- ;;
-powerpc*-*-*) if test -f ../sim/ppc/Makefile; then
- gdb_target=ppc-sim
- else
- gdb_target=ppc-eabi
- fi ;;
-
-s390*-*-*) gdb_target=s390
- build_gdbserver=yes
- ;;
-
-score-*-*) gdb_target=embed ;;
-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
- ;;
+ # Target: NetBSD/powerpc
+ gdb_target_obs="rs6000-tdep.o ppc-sysv-tdep.o ppc-nbsd-tdep.o \
+ ravenscar-thread.o ppc-ravenscar-thread.o"
+ gdb_sim=../sim/ppc/libsim.a
+ ;;
+powerpc-*-openbsd*)
+ # Target: OpenBSD/powerpc
+ gdb_target_obs="rs6000-tdep.o ppc-sysv-tdep.o ppc-obsd-tdep.o \
+ ravenscar-thread.o ppc-ravenscar-thread.o"
+ ;;
+powerpc-*-aix* | rs6000-*-* | powerpc64-*-aix*)
+ # Target: PowerPC running AIX
+ gdb_target_obs="rs6000-tdep.o rs6000-aix-tdep.o xcoffread.o \
+ ppc-sysv-tdep.o solib-aix.o \
+ ravenscar-thread.o ppc-ravenscar-thread.o"
+ ;;
+powerpc*-*-linux*)
+ # Target: PowerPC running Linux
+ gdb_target_obs="rs6000-tdep.o ppc-linux-tdep.o ppc-sysv-tdep.o \
+ ppc64-tdep.o solib-svr4.o \
+ glibc-tdep.o symfile-mem.o linux-tdep.o \
+ ravenscar-thread.o ppc-ravenscar-thread.o \
+ linux-record.o \
+ arch/ppc-linux-common.o"
+ gdb_sim=../sim/ppc/libsim.a
+ build_gdbserver=yes
+ ;;
+powerpc-*-lynx*178)
+ # Target: PowerPC running Lynx178.
+ gdb_target_obs="rs6000-tdep.o rs6000-lynx178-tdep.o \
+ xcoffread.o ppc-sysv-tdep.o \
+ ravenscar-thread.o ppc-ravenscar-thread.o"
+ ;;
+powerpc*-*-*)
+ # Target: PowerPC running eabi
+ gdb_target_obs="rs6000-tdep.o ppc-sysv-tdep.o solib-svr4.o \
+ ravenscar-thread.o ppc-ravenscar-thread.o"
+ gdb_sim=../sim/ppc/libsim.a
+ ;;
+
+s390*-*-linux*)
+ # Target: S390 running Linux
+ gdb_target_obs="s390-linux-tdep.o s390-tdep.o solib-svr4.o \
+ linux-tdep.o linux-record.o symfile-mem.o"
+ build_gdbserver=yes
+ ;;
+
+riscv*-*-freebsd*)
+ # Target: FreeBSD/riscv
+ gdb_target_obs="riscv-fbsd-tdep.o"
+ ;;
+
+riscv*-*-linux*)
+ # Target: Linux/RISC-V
+ gdb_target_obs="riscv-linux-tdep.o glibc-tdep.o \
+ linux-tdep.o solib-svr4.o symfile-mem.o linux-record.o"
+ ;;
+
+riscv*-*-*)
+ # Target: RISC-V architecture
+ gdb_target_obs=""
+ ;;
+
+rl78-*-elf)
+ # Target: Renesas rl78
+ gdb_target_obs="rl78-tdep.o"
+ gdb_sim=../sim/rl78/libsim.a
+ ;;
+
+rx-*-elf)
+ # Target: Renesas RX
+ gdb_target_obs="rx-tdep.o"
+ gdb_sim=../sim/rx/libsim.a
+ ;;
+
+score-*-*)
+ # Target: S+core embedded system
+ gdb_target_obs="score-tdep.o"
+ build_gdbserver=yes
+ ;;
+
+sh*-*-linux*)
+ # Target: GNU/Linux Super-H
+ gdb_target_obs="sh-tdep.o sh-linux-tdep.o \
+ solib-svr4.o symfile-mem.o \
+ glibc-tdep.o linux-tdep.o"
+ gdb_sim=../sim/sh/libsim.a
+ build_gdbserver=yes
+ ;;
sh*-*-netbsdelf* | sh*-*-knetbsd*-gnu)
- gdb_target=nbsd ;;
-sh*-*-openbsd*) gdb_target=obsd ;;
-sh64-*-elf*) gdb_target=sh64 ;;
-sh*) gdb_target=embed ;;
-
-sparc-*-linux*) gdb_target=linux ;;
-sparc64-*-linux*) gdb_target=linux64 ;;
+ # Target: NetBSD/sh
+ gdb_target_obs="sh-tdep.o sh-nbsd-tdep.o"
+ gdb_sim=../sim/sh/libsim.a
+ ;;
+sh*-*-openbsd*)
+ # Target: OpenBSD/sh
+ gdb_target_obs="sh-tdep.o sh-nbsd-tdep.o"
+ ;;
+sh*)
+ # Target: Embedded Renesas Super-H processor
+ gdb_target_obs="sh-tdep.o"
+ gdb_sim=../sim/sh/libsim.a
+ ;;
+
+sparc-*-linux*)
+ # Target: GNU/Linux SPARC
+ gdb_target_obs="sparc-tdep.o sparc-sol2-tdep.o sol2-tdep.o \
+ sparc-linux-tdep.o solib-svr4.o symfile-mem.o \
+ linux-tdep.o \
+ ravenscar-thread.o sparc-ravenscar-thread.o"
+ if test "x$enable_64_bit_bfd" = "xyes"; then
+ # Target: GNU/Linux UltraSPARC
+ gdb_target_obs="sparc64-tdep.o sparc64-sol2-tdep.o \
+ sparc64-linux-tdep.o ${gdb_target_obs}"
+ fi
+ build_gdbserver=yes
+ ;;
+sparc64-*-linux*)
+ # Target: GNU/Linux UltraSPARC
+ gdb_target_obs="sparc64-tdep.o sparc64-sol2-tdep.o sol2-tdep.o \
+ sparc64-linux-tdep.o sparc-tdep.o sparc-sol2-tdep.o \
+ sparc-linux-tdep.o solib-svr4.o linux-tdep.o \
+ ravenscar-thread.o sparc-ravenscar-thread.o"
+ build_gdbserver=yes
+ ;;
+sparc*-*-freebsd* | sparc*-*-kfreebsd*-gnu)
+ # Target: FreeBSD/sparc64
+ gdb_target_obs="sparc-tdep.o sparc64-tdep.o sparc64-fbsd-tdep.o \
+ ravenscar-thread.o sparc-ravenscar-thread.o"
+ ;;
sparc-*-netbsd* | sparc-*-knetbsd*-gnu)
- gdb_target=nbsd ;;
+ # Target: NetBSD/sparc
+ gdb_target_obs="sparc-tdep.o sparc-nbsd-tdep.o \
+ ravenscar-thread.o sparc-ravenscar-thread.o"
+ ;;
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
- ;;
+ # Target: NetBSD/sparc64
+ gdb_target_obs="sparc64-tdep.o sparc64-nbsd-tdep.o sparc-tdep.o \
+ sparc-nbsd-tdep.o \
+ ravenscar-thread.o sparc-ravenscar-thread.o"
+ ;;
+sparc-*-openbsd*)
+ # Target: OpenBSD/sparc
+ gdb_target_obs="sparc-tdep.o sparc-nbsd-tdep.o sparc-obsd-tdep.o \
+ nbsd-tdep.o bsd-uthread.o \
+ ravenscar-thread.o sparc-ravenscar-thread.o"
+ ;;
+sparc64-*-openbsd*)
+ # Target: OpenBSD/sparc64
+ gdb_target_obs="sparc64-tdep.o sparc64-nbsd-tdep.o sparc64-obsd-tdep.o \
+ sparc-tdep.o sparc-nbsd-tdep.o sparc-obsd-tdep.o \
+ nbsd-tdep.o bsd-uthread.o \
+ ravenscar-thread.o sparc-ravenscar-thread.o"
+ ;;
sparc-*-solaris2* | sparcv9-*-solaris2* | sparc64-*-solaris2*)
- gdb_target=sol2-64
- ;;
-sparc-*-rtems*) gdb_target=embed ;;
-sparc-*-*) gdb_target=sparc ;;
-sparc64-*-*) gdb_target=sparc64 ;;
-
-spu*-*-*) gdb_target=spu
- build_gdbserver=yes
- ;;
-
-xstormy16-*-*) gdb_target=xstormy16 ;;
-
-v850*-*-elf) gdb_target=v850 ;;
+ # Target: Solaris UltraSPARC
+ gdb_target_obs="sparc64-tdep.o sparc64-sol2-tdep.o sparc-tdep.o \
+ sparc-sol2-tdep.o sol2-tdep.o solib-svr4.o \
+ ravenscar-thread.o sparc-ravenscar-thread.o"
+ ;;
+sparc-*-*)
+ # Target: SPARC
+ gdb_target_obs="sparc-tdep.o \
+ ravenscar-thread.o sparc-ravenscar-thread.o"
+ gdb_sim=../sim/erc32/libsim.a
+ ;;
+sparc64-*-*)
+ # Target: UltraSPARC
+ gdb_target_obs="sparc-tdep.o sparc64-tdep.o \
+ ravenscar-thread.o sparc-ravenscar-thread.o"
+ ;;
+
+s12z-*-*)
+ # Target: Freescale S12z
+ gdb_target_obs="s12z-tdep.o"
+ ;;
+
+tic6x-*-*linux)
+ # Target: GNU/Linux TI C6x
+ gdb_target_obs="tic6x-tdep.o tic6x-linux-tdep.o solib-dsbt.o \
+ glibc-tdep.o linux-tdep.o"
+ ;;
+
+tic6x-*-*)
+ # Target: TI C6X
+ gdb_target_obs="tic6x-tdep.o"
+ ;;
+
+tilegx-*-linux*)
+ # Target: TILE-Gx
+ gdb_target_obs="tilegx-tdep.o tilegx-linux-tdep.o solib-svr4.o \
+ symfile-mem.o glibc-tdep.o linux-tdep.o"
+ build_gdbserver=yes
+ ;;
+
+xstormy16-*-*)
+ # Target: Sanyo Xstormy16a processor
+ gdb_target_obs="xstormy16-tdep.o"
+ # No simulator libraries are needed -- target uses SID.
+ ;;
+
+ft32-*-elf)
+ gdb_target_obs="ft32-tdep.o"
+ gdb_sim=../sim/ft32/libsim.a
+ ;;
+
+v850*-*-elf | v850*-*-rtems*)
+ # Target: NEC V850 processor
+ gdb_target_obs="v850-tdep.o"
+ gdb_sim=../sim/v850/libsim.a
+ ;;
vax-*-netbsd* | vax-*-knetbsd*-gnu)
- gdb_target=nbsd ;;
-vax-*-openbsd*) gdb_target=obsd ;;
-vax-*-*) gdb_target=vax ;;
-
-x86_64-*-linux*) gdb_target=linux64
- build_gdbserver=yes
- ;;
+ # Target: NetBSD/vax
+ gdb_target_obs="vax-tdep.o solib-svr4.o"
+ ;;
+vax-*-openbsd*)
+ # Target: OpenBSD/vax
+ gdb_target_obs="vax-tdep.o"
+ ;;
+vax-*-*)
+ # Target: VAX
+ gdb_target_obs="vax-tdep.o"
+ ;;
+
+x86_64-*-darwin*)
+ # Target: Darwin/x86-64
+ gdb_target_obs="${i386_tobjs} \
+ i386-darwin-tdep.o amd64-darwin-tdep.o \
+ solib-darwin.o"
+ ;;
+
+x86_64-*-dicos*)
+ # Target: DICOS/x86-64
+ gdb_target_obs="${i386_tobjs} \
+ dicos-tdep.o i386-dicos-tdep.o amd64-dicos-tdep.o"
+ ;;
+x86_64-*-elf*)
+ gdb_target_obs="${i386_tobjs}"
+ ;;
+x86_64-*-linux*)
+ # Target: GNU/Linux x86-64
+ gdb_target_obs="amd64-linux-tdep.o ${i386_tobjs} \
+ i386-linux-tdep.o glibc-tdep.o \
+ solib-svr4.o symfile-mem.o linux-tdep.o linux-record.o"
+ build_gdbserver=yes
+ ;;
+x86_64-*-freebsd* | x86_64-*-kfreebsd*-gnu)
+ # Target: FreeBSD/amd64
+ gdb_target_obs="amd64-fbsd-tdep.o ${i386_tobjs} \
+ i386-bsd-tdep.o i386-fbsd-tdep.o"
+ ;;
+x86_64-*-mingw* | x86_64-*-cygwin*)
+ # Target: MingW/amd64
+ gdb_target_obs="amd64-windows-tdep.o \
+ ${i386_tobjs} i386-cygwin-tdep.o \
+ windows-tdep.o"
+ build_gdbserver=yes
+ ;;
x86_64-*-netbsd* | x86_64-*-knetbsd*-gnu)
- gdb_target=nbsd64 ;;
-x86_64-*-openbsd*) gdb_target=obsd64 ;;
-
-xtensa*) gdb_target=xtensa ;;
+ # Target: NetBSD/amd64
+ gdb_target_obs="amd64-nbsd-tdep.o ${i386_tobjs}"
+ ;;
+x86_64-*-openbsd*)
+ # Target: OpenBSD/amd64
+ gdb_target_obs="amd64-obsd-tdep.o ${i386_tobjs} \
+ i386-bsd-tdep.o i386-obsd-tdep.o \
+ bsd-uthread.o"
+ ;;
+x86_64-*-rtems*)
+ gdb_target_obs="${amd64_tobjs} ${i386_tobjs} i386-bsd-tdep.o"
+ ;;
+xtensa*-*-*linux*)
+ # Target: GNU/Linux Xtensa
+ gdb_target_obs="xtensa-linux-tdep.o symfile-mem.o linux-tdep.o"
+ build_gdbserver=yes
+ ;;
esac
+# Put them together.
+
+gdb_target_obs="${cpu_obs} ${os_obs} ${gdb_target_obs}"
+
# map target onto default OS ABI
-case "${target}" in
-*-*-freebsd*) gdb_osabi=GDB_OSABI_FREEBSD_ELF ;;
-*-*-linux*) gdb_osabi=GDB_OSABI_LINUX ;;
+case "${targ}" in
+*-*-freebsd* | *-*-kfreebsd*-gnu)
+ gdb_osabi=GDB_OSABI_FREEBSD ;;
+*-*-linux* | *-*-uclinux*)
+ gdb_osabi=GDB_OSABI_LINUX ;;
*-*-nto*) gdb_osabi=GDB_OSABI_QNXNTO ;;
m68*-*-openbsd* | m88*-*-openbsd* | vax-*-openbsd*) ;;
-*-*-openbsd*) gdb_osabi=GDB_OSABI_OPENBSD_ELF ;;
+*-*-openbsd*) gdb_osabi=GDB_OSABI_OPENBSD ;;
*-*-solaris*) gdb_osabi=GDB_OSABI_SOLARIS ;;
*-*-*-gnu*) ;; # prevent non-GNU kernels to match the Hurd rule below
*-*-gnu*) gdb_osabi=GDB_OSABI_HURD ;;
+*-*-mingw32ce*) gdb_osabi=GDB_OSABI_WINCE ;;
+*-*-mingw* | *-*-cygwin*)
+ gdb_osabi=GDB_OSABI_CYGWIN ;;
+*-*-dicos*) gdb_osabi=GDB_OSABI_DICOS ;;
+*-*-symbianelf*)
+ gdb_osabi=GDB_OSABI_SYMBIAN ;;
+powerpc-*-aix* | rs6000-*-* | powerpc64-*-aix*)
+ gdb_osabi=GDB_OSABI_AIX ;;
esac
+
+# Check whether this target supports gcore.
+# Such target has to call set_gdbarch_find_memory_regions.
+gdb_have_gcore=false
+for t in x ${gdb_target_obs}; do
+ if test "$t" = linux-tdep.o; then
+ gdb_have_gcore=true
+ fi
+done