# 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_hostio_err	The object implementing the hostio_last_error
#			target method.
#   srv_xmlfiles	All XML files which should be available for
#			gdbserver in this configuration.
#   ipa_obj		Any other target-specific modules appropriate
#			for this target's in-process agent.
#
# 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.

# Default hostio_last_error implementation
srv_hostio_err_objs="hostio-errno.o"

srv_i386_regobj="i386.o i386-avx.o i386-mmx.o"
srv_i386_linux_regobj="i386-linux.o i386-avx-linux.o i386-mmx-linux.o"
srv_amd64_regobj="amd64.o amd64-avx.o"
srv_amd64_linux_regobj="amd64-linux.o amd64-avx-linux.o"

ipa_i386_linux_regobj=i386-linux-ipa.o
ipa_amd64_linux_regobj=amd64-linux-ipa.o

srv_i386_32bit_xmlfiles="i386/32bit-core.xml i386/32bit-sse.xml i386/32bit-avx.xml"
srv_i386_64bit_xmlfiles="i386/64bit-core.xml i386/64bit-sse.xml i386/64bit-avx.xml"
srv_i386_xmlfiles="i386/i386.xml i386/i386-avx.xml i386/i386-mmx.xml $srv_i386_32bit_xmlfiles"
srv_amd64_xmlfiles="i386/amd64.xml i386/amd64-avx.xml $srv_i386_64bit_xmlfiles"
srv_i386_linux_xmlfiles="i386/i386-linux.xml i386/i386-avx-linux.xml i386/i386-mmx-linux.xml i386/32bit-linux.xml $srv_i386_32bit_xmlfiles"
srv_amd64_linux_xmlfiles="i386/amd64-linux.xml i386/amd64-avx-linux.xml i386/64bit-linux.xml $srv_i386_64bit_xmlfiles"

# Input is taken from the "${target}" variable.

case "${target}" in
  arm*-*-linux*)	srv_regobj="reg-arm.o arm-with-iwmmxt.o"
			srv_regobj="${srv_regobj} arm-with-vfpv2.o"
			srv_regobj="${srv_regobj} arm-with-vfpv3.o"
			srv_regobj="${srv_regobj} arm-with-neon.o"
			srv_tgtobj="linux-low.o linux-osdata.o linux-arm-low.o linux-procfs.o"
			srv_xmlfiles="arm-with-iwmmxt.xml"
			srv_xmlfiles="${srv_xmlfiles} arm-with-vfpv2.xml"
			srv_xmlfiles="${srv_xmlfiles} arm-with-vfpv3.xml"
			srv_xmlfiles="${srv_xmlfiles} arm-with-neon.xml"
			srv_xmlfiles="${srv_xmlfiles} arm-core.xml"
			srv_xmlfiles="${srv_xmlfiles} xscale-iwmmxt.xml"
			srv_xmlfiles="${srv_xmlfiles} arm-vfpv2.xml"
			srv_xmlfiles="${srv_xmlfiles} arm-vfpv3.xml"
			srv_linux_usrregs=yes
			srv_linux_regsets=yes
			srv_linux_thread_db=yes
			;;
  arm*-*-mingw32ce*)	srv_regobj=reg-arm.o
			srv_tgtobj="win32-low.o win32-arm-low.o"
			srv_tgtobj="${srv_tgtobj} wincecompat.o"
			# hostio_last_error implementation is in win32-low.c
			srv_hostio_err_objs=""
			srv_mingw=yes
			srv_mingwce=yes
			;;
  bfin-*-*linux*)	srv_regobj=reg-bfin.o
			srv_tgtobj="linux-low.o linux-osdata.o linux-bfin-low.o linux-procfs.o"
			srv_linux_usrregs=yes
			srv_linux_thread_db=yes
			;;
  crisv32-*-linux*)	srv_regobj=reg-crisv32.o
			srv_tgtobj="linux-low.o linux-osdata.o linux-crisv32-low.o linux-procfs.o"
			srv_linux_regsets=yes
			srv_linux_thread_db=yes
			;;
  cris-*-linux*)	srv_regobj=reg-cris.o
			srv_tgtobj="linux-low.o linux-osdata.o linux-cris-low.o linux-procfs.o"
			srv_linux_usrregs=yes
			srv_linux_thread_db=yes
			;;
  i[34567]86-*-cygwin*)	srv_regobj="$srv_i386_regobj"
			srv_tgtobj="i386-low.o win32-low.o win32-i386-low.o"
			srv_xmlfiles="$srv_i386_xmlfiles"
			;;
  i[34567]86-*-linux*)	srv_regobj="$srv_i386_linux_regobj"
			srv_xmlfiles="$srv_i386_linux_xmlfiles"
			if test "$gdb_cv_i386_is_x86_64" = yes ; then
			    srv_regobj="$srv_regobj $srv_amd64_linux_regobj"
			    srv_xmlfiles="${srv_xmlfiles} $srv_amd64_linux_xmlfiles"
			fi
			srv_tgtobj="linux-low.o linux-osdata.o linux-x86-low.o i386-low.o i387-fp.o linux-procfs.o"
			srv_linux_usrregs=yes
			srv_linux_regsets=yes
			srv_linux_thread_db=yes
			ipa_obj="${ipa_i386_linux_regobj} linux-i386-ipa.o"
			;;
  i[34567]86-*-lynxos*)	srv_regobj="i386.o"
			srv_tgtobj="lynx-low.o lynx-i386-low.o"
			srv_lynxos=yes
			;;
  i[34567]86-*-mingw32ce*)
			srv_regobj="$srv_i386_regobj"
			srv_tgtobj="i386-low.o win32-low.o win32-i386-low.o"
			srv_tgtobj="${srv_tgtobj} wincecompat.o"
			srv_xmlfiles="$srv_i386_xmlfiles"
			# hostio_last_error implementation is in win32-low.c
			srv_hostio_err_objs=""
			srv_mingw=yes
			srv_mingwce=yes
			;;
  i[34567]86-*-mingw*)	srv_regobj="$srv_i386_regobj"
			srv_tgtobj="i386-low.o win32-low.o win32-i386-low.o"
			srv_xmlfiles="$srv_i386_xmlfiles"
			srv_mingw=yes
			;;
  i[34567]86-*-nto*)	srv_regobj="$srv_i386_regobj"
			srv_tgtobj="nto-low.o nto-x86-low.o"
			srv_xmlfiles="$srv_i386_xmlfiles"
			srv_qnx="yes"
			;;
  ia64-*-linux*)	srv_regobj=reg-ia64.o
			srv_tgtobj="linux-low.o linux-osdata.o linux-ia64-low.o linux-procfs.o"
			srv_linux_usrregs=yes
			;;
  m32r*-*-linux*)	srv_regobj=reg-m32r.o
			srv_tgtobj="linux-low.o linux-osdata.o linux-m32r-low.o linux-procfs.o"
			srv_linux_usrregs=yes
 			srv_linux_thread_db=yes
			;;
  m68*-*-linux*)	if test "$gdb_cv_m68k_is_coldfire" = yes; then
                          srv_regobj=reg-cf.o
                        else
                          srv_regobj=reg-m68k.o
                        fi
			srv_tgtobj="linux-low.o linux-osdata.o linux-m68k-low.o linux-procfs.o"
			srv_linux_usrregs=yes
			srv_linux_regsets=yes
			srv_linux_thread_db=yes
			;;
  m68*-*-uclinux*)	if test "$gdb_cv_m68k_is_coldfire" = yes; then
                          srv_regobj=reg-cf.o
                        else
                          srv_regobj=reg-m68k.o
                        fi
			srv_tgtobj="linux-low.o linux-osdata.o linux-m68k-low.o linux-procfs.o"
			srv_linux_usrregs=yes
			srv_linux_regsets=yes
			srv_linux_thread_db=yes
			;;
  mips*-*-linux*)	srv_regobj="mips-linux.o mips64-linux.o"
			srv_tgtobj="linux-low.o linux-osdata.o linux-mips-low.o linux-procfs.o"
			srv_xmlfiles="mips-linux.xml"
			srv_xmlfiles="${srv_xmlfiles} mips-cpu.xml"
			srv_xmlfiles="${srv_xmlfiles} mips-cp0.xml"
			srv_xmlfiles="${srv_xmlfiles} mips-fpu.xml"
			srv_xmlfiles="${srv_xmlfiles} mips64-linux.xml"
			srv_xmlfiles="${srv_xmlfiles} mips64-cpu.xml"
			srv_xmlfiles="${srv_xmlfiles} mips64-cp0.xml"
			srv_xmlfiles="${srv_xmlfiles} mips64-fpu.xml"
			srv_linux_regsets=yes
			srv_linux_usrregs=yes
			srv_linux_thread_db=yes
			;;
  powerpc*-*-linux*)	srv_regobj="powerpc-32l.o"
			srv_regobj="${srv_regobj} powerpc-altivec32l.o"
			srv_regobj="${srv_regobj} powerpc-cell32l.o"
			srv_regobj="${srv_regobj} powerpc-vsx32l.o"
			srv_regobj="${srv_regobj} powerpc-isa205-32l.o"
			srv_regobj="${srv_regobj} powerpc-isa205-altivec32l.o"
			srv_regobj="${srv_regobj} powerpc-isa205-vsx32l.o"
			srv_regobj="${srv_regobj} powerpc-e500l.o"
			srv_regobj="${srv_regobj} powerpc-64l.o"
			srv_regobj="${srv_regobj} powerpc-altivec64l.o"
			srv_regobj="${srv_regobj} powerpc-cell64l.o"
			srv_regobj="${srv_regobj} powerpc-vsx64l.o"
			srv_regobj="${srv_regobj} powerpc-isa205-64l.o"
			srv_regobj="${srv_regobj} powerpc-isa205-altivec64l.o"
			srv_regobj="${srv_regobj} powerpc-isa205-vsx64l.o"
			srv_tgtobj="linux-low.o linux-osdata.o linux-ppc-low.o linux-procfs.o"
			srv_xmlfiles="rs6000/powerpc-32l.xml"
			srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-altivec32l.xml"
			srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-cell32l.xml"
			srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-vsx32l.xml"
			srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa205-32l.xml"
			srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa205-altivec32l.xml"
			srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa205-vsx32l.xml"
			srv_xmlfiles="${srv_xmlfiles} rs6000/power-altivec.xml"
			srv_xmlfiles="${srv_xmlfiles} rs6000/power-vsx.xml"
			srv_xmlfiles="${srv_xmlfiles} rs6000/power-core.xml"
			srv_xmlfiles="${srv_xmlfiles} rs6000/power-linux.xml"
			srv_xmlfiles="${srv_xmlfiles} rs6000/power-fpu.xml"
			srv_xmlfiles="${srv_xmlfiles} rs6000/power-fpu-isa205.xml"
			srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-e500l.xml"
			srv_xmlfiles="${srv_xmlfiles} rs6000/power-spe.xml"
			srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-64l.xml"
			srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-altivec64l.xml"
			srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-cell64l.xml"
			srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-vsx64l.xml"
			srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa205-64l.xml"
			srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa205-altivec64l.xml"
			srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa205-vsx64l.xml"
			srv_xmlfiles="${srv_xmlfiles} rs6000/power64-core.xml"
			srv_xmlfiles="${srv_xmlfiles} rs6000/power64-linux.xml"
			srv_linux_usrregs=yes
			srv_linux_regsets=yes
			srv_linux_thread_db=yes
			;;
  powerpc-*-lynxos*)	srv_regobj="powerpc-32.o"
			srv_tgtobj="lynx-low.o lynx-ppc-low.o"
			srv_lynxos=yes
			;;
  s390*-*-linux*)	srv_regobj="s390-linux32.o"
			srv_regobj="${srv_regobj} s390-linux32v1.o"
			srv_regobj="${srv_regobj} s390-linux32v2.o"
			srv_regobj="${srv_regobj} s390-linux64.o"
			srv_regobj="${srv_regobj} s390-linux64v1.o"
			srv_regobj="${srv_regobj} s390-linux64v2.o"
			srv_regobj="${srv_regobj} s390x-linux64.o"
			srv_regobj="${srv_regobj} s390x-linux64v1.o"
			srv_regobj="${srv_regobj} s390x-linux64v2.o"
			srv_tgtobj="linux-low.o linux-osdata.o linux-s390-low.o linux-procfs.o"
			srv_xmlfiles="s390-linux32.xml"
			srv_xmlfiles="${srv_xmlfiles} s390-linux32v1.xml"
			srv_xmlfiles="${srv_xmlfiles} s390-linux32v2.xml"
			srv_xmlfiles="${srv_xmlfiles} s390-linux64.xml"
			srv_xmlfiles="${srv_xmlfiles} s390-linux64v1.xml"
			srv_xmlfiles="${srv_xmlfiles} s390-linux64v2.xml"
			srv_xmlfiles="${srv_xmlfiles} s390x-linux64.xml"
			srv_xmlfiles="${srv_xmlfiles} s390x-linux64v1.xml"
			srv_xmlfiles="${srv_xmlfiles} s390x-linux64v2.xml"
			srv_xmlfiles="${srv_xmlfiles} s390-core32.xml"
			srv_xmlfiles="${srv_xmlfiles} s390-core64.xml"
			srv_xmlfiles="${srv_xmlfiles} s390x-core64.xml"
			srv_xmlfiles="${srv_xmlfiles} s390-acr.xml"
			srv_xmlfiles="${srv_xmlfiles} s390-fpr.xml"
			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-osdata.o linux-sh-low.o linux-procfs.o"
			srv_linux_usrregs=yes
			srv_linux_regsets=yes
			srv_linux_thread_db=yes
			;;
  sparc*-*-linux*)	srv_regobj=reg-sparc64.o
			srv_tgtobj="linux-low.o linux-osdata.o linux-sparc-low.o linux-procfs.o"
			srv_linux_regsets=yes
			srv_linux_thread_db=yes
			;;
  spu*-*-*)		srv_regobj=reg-spu.o
			srv_tgtobj="spu-low.o"
			;;
  tic6x-*-uclinux)	srv_regobj="tic6x-c64xp-linux.o"
			srv_regobj="${srv_regobj} tic6x-c64x-linux.o"
			srv_regobj="${srv_regobj} tic6x-c62x-linux.o"
			srv_xmlfiles="tic6x-c64xp-linux.xml"
			srv_xmlfiles="${srv_xmlfiles} tic6x-c64x-linux.xml"
			srv_xmlfiles="${srv_xmlfiles} tic6x-c62x-linux.xml"
			srv_xmlfiles="${srv_xmlfiles} tic6x-core.xml"
			srv_xmlfiles="${srv_xmlfiles} tic6x-gp.xml"
			srv_xmlfiles="${srv_xmlfiles} tic6x-c6xp.xml"
  			srv_tgtobj="linux-low.o linux-osdata.o linux-tic6x-low.o linux-procfs.o"
			srv_linux_regsets=yes
			srv_linux_usrregs=yes
			srv_linux_thread_db=yes
			;;
  x86_64-*-linux*)	srv_regobj="$srv_amd64_linux_regobj $srv_i386_linux_regobj"
			srv_tgtobj="linux-low.o linux-osdata.o linux-x86-low.o i386-low.o i387-fp.o linux-procfs.o"
			srv_xmlfiles="$srv_i386_linux_xmlfiles $srv_amd64_linux_xmlfiles"
			srv_linux_usrregs=yes # This is for i386 progs.
			srv_linux_regsets=yes
			srv_linux_thread_db=yes
			ipa_obj="${ipa_amd64_linux_regobj} linux-amd64-ipa.o"
			;;
  x86_64-*-mingw*)	srv_regobj="$srv_amd64_regobj"
			srv_tgtobj="i386-low.o i387-fp.o win32-low.o win32-i386-low.o"
			srv_xmlfiles="$srv_i386_xmlfiles $srv_amd64_xmlfiles"
			srv_mingw=yes
			;;

  xtensa*-*-linux*)	srv_regobj=reg-xtensa.o
			srv_tgtobj="linux-low.o linux-osdata.o linux-xtensa-low.o linux-procfs.o"
			srv_linux_regsets=yes
			;;
  *)			echo "Error: target not supported by gdbserver."
			exit 1
			;;
esac
