# 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 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" # Linux object files. This is so we don't have to repeat # these files over and over again. srv_linux_obj="linux-low.o linux-osdata.o linux-procfs.o linux-ptrace.o linux-waitpid.o" # 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} $srv_linux_obj" 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="$srv_linux_obj linux-arm-low.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="$srv_linux_obj linux-bfin-low.o" srv_linux_usrregs=yes srv_linux_thread_db=yes ;; crisv32-*-linux*) srv_regobj=reg-crisv32.o srv_tgtobj="$srv_linux_obj linux-crisv32-low.o" srv_linux_regsets=yes srv_linux_thread_db=yes ;; cris-*-linux*) srv_regobj=reg-cris.o srv_tgtobj="$srv_linux_obj linux-cris-low.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="$srv_linux_obj linux-x86-low.o i386-low.o i387-fp.o" srv_tgtobj="${srv_tgtobj} 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="$srv_linux_obj linux-ia64-low.o" srv_linux_usrregs=yes ;; m32r*-*-linux*) srv_regobj=reg-m32r.o srv_tgtobj="$srv_linux_obj linux-m32r-low.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="$srv_linux_obj linux-m68k-low.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="$srv_linux_obj linux-m68k-low.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="$srv_linux_obj linux-mips-low.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="$srv_linux_obj linux-nios2-low.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="$srv_linux_obj linux-ppc-low.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} s390-te-linux64.o" srv_regobj="${srv_regobj} s390x-linux64.o" srv_regobj="${srv_regobj} s390x-linux64v1.o" srv_regobj="${srv_regobj} s390x-linux64v2.o" srv_regobj="${srv_regobj} s390x-te-linux64.o" srv_tgtobj="$srv_linux_obj linux-s390-low.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} s390-te-linux64.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} s390x-te-linux64.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_xmlfiles="${srv_xmlfiles} s390-tdb.xml" srv_linux_usrregs=yes srv_linux_regsets=yes srv_linux_thread_db=yes ;; sh*-*-linux*) srv_regobj=reg-sh.o srv_tgtobj="$srv_linux_obj linux-sh-low.o" srv_linux_usrregs=yes srv_linux_regsets=yes srv_linux_thread_db=yes ;; sparc*-*-linux*) srv_regobj=reg-sparc64.o srv_tgtobj="$srv_linux_obj linux-sparc-low.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="$srv_linux_obj linux-tic6x-low.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="$srv_linux_obj linux-x86-low.o i386-low.o i387-fp.o" srv_tgtobj="${srv_tgtobj} 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="$srv_linux_obj linux-xtensa-low.o" srv_linux_regsets=yes ;; tilegx-*-linux*) srv_regobj=reg-tilegx.o srv_regobj="${srv_regobj} reg-tilegx32.o" srv_tgtobj="$srv_linux_obj linux-tile-low.o" srv_linux_regsets=yes srv_linux_thread_db=yes ;; *) echo "Error: target not supported by gdbserver." exit 1 ;; esac