binutils-gdb/gdb/gdbserver/configure.srv
Daniel Jacobowitz 30ed0a8f0b * Makefile.in (clean): Remove new files.
(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.
2007-10-15 19:58:17 +00:00

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