| 1 | # Mappings from configuration triplets to gdbserver build options. |
| 2 | # This is invoked from the autoconf-generated configure script, to |
| 3 | # produce the appropriate Makefile substitutions. |
| 4 | |
| 5 | # This file sets the following shell variables: |
| 6 | # srv_regobj The register protocol appropriate for this target. |
| 7 | # srv_tgtobj Any other target-specific modules appropriate |
| 8 | # for this target. |
| 9 | # srv_hostio_err The object implementing the hostio_last_error |
| 10 | # target method. |
| 11 | # srv_xmlfiles All XML files which should be available for |
| 12 | # gdbserver in this configuration. |
| 13 | # |
| 14 | # In addition, on GNU/Linux the following shell variables will be set: |
| 15 | # srv_linux_regsets Set to "yes" if ptrace(PTRACE_GETREGS) and friends |
| 16 | # may be available on this platform; unset otherwise. |
| 17 | # They will only be used if <sys/ptrace.h> defines |
| 18 | # PTRACE_GETREGS. |
| 19 | # srv_linux_usrregs Set to "yes" if we can get at registers via |
| 20 | # PTRACE_PEEKUSR / PTRACE_POKEUSR. |
| 21 | |
| 22 | # Default hostio_last_error implementation |
| 23 | srv_hostio_err_objs="hostio-errno.o" |
| 24 | |
| 25 | srv_i386_regobj=i386.o |
| 26 | srv_i386_linux_regobj=i386-linux.o |
| 27 | srv_amd64_regobj=amd64.o |
| 28 | srv_amd64_linux_regobj=amd64-linux.o |
| 29 | |
| 30 | srv_i386_32bit_xmlfiles="i386/32bit-core.xml i386/32bit-sse.xml" |
| 31 | srv_i386_64bit_xmlfiles="i386/64bit-core.xml i386/64bit-sse.xml" |
| 32 | srv_i386_xmlfiles="i386/i386.xml $srv_i386_32bit_xmlfiles" |
| 33 | srv_amd64_xmlfiles="i386/amd64.xml $srv_i386_64bit_xmlfiles" |
| 34 | srv_i386_linux_xmlfiles="i386/i386-linux.xml i386/32bit-linux.xml $srv_i386_32bit_xmlfiles" |
| 35 | srv_amd64_linux_xmlfiles="i386/amd64-linux.xml i386/64bit-linux.xml $srv_i386_64bit_xmlfiles" |
| 36 | |
| 37 | # Input is taken from the "${target}" variable. |
| 38 | |
| 39 | case "${target}" in |
| 40 | arm*-*-linux*) srv_regobj="reg-arm.o arm-with-iwmmxt.o" |
| 41 | srv_regobj="${srv_regobj} arm-with-vfpv2.o" |
| 42 | srv_regobj="${srv_regobj} arm-with-vfpv3.o" |
| 43 | srv_regobj="${srv_regobj} arm-with-neon.o" |
| 44 | srv_tgtobj="linux-low.o linux-arm-low.o" |
| 45 | srv_xmlfiles="arm-with-iwmmxt.xml" |
| 46 | srv_xmlfiles="${srv_xmlfiles} arm-with-vfpv2.xml" |
| 47 | srv_xmlfiles="${srv_xmlfiles} arm-with-vfpv3.xml" |
| 48 | srv_xmlfiles="${srv_xmlfiles} arm-with-neon.xml" |
| 49 | srv_xmlfiles="${srv_xmlfiles} arm-core.xml" |
| 50 | srv_xmlfiles="${srv_xmlfiles} xscale-iwmmxt.xml" |
| 51 | srv_xmlfiles="${srv_xmlfiles} arm-vfpv2.xml" |
| 52 | srv_xmlfiles="${srv_xmlfiles} arm-vfpv3.xml" |
| 53 | srv_linux_usrregs=yes |
| 54 | srv_linux_regsets=yes |
| 55 | srv_linux_thread_db=yes |
| 56 | ;; |
| 57 | arm*-*-mingw32ce*) srv_regobj=reg-arm.o |
| 58 | srv_tgtobj="win32-low.o win32-arm-low.o" |
| 59 | srv_tgtobj="${srv_tgtobj} wincecompat.o" |
| 60 | # hostio_last_error implementation is in win32-low.c |
| 61 | srv_hostio_err_objs="" |
| 62 | srv_mingw=yes |
| 63 | srv_mingwce=yes |
| 64 | ;; |
| 65 | crisv32-*-linux*) srv_regobj=reg-crisv32.o |
| 66 | srv_tgtobj="linux-low.o linux-crisv32-low.o" |
| 67 | srv_linux_regsets=yes |
| 68 | srv_linux_thread_db=yes |
| 69 | ;; |
| 70 | cris-*-linux*) srv_regobj=reg-cris.o |
| 71 | srv_tgtobj="linux-low.o linux-cris-low.o" |
| 72 | srv_linux_usrregs=yes |
| 73 | srv_linux_thread_db=yes |
| 74 | ;; |
| 75 | i[34567]86-*-cygwin*) srv_regobj="$srv_i386_regobj" |
| 76 | srv_tgtobj="i386-low.o win32-low.o win32-i386-low.o" |
| 77 | srv_xmlfiles="$srv_i386_xmlfiles" |
| 78 | ;; |
| 79 | i[34567]86-*-linux*) srv_regobj="$srv_i386_linux_regobj" |
| 80 | srv_xmlfiles="$srv_i386_linux_xmlfiles" |
| 81 | if test "$gdb_cv_i386_is_x86_64" = yes ; then |
| 82 | srv_regobj="$srv_regobj $srv_amd64_linux_regobj" |
| 83 | srv_xmlfiles="${srv_xmlfiles} $srv_amd64_linux_xmlfiles" |
| 84 | fi |
| 85 | srv_tgtobj="linux-low.o linux-x86-low.o i386-low.o i387-fp.o" |
| 86 | srv_linux_usrregs=yes |
| 87 | srv_linux_regsets=yes |
| 88 | srv_linux_thread_db=yes |
| 89 | ;; |
| 90 | i[34567]86-*-mingw32ce*) |
| 91 | srv_regobj="$srv_i386_regobj" |
| 92 | srv_tgtobj="i386-low.o win32-low.o win32-i386-low.o" |
| 93 | srv_tgtobj="${srv_tgtobj} wincecompat.o" |
| 94 | srv_xmlfiles="$srv_i386_xmlfiles" |
| 95 | # hostio_last_error implementation is in win32-low.c |
| 96 | srv_hostio_err_objs="" |
| 97 | srv_mingw=yes |
| 98 | srv_mingwce=yes |
| 99 | ;; |
| 100 | i[34567]86-*-mingw*) srv_regobj="$srv_i386_regobj" |
| 101 | srv_tgtobj="i386-low.o win32-low.o win32-i386-low.o" |
| 102 | srv_xmlfiles="$srv_i386_xmlfiles" |
| 103 | srv_mingw=yes |
| 104 | ;; |
| 105 | i[34567]86-*-nto*) srv_regobj="$srv_i386_regobj" |
| 106 | srv_tgtobj="nto-low.o nto-x86-low.o" |
| 107 | srv_xmlfiles="$srv_i386_xmlfiles" |
| 108 | srv_qnx="yes" |
| 109 | ;; |
| 110 | ia64-*-linux*) srv_regobj=reg-ia64.o |
| 111 | srv_tgtobj="linux-low.o linux-ia64-low.o" |
| 112 | srv_linux_usrregs=yes |
| 113 | ;; |
| 114 | m32r*-*-linux*) srv_regobj=reg-m32r.o |
| 115 | srv_tgtobj="linux-low.o linux-m32r-low.o" |
| 116 | srv_linux_usrregs=yes |
| 117 | srv_linux_thread_db=yes |
| 118 | ;; |
| 119 | m68*-*-linux*) if test "$gdb_cv_m68k_is_coldfire" = yes; then |
| 120 | srv_regobj=reg-cf.o |
| 121 | else |
| 122 | src_regobj=reg-m68k.o |
| 123 | fi |
| 124 | srv_tgtobj="linux-low.o linux-m68k-low.o" |
| 125 | srv_linux_usrregs=yes |
| 126 | srv_linux_regsets=yes |
| 127 | srv_linux_thread_db=yes |
| 128 | ;; |
| 129 | m68*-*-uclinux*) if test "$gdb_cv_m68k_is_coldfire" = yes; then |
| 130 | srv_regobj=reg-cf.o |
| 131 | else |
| 132 | src_regobj=reg-m68k.o |
| 133 | fi |
| 134 | srv_tgtobj="linux-low.o linux-m68k-low.o" |
| 135 | srv_linux_usrregs=yes |
| 136 | srv_linux_regsets=yes |
| 137 | srv_linux_thread_db=yes |
| 138 | ;; |
| 139 | mips*-*-linux*) srv_regobj="mips-linux.o mips64-linux.o" |
| 140 | srv_tgtobj="linux-low.o linux-mips-low.o" |
| 141 | srv_xmlfiles="mips-linux.xml" |
| 142 | srv_xmlfiles="${srv_xmlfiles} mips-cpu.xml" |
| 143 | srv_xmlfiles="${srv_xmlfiles} mips-cp0.xml" |
| 144 | srv_xmlfiles="${srv_xmlfiles} mips-fpu.xml" |
| 145 | srv_xmlfiles="${srv_xmlfiles} mips64-linux.xml" |
| 146 | srv_xmlfiles="${srv_xmlfiles} mips64-cpu.xml" |
| 147 | srv_xmlfiles="${srv_xmlfiles} mips64-cp0.xml" |
| 148 | srv_xmlfiles="${srv_xmlfiles} mips64-fpu.xml" |
| 149 | srv_linux_regsets=yes |
| 150 | srv_linux_usrregs=yes |
| 151 | srv_linux_thread_db=yes |
| 152 | ;; |
| 153 | powerpc*-*-linux*) srv_regobj="powerpc-32l.o" |
| 154 | srv_regobj="${srv_regobj} powerpc-altivec32l.o" |
| 155 | srv_regobj="${srv_regobj} powerpc-cell32l.o" |
| 156 | srv_regobj="${srv_regobj} powerpc-vsx32l.o" |
| 157 | srv_regobj="${srv_regobj} powerpc-isa205-32l.o" |
| 158 | srv_regobj="${srv_regobj} powerpc-isa205-altivec32l.o" |
| 159 | srv_regobj="${srv_regobj} powerpc-isa205-vsx32l.o" |
| 160 | srv_regobj="${srv_regobj} powerpc-e500l.o" |
| 161 | srv_regobj="${srv_regobj} powerpc-64l.o" |
| 162 | srv_regobj="${srv_regobj} powerpc-altivec64l.o" |
| 163 | srv_regobj="${srv_regobj} powerpc-cell64l.o" |
| 164 | srv_regobj="${srv_regobj} powerpc-vsx64l.o" |
| 165 | srv_regobj="${srv_regobj} powerpc-isa205-64l.o" |
| 166 | srv_regobj="${srv_regobj} powerpc-isa205-altivec64l.o" |
| 167 | srv_regobj="${srv_regobj} powerpc-isa205-vsx64l.o" |
| 168 | srv_tgtobj="linux-low.o linux-ppc-low.o" |
| 169 | srv_xmlfiles="rs6000/powerpc-32l.xml" |
| 170 | srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-altivec32l.xml" |
| 171 | srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-cell32l.xml" |
| 172 | srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-vsx32l.xml" |
| 173 | srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa205-32l.xml" |
| 174 | srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa205-altivec32l.xml" |
| 175 | srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa205-vsx32l.xml" |
| 176 | srv_xmlfiles="${srv_xmlfiles} rs6000/power-altivec.xml" |
| 177 | srv_xmlfiles="${srv_xmlfiles} rs6000/power-vsx.xml" |
| 178 | srv_xmlfiles="${srv_xmlfiles} rs6000/power-core.xml" |
| 179 | srv_xmlfiles="${srv_xmlfiles} rs6000/power-linux.xml" |
| 180 | srv_xmlfiles="${srv_xmlfiles} rs6000/power-fpu.xml" |
| 181 | srv_xmlfiles="${srv_xmlfiles} rs6000/power-fpu-isa205.xml" |
| 182 | srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-e500l.xml" |
| 183 | srv_xmlfiles="${srv_xmlfiles} rs6000/power-spe.xml" |
| 184 | srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-64l.xml" |
| 185 | srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-altivec64l.xml" |
| 186 | srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-cell64l.xml" |
| 187 | srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-vsx64l.xml" |
| 188 | srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa205-64l.xml" |
| 189 | srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa205-altivec64l.xml" |
| 190 | srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa205-vsx64l.xml" |
| 191 | srv_xmlfiles="${srv_xmlfiles} rs6000/power64-core.xml" |
| 192 | srv_xmlfiles="${srv_xmlfiles} rs6000/power64-linux.xml" |
| 193 | srv_linux_usrregs=yes |
| 194 | srv_linux_regsets=yes |
| 195 | srv_linux_thread_db=yes |
| 196 | ;; |
| 197 | s390*-*-linux*) srv_regobj="s390-linux32.o" |
| 198 | srv_regobj="${srv_regobj} s390-linux64.o" |
| 199 | srv_regobj="${srv_regobj} s390x-linux64.o" |
| 200 | srv_tgtobj="linux-low.o linux-s390-low.o" |
| 201 | srv_xmlfiles="s390-linux32.xml" |
| 202 | srv_xmlfiles="${srv_xmlfiles} s390-linux64.xml" |
| 203 | srv_xmlfiles="${srv_xmlfiles} s390x-linux64.xml" |
| 204 | srv_xmlfiles="${srv_xmlfiles} s390-core32.xml" |
| 205 | srv_xmlfiles="${srv_xmlfiles} s390-core64.xml" |
| 206 | srv_xmlfiles="${srv_xmlfiles} s390x-core64.xml" |
| 207 | srv_xmlfiles="${srv_xmlfiles} s390-acr.xml" |
| 208 | srv_xmlfiles="${srv_xmlfiles} s390-fpr.xml" |
| 209 | srv_linux_usrregs=yes |
| 210 | srv_linux_regsets=yes |
| 211 | srv_linux_thread_db=yes |
| 212 | ;; |
| 213 | sh*-*-linux*) srv_regobj=reg-sh.o |
| 214 | srv_tgtobj="linux-low.o linux-sh-low.o" |
| 215 | srv_linux_usrregs=yes |
| 216 | srv_linux_regsets=yes |
| 217 | srv_linux_thread_db=yes |
| 218 | ;; |
| 219 | sparc*-*-linux*) srv_regobj=reg-sparc64.o |
| 220 | srv_tgtobj="linux-low.o linux-sparc-low.o" |
| 221 | srv_linux_regsets=yes |
| 222 | srv_linux_thread_db=yes |
| 223 | ;; |
| 224 | spu*-*-*) srv_regobj=reg-spu.o |
| 225 | srv_tgtobj="spu-low.o" |
| 226 | ;; |
| 227 | x86_64-*-linux*) srv_regobj="$srv_amd64_linux_regobj $srv_i386_linux_regobj" |
| 228 | srv_tgtobj="linux-low.o linux-x86-low.o i386-low.o i387-fp.o" |
| 229 | srv_xmlfiles="$srv_i386_linux_xmlfiles $srv_amd64_linux_xmlfiles" |
| 230 | srv_linux_usrregs=yes # This is for i386 progs. |
| 231 | srv_linux_regsets=yes |
| 232 | srv_linux_thread_db=yes |
| 233 | ;; |
| 234 | xscale*-*-linux*) srv_regobj=reg-arm.o |
| 235 | srv_tgtobj="linux-low.o linux-arm-low.o" |
| 236 | srv_linux_usrregs=yes |
| 237 | srv_linux_thread_db=yes |
| 238 | ;; |
| 239 | xtensa*-*-linux*) srv_regobj=reg-xtensa.o |
| 240 | srv_tgtobj="linux-low.o linux-xtensa-low.o" |
| 241 | srv_linux_regsets=yes |
| 242 | ;; |
| 243 | *) echo "Error: target not supported by gdbserver." |
| 244 | exit 1 |
| 245 | ;; |
| 246 | esac |