# 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 x32.o x32-avx.o"
srv_amd64_linux_regobj="amd64-linux.o amd64-avx-linux.o x32-linux.o x32-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 i386/x32-core.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 i386/x32.xml i386/x32-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 i386/x32-linux.xml i386/x32-avx-linux.xml $srv_i386_64bit_xmlfiles"

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

case "${target}" in
  aarch64*-*-linux*)
			srv_regobj="aarch64.o"
			srv_tgtobj="linux-aarch64-low.o"
			srv_tgtobj="${srv_tgtobj} linux-low.o"
			srv_tgtobj="${srv_tgtobj} linux-osdata.o"
			srv_tgtobj="${srv_tgtobj} linux-procfs.o"
			srv_tgtobj="${srv_tgtobj} linux-ptrace.o"
			srv_xmlfiles="aarch64.xml"
			srv_xmlfiles="${srv_xmlfiles} aarch64-core.xml"
			srv_xmlfiles="${srv_xmlfiles} aarch64-fpu.xml"
			srv_linux_usrregs=yes
			srv_linux_regsets=yes
			srv_linux_thread_db=yes
			;;
  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_tgtobj="${srv_tgtobj} linux-ptrace.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_tgtobj="${srv_tgtobj} linux-ptrace.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_tgtobj="${srv_tgtobj} linux-ptrace.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_tgtobj="${srv_tgtobj} linux-ptrace.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_tgtobj="${srv_tgtobj} linux-ptrace.o linux-btrace.o"
			srv_linux_usrregs=yes
			srv_linux_regsets=yes
			srv_linux_thread_db=yes
			srv_linux_btrace=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_xmlfiles="i386/i386.xml"
			srv_xmlfiles="${srv_xmlfiles} i386/32bit-core.xml"
			srv_xmlfiles="${srv_xmlfiles} i386/32bit-sse.xml"
			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_tgtobj="${srv_tgtobj} linux-ptrace.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_tgtobj="${srv_tgtobj} linux-ptrace.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_tgtobj="${srv_tgtobj} linux-ptrace.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_tgtobj="${srv_tgtobj} linux-ptrace.o"
			srv_linux_usrregs=yes
			srv_linux_regsets=yes
			srv_linux_thread_db=yes
			;;
  mips*-*-linux*)	srv_regobj="mips-linux.o"
			srv_regobj="${srv_regobj} mips-dsp-linux.o"
			srv_regobj="${srv_regobj} mips64-linux.o"
			srv_regobj="${srv_regobj} mips64-dsp-linux.o"
			srv_tgtobj="linux-low.o linux-osdata.o linux-mips-low.o linux-procfs.o"
			srv_tgtobj="${srv_tgtobj} linux-ptrace.o"
			srv_tgtobj="${srv_tgtobj} mips-linux-watch.o"
			srv_xmlfiles="mips-linux.xml"
			srv_xmlfiles="${srv_xmlfiles} mips-dsp-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} mips-dsp.xml"
			srv_xmlfiles="${srv_xmlfiles} mips64-linux.xml"
			srv_xmlfiles="${srv_xmlfiles} mips64-dsp-linux.xml"
			srv_xmlfiles="${srv_xmlfiles} mips64-cpu.xml"
			srv_xmlfiles="${srv_xmlfiles} mips64-cp0.xml"
			srv_xmlfiles="${srv_xmlfiles} mips64-fpu.xml"
			srv_xmlfiles="${srv_xmlfiles} mips64-dsp.xml"
			srv_linux_regsets=yes
			srv_linux_usrregs=yes
			srv_linux_thread_db=yes
			;;
  nios2*-*-linux*)	srv_regobj="nios2-linux.o"
			srv_tgtobj="linux-low.o linux-osdata.o linux-nios2-low.o linux-procfs.o"
			srv_tgtobj="${srv_tgtobj} linux-ptrace.o"
			srv_xmlfiles="nios2-linux.xml"
			srv_xmlfiles="${srv_xmlfiles} nios2-cpu.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_tgtobj="${srv_tgtobj} linux-ptrace.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_xmlfiles="rs6000/powerpc-32.xml"
			srv_xmlfiles="${srv_xmlfiles} rs6000/power-core.xml"
			srv_xmlfiles="${srv_xmlfiles} rs6000/power-fpu.xml"
			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_tgtobj="${srv_tgtobj} linux-ptrace.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_tgtobj="${srv_tgtobj} linux-ptrace.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_tgtobj="${srv_tgtobj} linux-ptrace.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_tgtobj="${srv_tgtobj} linux-ptrace.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_tgtobj="${srv_tgtobj} linux-ptrace.o linux-btrace.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
			srv_linux_btrace=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
			;;
  x86_64-*-cygwin*)	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"
			;;

  xtensa*-*-linux*)	srv_regobj=reg-xtensa.o
			srv_tgtobj="linux-low.o linux-osdata.o linux-xtensa-low.o linux-procfs.o"
			srv_tgtobj="${srv_tgtobj} linux-ptrace.o"
			srv_linux_regsets=yes
			;;
  tilegx-*-linux*)	srv_regobj=reg-tilegx.o
			srv_regobj="${srv_regobj} reg-tilegx32.o"
			srv_tgtobj="linux-low.o linux-tile-low.o linux-osdata.o linux-procfs.o"
			srv_tgtobj="${srv_tgtobj} linux-ptrace.o"
			srv_linux_regsets=yes
			srv_linux_thread_db=yes
			;;
  *)			echo "Error: target not supported by gdbserver."
			exit 1
			;;
esac
