mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-09 04:21:49 +08:00
30ed0a8f0b
(powerpc-32.o, powerpc-32.c, powerpc-e500.o, powerpc-e500.c) (powerpc-64.o, powerpc-64.c): New rules. * configure.srv: Use alternate register sets for powerpc64-*-linux* with AltiVec, powerpc-*-linux* with AltiVec, and powerpc-*-linux* with SPE. * linux-ppc-low.c (ppc_regmap): Do not fetch the FP registers for SPE targets. (ppc_cannot_store_register): Do not check for FPSCR for SPE targets. (PTRACE_GETVRREGS, PTRACE_SETVRREGS, SIZEOF_VRREGS, ppc_fill_vrregset) (ppc_store_vrregset, PTRACE_GETEVRREGS, PTRACE_SETEVRREGS) (struct gdb_evrregset_t, ppc_fill_evrregset, ppc_store_evrregset): New. (target_regsets): Add AltiVec and SPE register sets. * configure.ac: Check for AltiVec and SPE. * linux-ppc64-low.c (PTRACE_GETVRREGS, PTRACE_SETVRREGS, SIZEOF_VRREGS) (ppc_fill_vrregset, ppc_store_vrregset): New. (target_regsets): Add AltiVec register set. * configure: Regenerated. * features/Makefile (WHICH): Add PowerPC register definitions. (rs6000/powerpc-32-expedite, rs6000/powerpc-e500-expedite) (rs6000/powerpc-64-expedite): New macros. ($(outdir)/%.dat): Handle subdirectories. * regformats/rs6000/powerpc-32.dat, regformats/rs6000/powerpc-64.dat, regformats/rs6000/powerpc-e500.dat: New generated files.
170 lines
5.3 KiB
Plaintext
170 lines
5.3 KiB
Plaintext
# Mappings from configuration triplets to gdbserver build options.
|
|
# This is invoked from the autoconf-generated configure script, to
|
|
# produce the appropriate Makefile substitutions.
|
|
|
|
# This file sets the following shell variables:
|
|
# srv_regobj The register protocol appropriate for this target.
|
|
# srv_tgtobj Any other target-specific modules appropriate
|
|
# for this target.
|
|
# srv_xmltarget The XML source file to use for target.xml, if any.
|
|
# srv_xmlfiles Any other XML files which should be available for
|
|
# gdbserver in this configuration.
|
|
#
|
|
# In addition, on GNU/Linux the following shell variables will be set:
|
|
# srv_linux_regsets Set to "yes" if ptrace(PTRACE_GETREGS) and friends
|
|
# may be available on this platform; unset otherwise.
|
|
# They will only be used if <sys/ptrace.h> defines
|
|
# PTRACE_GETREGS.
|
|
# srv_linux_usrregs Set to "yes" if we can get at registers via
|
|
# PTRACE_PEEKUSR / PTRACE_POKEUSR.
|
|
|
|
# Input is taken from the "${target}" variable.
|
|
|
|
case "${target}" in
|
|
arm*-*-linux*) srv_tgtobj="linux-low.o linux-arm-low.o"
|
|
srv_linux_usrregs=yes
|
|
srv_linux_regsets=yes
|
|
srv_linux_thread_db=yes
|
|
if test $gdb_cv_arm_iwmmxt = yes; then
|
|
srv_regobj=arm-with-iwmmxt.o
|
|
srv_xmltarget=arm-with-iwmmxt.xml
|
|
srv_xmlfiles="arm-core.xml xscale-iwmmxt.xml"
|
|
else
|
|
srv_regobj=reg-arm.o
|
|
fi
|
|
;;
|
|
arm*-*-mingw32ce*) srv_regobj=reg-arm.o
|
|
srv_tgtobj="win32-low.o win32-arm-low.o"
|
|
srv_tgtobj="${srv_tgtobj} wincecompat.o"
|
|
srv_mingw=yes
|
|
srv_mingwce=yes
|
|
;;
|
|
crisv32-*-linux*) srv_regobj=reg-crisv32.o
|
|
srv_tgtobj="linux-low.o linux-crisv32-low.o"
|
|
srv_linux_regsets=yes
|
|
srv_linux_thread_db=yes
|
|
;;
|
|
cris-*-linux*) srv_regobj=reg-cris.o
|
|
srv_tgtobj="linux-low.o linux-cris-low.o"
|
|
srv_linux_usrregs=yes
|
|
srv_linux_thread_db=yes
|
|
;;
|
|
i[34567]86-*-cygwin*) srv_regobj=reg-i386.o
|
|
srv_tgtobj="win32-low.o win32-i386-low.o"
|
|
;;
|
|
i[34567]86-*-linux*) srv_regobj=reg-i386-linux.o
|
|
srv_tgtobj="linux-low.o linux-i386-low.o i387-fp.o"
|
|
srv_linux_usrregs=yes
|
|
srv_linux_regsets=yes
|
|
srv_linux_thread_db=yes
|
|
;;
|
|
i[34567]86-*-mingw*) srv_regobj=reg-i386.o
|
|
srv_tgtobj="win32-low.o win32-i386-low.o"
|
|
srv_mingw=yes
|
|
;;
|
|
ia64-*-linux*) srv_regobj=reg-ia64.o
|
|
srv_tgtobj="linux-low.o linux-ia64-low.o"
|
|
srv_linux_usrregs=yes
|
|
;;
|
|
m32r*-*-linux*) srv_regobj=reg-m32r.o
|
|
srv_tgtobj="linux-low.o linux-m32r-low.o"
|
|
srv_linux_usrregs=yes
|
|
srv_linux_thread_db=yes
|
|
;;
|
|
m68*-*-linux*) srv_regobj=reg-m68k.o
|
|
srv_tgtobj="linux-low.o linux-m68k-low.o"
|
|
srv_linux_usrregs=yes
|
|
srv_linux_regsets=yes
|
|
srv_linux_thread_db=yes
|
|
;;
|
|
m68*-*-uclinux*) srv_regobj=reg-m68k.o
|
|
srv_tgtobj="linux-low.o linux-m68k-low.o"
|
|
srv_linux_usrregs=yes
|
|
srv_linux_regsets=yes
|
|
srv_linux_thread_db=yes
|
|
;;
|
|
mips*64*-*-linux*) srv_regobj=mips64-linux.o
|
|
srv_xmltarget=mips64-linux.xml
|
|
srv_xmlfiles="mips64-cpu.xml mips64-cp0.xml mips64-fpu.xml"
|
|
srv_tgtobj="linux-low.o linux-mips-low.o"
|
|
srv_linux_regsets=yes
|
|
srv_linux_usrregs=yes
|
|
srv_linux_thread_db=yes
|
|
;;
|
|
mips*-*-linux*) srv_regobj=mips-linux.o
|
|
srv_xmltarget=mips-linux.xml
|
|
srv_xmlfiles="mips-cpu.xml mips-cp0.xml mips-fpu.xml"
|
|
srv_tgtobj="linux-low.o linux-mips-low.o"
|
|
srv_linux_regsets=yes
|
|
srv_linux_usrregs=yes
|
|
srv_linux_thread_db=yes
|
|
;;
|
|
powerpc64-*-linux*) srv_tgtobj="linux-low.o linux-ppc64-low.o"
|
|
srv_linux_usrregs=yes
|
|
srv_linux_regsets=yes
|
|
srv_linux_thread_db=yes
|
|
if test $gdb_cv_ppc_altivec = yes; then
|
|
srv_regobj=powerpc-64.o
|
|
srv_xmltarget=rs6000/powerpc-64.xml
|
|
srv_xmlfiles="rs6000/power-altivec.xml"
|
|
srv_xmlfiles="$srv_xmlfiles rs6000/power64-core.xml"
|
|
srv_xmlfiles="$srv_xmlfiles rs6000/power-fpu.xml"
|
|
else
|
|
srv_regobj=reg-ppc64.o
|
|
fi
|
|
;;
|
|
powerpc-*-linux*) srv_tgtobj="linux-low.o linux-ppc-low.o"
|
|
srv_linux_usrregs=yes
|
|
srv_linux_regsets=yes
|
|
srv_linux_thread_db=yes
|
|
if test $gdb_cv_ppc_altivec = yes; then
|
|
srv_regobj=powerpc-32.o
|
|
srv_xmltarget=rs6000/powerpc-32.xml
|
|
srv_xmlfiles="rs6000/power-altivec.xml"
|
|
srv_xmlfiles="$srv_xmlfiles rs6000/power-core.xml"
|
|
srv_xmlfiles="$srv_xmlfiles rs6000/power-fpu.xml"
|
|
elif test $gdb_cv_ppc_spe = yes; then
|
|
srv_regobj=powerpc-e500.o
|
|
srv_xmltarget=rs6000/powerpc-e500.xml
|
|
srv_xmlfiles="rs6000/power-spe.xml"
|
|
srv_xmlfiles="$srv_xmlfiles rs6000/power-core.xml"
|
|
else
|
|
srv_regobj=reg-ppc.o
|
|
fi
|
|
;;
|
|
s390-*-linux*) srv_regobj=reg-s390.o
|
|
srv_tgtobj="linux-low.o linux-s390-low.o"
|
|
srv_linux_usrregs=yes
|
|
srv_linux_regsets=yes
|
|
srv_linux_thread_db=yes
|
|
;;
|
|
s390x-*-linux*) srv_regobj=reg-s390x.o
|
|
srv_tgtobj="linux-low.o linux-s390-low.o"
|
|
srv_linux_usrregs=yes
|
|
srv_linux_regsets=yes
|
|
srv_linux_thread_db=yes
|
|
;;
|
|
sh*-*-linux*) srv_regobj=reg-sh.o
|
|
srv_tgtobj="linux-low.o linux-sh-low.o"
|
|
srv_linux_usrregs=yes
|
|
srv_linux_regsets=yes
|
|
srv_linux_thread_db=yes
|
|
;;
|
|
spu*-*-*) srv_regobj=reg-spu.o
|
|
srv_tgtobj="spu-low.o"
|
|
;;
|
|
x86_64-*-linux*) srv_regobj=reg-x86-64-linux.o
|
|
srv_tgtobj="linux-low.o linux-x86-64-low.o i387-fp.o"
|
|
srv_linux_regsets=yes
|
|
srv_linux_thread_db=yes
|
|
;;
|
|
xscale*-*-linux*) srv_regobj=reg-arm.o
|
|
srv_tgtobj="linux-low.o linux-arm-low.o"
|
|
srv_linux_usrregs=yes
|
|
srv_linux_thread_db=yes
|
|
;;
|
|
*) echo "Error: target not supported by gdbserver."
|
|
exit 1
|
|
;;
|
|
esac
|