# 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
+# 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.
#
# In addition, on GNU/Linux the following shell variables will be set:
# 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"
+
# Input is taken from the "${target}" variable.
case "${target}" in
- arm*-*-linux*) srv_tgtobj="linux-low.o linux-arm-low.o"
+ 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-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
- 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"
+ # hostio_last_error implementation is in win32-low.c
+ srv_hostio_err_objs=""
srv_mingw=yes
srv_mingwce=yes
;;
srv_linux_thread_db=yes
;;
i[34567]86-*-cygwin*) srv_regobj=reg-i386.o
- srv_tgtobj="win32-low.o win32-i386-low.o"
+ srv_tgtobj="i386-low.o 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"
+ if test "$gdb_cv_i386_is_x86_64" = yes ; then
+ srv_regobj="reg-x86-64-linux.o $srv_regobj"
+ fi
+ srv_tgtobj="linux-low.o linux-x86-low.o i386-low.o i387-fp.o"
srv_linux_usrregs=yes
srv_linux_regsets=yes
srv_linux_thread_db=yes
;;
+ i[34567]86-*-mingw32ce*)
+ srv_regobj=reg-i386.o
+ srv_tgtobj="i386-low.o win32-low.o win32-i386-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
+ ;;
i[34567]86-*-mingw*) srv_regobj=reg-i386.o
- srv_tgtobj="win32-low.o win32-i386-low.o"
+ srv_tgtobj="i386-low.o win32-low.o win32-i386-low.o"
srv_mingw=yes
;;
+ i[34567]86-*-nto*) srv_regobj=reg-i386.o
+ srv_tgtobj="nto-low.o nto-x86-low.o"
+ srv_qnx="yes"
+ ;;
ia64-*-linux*) srv_regobj=reg-ia64.o
srv_tgtobj="linux-low.o linux-ia64-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"
+ mips*-*-linux*) srv_regobj="mips-linux.o mips64-linux.o"
srv_tgtobj="linux-low.o linux-mips-low.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
;;
- powerpc64-*-linux*) srv_tgtobj="linux-low.o linux-ppc64-low.o"
+ 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-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
- 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
+ s390*-*-linux*) srv_regobj="reg-s390.o 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
;;
- s390x-*-linux*) srv_regobj=reg-s390x.o
- srv_tgtobj="linux-low.o linux-s390-low.o"
+ 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
;;
- sh*-*-linux*) srv_regobj=reg-sh.o
- srv_tgtobj="linux-low.o linux-sh-low.o"
- srv_linux_usrregs=yes
+ sparc*-*-linux*) srv_regobj=reg-sparc64.o
+ srv_tgtobj="linux-low.o linux-sparc-low.o"
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"
+ x86_64-*-linux*) srv_regobj="reg-x86-64-linux.o reg-i386-linux.o"
+ srv_tgtobj="linux-low.o linux-x86-low.o i386-low.o i387-fp.o"
+ srv_linux_usrregs=yes # This is for i386 progs.
srv_linux_regsets=yes
srv_linux_thread_db=yes
;;
srv_linux_usrregs=yes
srv_linux_thread_db=yes
;;
+ xtensa*-*-linux*) srv_regobj=reg-xtensa.o
+ srv_tgtobj="linux-low.o linux-xtensa-low.o"
+ srv_linux_regsets=yes
+ ;;
*) echo "Error: target not supported by gdbserver."
exit 1
;;