Imported Upstream version 7.8
[platform/upstream/gdb.git] / gdb / gdbserver / configure.srv
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 #   ipa_obj             Any other target-specific modules appropriate
14 #                       for this target's in-process agent.
15 #
16 # In addition, on GNU/Linux the following shell variables will be set:
17 #   srv_linux_regsets   Set to "yes" if ptrace(PTRACE_GETREGS) and friends
18 #                       may be available on this platform;  unset otherwise.
19 #                       They will only be used if <sys/ptrace.h> defines
20 #                       PTRACE_GETREGS.
21 #   srv_linux_usrregs   Set to "yes" if we can get at registers via
22 #                       PTRACE_PEEKUSR / PTRACE_POKEUSR.
23
24 # Default hostio_last_error implementation
25 srv_hostio_err_objs="hostio-errno.o"
26
27 srv_i386_regobj="i386.o i386-avx.o i386-avx512.o i386-mpx.o i386-mmx.o"
28 srv_i386_linux_regobj="i386-linux.o i386-avx-linux.o i386-avx512-linux.o i386-mpx-linux.o i386-mmx-linux.o"
29 srv_amd64_regobj="amd64.o amd64-avx.o amd64-avx512.o amd64-mpx.o x32.o x32-avx.o x32-avx512.o"
30 srv_amd64_linux_regobj="amd64-linux.o amd64-avx-linux.o amd64-avx512-linux.o amd64-mpx-linux.o x32-linux.o x32-avx-linux.o x32-avx512-linux.o"
31
32 ipa_i386_linux_regobj=i386-linux-ipa.o
33 ipa_amd64_linux_regobj=amd64-linux-ipa.o
34
35 srv_i386_32bit_xmlfiles="i386/32bit-core.xml i386/32bit-sse.xml i386/32bit-avx.xml i386/32bit-avx512.xml i386/32bit-mpx.xml"
36 srv_i386_64bit_xmlfiles="i386/64bit-core.xml i386/64bit-sse.xml i386/64bit-avx.xml i386/64bit-avx512.xml i386/x32-core.xml i386/64bit-mpx.xml"
37 srv_i386_xmlfiles="i386/i386.xml i386/i386-avx.xml i386/i386-avx512.xml i386/i386-mpx.xml i386/i386-mmx.xml $srv_i386_32bit_xmlfiles"
38 srv_amd64_xmlfiles="i386/amd64.xml i386/amd64-avx.xml i386/amd64-avx512.xml i386/x32.xml i386/x32-avx.xml i386/x32-avx512.xml i386/amd64-mpx.xml $srv_i386_64bit_xmlfiles"
39 srv_i386_linux_xmlfiles="i386/i386-linux.xml i386/i386-avx-linux.xml i386/i386-avx512-linux.xml i386/i386-mmx-linux.xml i386/32bit-linux.xml i386/i386-mpx-linux.xml $srv_i386_32bit_xmlfiles"
40 srv_amd64_linux_xmlfiles="i386/amd64-linux.xml i386/amd64-avx-linux.xml i386/amd64-avx512-linux.xml i386/64bit-linux.xml i386/amd64-mpx-linux.xml i386/x32-linux.xml i386/x32-avx-linux.xml i386/x32-avx512-linux.xml $srv_i386_64bit_xmlfiles"
41
42
43 # Linux object files.  This is so we don't have to repeat
44 # these files over and over again.
45 srv_linux_obj="linux-low.o linux-osdata.o linux-procfs.o linux-ptrace.o linux-waitpid.o"
46
47 # Input is taken from the "${target}" variable.
48
49 case "${target}" in
50   aarch64*-*-linux*)
51                         srv_regobj="aarch64.o"
52                         srv_tgtobj="linux-aarch64-low.o"
53                         srv_tgtobj="${srv_tgtobj} $srv_linux_obj"
54                         srv_xmlfiles="aarch64.xml"
55                         srv_xmlfiles="${srv_xmlfiles} aarch64-core.xml"
56                         srv_xmlfiles="${srv_xmlfiles} aarch64-fpu.xml"
57                         srv_linux_usrregs=yes
58                         srv_linux_regsets=yes
59                         srv_linux_thread_db=yes
60                         ;;
61   arm*-*-linux*)        srv_regobj="reg-arm.o arm-with-iwmmxt.o"
62                         srv_regobj="${srv_regobj} arm-with-vfpv2.o"
63                         srv_regobj="${srv_regobj} arm-with-vfpv3.o"
64                         srv_regobj="${srv_regobj} arm-with-neon.o"
65                         srv_tgtobj="$srv_linux_obj linux-arm-low.o"
66                         srv_xmlfiles="arm-with-iwmmxt.xml"
67                         srv_xmlfiles="${srv_xmlfiles} arm-with-vfpv2.xml"
68                         srv_xmlfiles="${srv_xmlfiles} arm-with-vfpv3.xml"
69                         srv_xmlfiles="${srv_xmlfiles} arm-with-neon.xml"
70                         srv_xmlfiles="${srv_xmlfiles} arm-core.xml"
71                         srv_xmlfiles="${srv_xmlfiles} xscale-iwmmxt.xml"
72                         srv_xmlfiles="${srv_xmlfiles} arm-vfpv2.xml"
73                         srv_xmlfiles="${srv_xmlfiles} arm-vfpv3.xml"
74                         srv_linux_usrregs=yes
75                         srv_linux_regsets=yes
76                         srv_linux_thread_db=yes
77                         ;;
78   arm*-*-mingw32ce*)    srv_regobj=reg-arm.o
79                         srv_tgtobj="win32-low.o win32-arm-low.o"
80                         srv_tgtobj="${srv_tgtobj} safe-ctype.o lbasename.o"
81                         srv_tgtobj="${srv_tgtobj} wincecompat.o"
82                         # hostio_last_error implementation is in win32-low.c
83                         srv_hostio_err_objs=""
84                         srv_mingw=yes
85                         srv_mingwce=yes
86                         ;;
87   bfin-*-*linux*)       srv_regobj=reg-bfin.o
88                         srv_tgtobj="$srv_linux_obj linux-bfin-low.o"
89                         srv_linux_usrregs=yes
90                         srv_linux_thread_db=yes
91                         ;;
92   crisv32-*-linux*)     srv_regobj=reg-crisv32.o
93                         srv_tgtobj="$srv_linux_obj linux-crisv32-low.o"
94                         srv_linux_regsets=yes
95                         srv_linux_thread_db=yes
96                         ;;
97   cris-*-linux*)        srv_regobj=reg-cris.o
98                         srv_tgtobj="$srv_linux_obj linux-cris-low.o"
99                         srv_linux_usrregs=yes
100                         srv_linux_thread_db=yes
101                         ;;
102   i[34567]86-*-cygwin*) srv_regobj="$srv_i386_regobj"
103                         srv_tgtobj="i386-low.o win32-low.o win32-i386-low.o"
104                         srv_tgtobj="${srv_tgtobj} safe-ctype.o lbasename.o"
105                         srv_xmlfiles="$srv_i386_xmlfiles"
106                         ;;
107   i[34567]86-*-linux*)  srv_regobj="$srv_i386_linux_regobj"
108                         srv_xmlfiles="$srv_i386_linux_xmlfiles"
109                         if test "$gdb_cv_i386_is_x86_64" = yes ; then
110                             srv_regobj="$srv_regobj $srv_amd64_linux_regobj"
111                             srv_xmlfiles="${srv_xmlfiles} $srv_amd64_linux_xmlfiles"
112                         fi
113                         srv_tgtobj="$srv_linux_obj linux-x86-low.o i386-low.o i387-fp.o"
114                         srv_tgtobj="${srv_tgtobj} linux-btrace.o"
115                         srv_linux_usrregs=yes
116                         srv_linux_regsets=yes
117                         srv_linux_thread_db=yes
118                         srv_linux_btrace=yes
119                         ipa_obj="${ipa_i386_linux_regobj} linux-i386-ipa.o"
120                         ;;
121   i[34567]86-*-lynxos*) srv_regobj="i386.o"
122                         srv_tgtobj="lynx-low.o lynx-i386-low.o"
123                         srv_xmlfiles="i386/i386.xml"
124                         srv_xmlfiles="${srv_xmlfiles} i386/32bit-core.xml"
125                         srv_xmlfiles="${srv_xmlfiles} i386/32bit-sse.xml"
126                         srv_lynxos=yes
127                         ;;
128   i[34567]86-*-mingw32ce*)
129                         srv_regobj="$srv_i386_regobj"
130                         srv_tgtobj="i386-low.o win32-low.o win32-i386-low.o"
131                         srv_tgtobj="${srv_tgtobj} safe-ctype.o lbasename.o"
132                         srv_tgtobj="${srv_tgtobj} wincecompat.o"
133                         srv_xmlfiles="$srv_i386_xmlfiles"
134                         # hostio_last_error implementation is in win32-low.c
135                         srv_hostio_err_objs=""
136                         srv_mingw=yes
137                         srv_mingwce=yes
138                         ;;
139   i[34567]86-*-mingw*)  srv_regobj="$srv_i386_regobj"
140                         srv_tgtobj="i386-low.o win32-low.o win32-i386-low.o"
141                         srv_tgtobj="${srv_tgtobj} safe-ctype.o lbasename.o"
142                         srv_xmlfiles="$srv_i386_xmlfiles"
143                         srv_mingw=yes
144                         ;;
145   i[34567]86-*-nto*)    srv_regobj="$srv_i386_regobj"
146                         srv_tgtobj="nto-low.o nto-x86-low.o"
147                         srv_xmlfiles="$srv_i386_xmlfiles"
148                         srv_qnx="yes"
149                         ;;
150   ia64-*-linux*)        srv_regobj=reg-ia64.o
151                         srv_tgtobj="$srv_linux_obj linux-ia64-low.o"
152                         srv_linux_usrregs=yes
153                         ;;
154   m32r*-*-linux*)       srv_regobj=reg-m32r.o
155                         srv_tgtobj="$srv_linux_obj linux-m32r-low.o"
156                         srv_linux_usrregs=yes
157                         srv_linux_thread_db=yes
158                         ;;
159   m68*-*-linux*)        if test "$gdb_cv_m68k_is_coldfire" = yes; then
160                           srv_regobj=reg-cf.o
161                         else
162                           srv_regobj=reg-m68k.o
163                         fi
164                         srv_tgtobj="$srv_linux_obj linux-m68k-low.o"
165                         srv_linux_usrregs=yes
166                         srv_linux_regsets=yes
167                         srv_linux_thread_db=yes
168                         ;;
169   m68*-*-uclinux*)      if test "$gdb_cv_m68k_is_coldfire" = yes; then
170                           srv_regobj=reg-cf.o
171                         else
172                           srv_regobj=reg-m68k.o
173                         fi
174                         srv_tgtobj="$srv_linux_obj linux-m68k-low.o"
175                         srv_linux_usrregs=yes
176                         srv_linux_regsets=yes
177                         srv_linux_thread_db=yes
178                         ;;
179   mips*-*-linux*)       srv_regobj="mips-linux.o"
180                         srv_regobj="${srv_regobj} mips-dsp-linux.o"
181                         srv_regobj="${srv_regobj} mips64-linux.o"
182                         srv_regobj="${srv_regobj} mips64-dsp-linux.o"
183                         srv_tgtobj="$srv_linux_obj linux-mips-low.o"
184                         srv_tgtobj="${srv_tgtobj} mips-linux-watch.o"
185                         srv_xmlfiles="mips-linux.xml"
186                         srv_xmlfiles="${srv_xmlfiles} mips-dsp-linux.xml"
187                         srv_xmlfiles="${srv_xmlfiles} mips-cpu.xml"
188                         srv_xmlfiles="${srv_xmlfiles} mips-cp0.xml"
189                         srv_xmlfiles="${srv_xmlfiles} mips-fpu.xml"
190                         srv_xmlfiles="${srv_xmlfiles} mips-dsp.xml"
191                         srv_xmlfiles="${srv_xmlfiles} mips64-linux.xml"
192                         srv_xmlfiles="${srv_xmlfiles} mips64-dsp-linux.xml"
193                         srv_xmlfiles="${srv_xmlfiles} mips64-cpu.xml"
194                         srv_xmlfiles="${srv_xmlfiles} mips64-cp0.xml"
195                         srv_xmlfiles="${srv_xmlfiles} mips64-fpu.xml"
196                         srv_xmlfiles="${srv_xmlfiles} mips64-dsp.xml"
197                         srv_linux_regsets=yes
198                         srv_linux_usrregs=yes
199                         srv_linux_thread_db=yes
200                         ;;
201   nios2*-*-linux*)      srv_regobj="nios2-linux.o"
202                         srv_tgtobj="$srv_linux_obj linux-nios2-low.o"
203                         srv_xmlfiles="nios2-linux.xml"
204                         srv_xmlfiles="${srv_xmlfiles} nios2-cpu.xml"
205                         srv_linux_regsets=yes
206                         srv_linux_usrregs=yes
207                         srv_linux_thread_db=yes
208                         ;;
209   powerpc*-*-linux*)    srv_regobj="powerpc-32l.o"
210                         srv_regobj="${srv_regobj} powerpc-altivec32l.o"
211                         srv_regobj="${srv_regobj} powerpc-cell32l.o"
212                         srv_regobj="${srv_regobj} powerpc-vsx32l.o"
213                         srv_regobj="${srv_regobj} powerpc-isa205-32l.o"
214                         srv_regobj="${srv_regobj} powerpc-isa205-altivec32l.o"
215                         srv_regobj="${srv_regobj} powerpc-isa205-vsx32l.o"
216                         srv_regobj="${srv_regobj} powerpc-e500l.o"
217                         srv_regobj="${srv_regobj} powerpc-64l.o"
218                         srv_regobj="${srv_regobj} powerpc-altivec64l.o"
219                         srv_regobj="${srv_regobj} powerpc-cell64l.o"
220                         srv_regobj="${srv_regobj} powerpc-vsx64l.o"
221                         srv_regobj="${srv_regobj} powerpc-isa205-64l.o"
222                         srv_regobj="${srv_regobj} powerpc-isa205-altivec64l.o"
223                         srv_regobj="${srv_regobj} powerpc-isa205-vsx64l.o"
224                         srv_tgtobj="$srv_linux_obj linux-ppc-low.o"
225                         srv_xmlfiles="rs6000/powerpc-32l.xml"
226                         srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-altivec32l.xml"
227                         srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-cell32l.xml"
228                         srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-vsx32l.xml"
229                         srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa205-32l.xml"
230                         srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa205-altivec32l.xml"
231                         srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa205-vsx32l.xml"
232                         srv_xmlfiles="${srv_xmlfiles} rs6000/power-altivec.xml"
233                         srv_xmlfiles="${srv_xmlfiles} rs6000/power-vsx.xml"
234                         srv_xmlfiles="${srv_xmlfiles} rs6000/power-core.xml"
235                         srv_xmlfiles="${srv_xmlfiles} rs6000/power-linux.xml"
236                         srv_xmlfiles="${srv_xmlfiles} rs6000/power-fpu.xml"
237                         srv_xmlfiles="${srv_xmlfiles} rs6000/power-fpu-isa205.xml"
238                         srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-e500l.xml"
239                         srv_xmlfiles="${srv_xmlfiles} rs6000/power-spe.xml"
240                         srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-64l.xml"
241                         srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-altivec64l.xml"
242                         srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-cell64l.xml"
243                         srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-vsx64l.xml"
244                         srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa205-64l.xml"
245                         srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa205-altivec64l.xml"
246                         srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa205-vsx64l.xml"
247                         srv_xmlfiles="${srv_xmlfiles} rs6000/power64-core.xml"
248                         srv_xmlfiles="${srv_xmlfiles} rs6000/power64-linux.xml"
249                         srv_linux_usrregs=yes
250                         srv_linux_regsets=yes
251                         srv_linux_thread_db=yes
252                         ;;
253   powerpc-*-lynxos*)    srv_regobj="powerpc-32.o"
254                         srv_tgtobj="lynx-low.o lynx-ppc-low.o"
255                         srv_xmlfiles="rs6000/powerpc-32.xml"
256                         srv_xmlfiles="${srv_xmlfiles} rs6000/power-core.xml"
257                         srv_xmlfiles="${srv_xmlfiles} rs6000/power-fpu.xml"
258                         srv_lynxos=yes
259                         ;;
260   s390*-*-linux*)       srv_regobj="s390-linux32.o"
261                         srv_regobj="${srv_regobj} s390-linux32v1.o"
262                         srv_regobj="${srv_regobj} s390-linux32v2.o"
263                         srv_regobj="${srv_regobj} s390-linux64.o"
264                         srv_regobj="${srv_regobj} s390-linux64v1.o"
265                         srv_regobj="${srv_regobj} s390-linux64v2.o"
266                         srv_regobj="${srv_regobj} s390-te-linux64.o"
267                         srv_regobj="${srv_regobj} s390x-linux64.o"
268                         srv_regobj="${srv_regobj} s390x-linux64v1.o"
269                         srv_regobj="${srv_regobj} s390x-linux64v2.o"
270                         srv_regobj="${srv_regobj} s390x-te-linux64.o"
271                         srv_tgtobj="$srv_linux_obj linux-s390-low.o"
272                         srv_xmlfiles="s390-linux32.xml"
273                         srv_xmlfiles="${srv_xmlfiles} s390-linux32v1.xml"
274                         srv_xmlfiles="${srv_xmlfiles} s390-linux32v2.xml"
275                         srv_xmlfiles="${srv_xmlfiles} s390-linux64.xml"
276                         srv_xmlfiles="${srv_xmlfiles} s390-linux64v1.xml"
277                         srv_xmlfiles="${srv_xmlfiles} s390-linux64v2.xml"
278                         srv_xmlfiles="${srv_xmlfiles} s390-te-linux64.xml"
279                         srv_xmlfiles="${srv_xmlfiles} s390x-linux64.xml"
280                         srv_xmlfiles="${srv_xmlfiles} s390x-linux64v1.xml"
281                         srv_xmlfiles="${srv_xmlfiles} s390x-linux64v2.xml"
282                         srv_xmlfiles="${srv_xmlfiles} s390x-te-linux64.xml"
283                         srv_xmlfiles="${srv_xmlfiles} s390-core32.xml"
284                         srv_xmlfiles="${srv_xmlfiles} s390-core64.xml"
285                         srv_xmlfiles="${srv_xmlfiles} s390x-core64.xml"
286                         srv_xmlfiles="${srv_xmlfiles} s390-acr.xml"
287                         srv_xmlfiles="${srv_xmlfiles} s390-fpr.xml"
288                         srv_xmlfiles="${srv_xmlfiles} s390-tdb.xml"
289                         srv_linux_usrregs=yes
290                         srv_linux_regsets=yes
291                         srv_linux_thread_db=yes
292                         ;;
293   sh*-*-linux*)         srv_regobj=reg-sh.o
294                         srv_tgtobj="$srv_linux_obj linux-sh-low.o"
295                         srv_linux_usrregs=yes
296                         srv_linux_regsets=yes
297                         srv_linux_thread_db=yes
298                         ;;
299   sparc*-*-linux*)      srv_regobj=reg-sparc64.o
300                         srv_tgtobj="$srv_linux_obj linux-sparc-low.o"
301                         srv_linux_regsets=yes
302                         srv_linux_thread_db=yes
303                         ;;
304   spu*-*-*)             srv_regobj=reg-spu.o
305                         srv_tgtobj="spu-low.o"
306                         ;;
307   tic6x-*-uclinux)      srv_regobj="tic6x-c64xp-linux.o"
308                         srv_regobj="${srv_regobj} tic6x-c64x-linux.o"
309                         srv_regobj="${srv_regobj} tic6x-c62x-linux.o"
310                         srv_xmlfiles="tic6x-c64xp-linux.xml"
311                         srv_xmlfiles="${srv_xmlfiles} tic6x-c64x-linux.xml"
312                         srv_xmlfiles="${srv_xmlfiles} tic6x-c62x-linux.xml"
313                         srv_xmlfiles="${srv_xmlfiles} tic6x-core.xml"
314                         srv_xmlfiles="${srv_xmlfiles} tic6x-gp.xml"
315                         srv_xmlfiles="${srv_xmlfiles} tic6x-c6xp.xml"
316                         srv_tgtobj="$srv_linux_obj linux-tic6x-low.o"
317                         srv_linux_regsets=yes
318                         srv_linux_usrregs=yes
319                         srv_linux_thread_db=yes
320                         ;;
321   x86_64-*-linux*)      srv_regobj="$srv_amd64_linux_regobj $srv_i386_linux_regobj"
322                         srv_tgtobj="$srv_linux_obj linux-x86-low.o i386-low.o i387-fp.o"
323                         srv_tgtobj="${srv_tgtobj} linux-btrace.o"
324                         srv_xmlfiles="$srv_i386_linux_xmlfiles $srv_amd64_linux_xmlfiles"
325                         srv_linux_usrregs=yes # This is for i386 progs.
326                         srv_linux_regsets=yes
327                         srv_linux_thread_db=yes
328                         srv_linux_btrace=yes
329                         ipa_obj="${ipa_amd64_linux_regobj} linux-amd64-ipa.o"
330                         ;;
331   x86_64-*-mingw*)      srv_regobj="$srv_amd64_regobj"
332                         srv_tgtobj="i386-low.o i387-fp.o win32-low.o win32-i386-low.o"
333                         srv_tgtobj="${srv_tgtobj} safe-ctype.o lbasename.o"
334                         srv_xmlfiles="$srv_i386_xmlfiles $srv_amd64_xmlfiles"
335                         srv_mingw=yes
336                         ;;
337   x86_64-*-cygwin*)     srv_regobj="$srv_amd64_regobj"
338                         srv_tgtobj="i386-low.o i387-fp.o win32-low.o win32-i386-low.o"
339                         srv_tgtobj="${srv_tgtobj} safe-ctype.o lbasename.o"
340                         srv_xmlfiles="$srv_i386_xmlfiles"
341                         ;;
342
343   xtensa*-*-linux*)     srv_regobj=reg-xtensa.o
344                         srv_tgtobj="$srv_linux_obj linux-xtensa-low.o"
345                         srv_linux_regsets=yes
346                         ;;
347   tilegx-*-linux*)      srv_regobj=reg-tilegx.o
348                         srv_regobj="${srv_regobj} reg-tilegx32.o"
349                         srv_tgtobj="$srv_linux_obj linux-tile-low.o"
350                         srv_linux_regsets=yes
351                         srv_linux_thread_db=yes
352                         ;;
353   *)                    echo "Error: target not supported by gdbserver."
354                         exit 1
355                         ;;
356 esac