Fix gdb build on 32-bit hosts w/ --enable-64-bit-bfd
[deliverable/binutils-gdb.git] / gdb / configure.nat
CommitLineData
21ea5acd 1# ; -*- mode: sh ; -*-
e2882c85 2# Copyright (C) 2013-2018 Free Software Foundation, Inc.
21ea5acd
SDJ
3#
4# This file is part of GDB.
5#
6# This program is free software; you can redistribute it and/or modify
7# it under the terms of the GNU General Public License as published by
8# the Free Software Foundation; either version 3 of the License, or
9# (at your option) any later version.
10#
11# This program is distributed in the hope that it will be useful,
12# but WITHOUT ANY WARRANTY; without even the implied warranty of
13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14# GNU General Public License for more details.
15#
16# You should have received a copy of the GNU General Public License
17# along with this program. If not, see <http://www.gnu.org/licenses/>.
18
19# Variables defined here:
20#
21# NAT_FILE - The header file with definitions for this native target.
22#
23# NATDEPFILES - Source files required for native debugging on this
24# native target.
25#
26# NAT_CDEPS - Dynamic symbols to be exported for libthread_db.
27#
28# LOADLIBES - Libraries against which GDB will be linked for this
29# native target.
30#
31# MH_CFLAGS - Additional CFLAGS for this host.
32#
33# XM_CLIBS - Host-dependent libraries against which GDB will be linked
34# for this native target.
35#
36# HAVE_NATIVE_GCORE_HOST - Whether gcore should be installed on this
37# native target.
38#
2b351b19
PA
39# nat_makefile_frag - Name of the (optional) Makefile fragment file
40# required to build the native target. The
41# fragment is incorporated into the Makefile that
42# configure constructs from Makefile.in.
21ea5acd
SDJ
43#
44# Notes:
45#
46# - To avoid shell expansion of variables, declare them with single
47# quotes.
48#
2b351b19 49# - nat_makefile_frag must contain the full path of the file.
21ea5acd
SDJ
50
51
e50f25ec
SDJ
52# This first case is useful for filling default values for each
53# gdb_host.
54case ${gdb_host} in
55 *linux*)
21ea5acd 56 NAT_FILE='config/nm-linux.h'
2090129c 57 NATDEPFILES='inf-ptrace.o fork-child.o fork-inferior.o proc-service.o \
e50f25ec
SDJ
58 linux-thread-db.o linux-nat.o linux-osdata.o linux-fork.o \
59 linux-procfs.o linux-ptrace.o linux-waitpid.o \
60 linux-personality.o linux-namespaces.o'
21ea5acd 61 NAT_CDEPS='$(srcdir)/proc-service.list'
21ea5acd 62 LOADLIBES='-ldl $(RDYNAMIC)'
21ea5acd 63 ;;
e50f25ec 64 fbsd*)
2090129c 65 NATDEPFILES='fork-child.o fork-inferior.o inf-ptrace.o fbsd-nat.o'
e50f25ec 66 HAVE_NATIVE_GCORE_HOST=1
21ea5acd
SDJ
67 LOADLIBES='-lkvm'
68 ;;
e50f25ec 69 nbsd*)
2090129c 70 NATDEPFILES='fork-child.o fork-inferior.o inf-ptrace.o'
28ad437d 71 HAVE_NATIVE_GCORE_HOST=1
21ea5acd 72 ;;
e50f25ec 73 obsd*)
2090129c 74 NATDEPFILES='fork-child.o fork-inferior.o inf-ptrace.o'
21ea5acd 75 ;;
e50f25ec
SDJ
76 cygwin*)
77 NATDEPFILES='x86-nat.o x86-dregs.o windows-nat.o'
21ea5acd 78 ;;
e50f25ec
SDJ
79 mingw*)
80 NATDEPFILES='x86-nat.o x86-dregs.o windows-nat.o'
21ea5acd 81 ;;
3b912944
SM
82 aix)
83 NATDEPFILES='fork-inferior.o fork-child.o inf-ptrace.o'
84 ;;
848d9074
SM
85 darwin)
86 NATDEPFILES='fork-child.o fork-inferior.o darwin-nat.o \
87 darwin-nat-info.o'
281c4447
RO
88 ;;
89 sol2)
90 NATDEPFILES='fork-child.o fork-inferior.o \
91 procfs.o proc-api.o proc-events.o proc-flags.o proc-why.o \
92 sol-thread.o'
93 HAVE_NATIVE_GCORE_HOST=1
848d9074 94 ;;
e50f25ec 95esac
21ea5acd 96
e50f25ec
SDJ
97# This is where we actually filter by host and host CPU.
98case ${gdb_host} in
99 aix)
100 case ${gdb_host_cpu} in
101 powerpc)
102 # Host: IBM PowerPC running AIX aix-thread.o is not
103 # listed in NATDEPFILES as it is pulled in by
104 # configure.
3b912944 105 NATDEPFILES="${NATDEPFILES} rs6000-nat.o"
e50f25ec
SDJ
106
107 # When compiled with cc, for debugging, this argument
108 # should be passed. We have no idea who our current
109 # compiler is though, so we skip it.
110 # MH_CFLAGS='-bnodelcsect'
111 ;;
112 esac
113 ;;
114 alpha-linux)
115 case ${gdb_host_cpu} in
116 alpha)
117 # Host: Little-endian Alpha running Linux
6798487f 118 NATDEPFILES="${NATDEPFILES} linux-nat-trad.o alpha-linux-nat.o"
e50f25ec
SDJ
119 # doublest.c currently assumes some properties of FP arithmetic
120 # on the host which require this.
121 MH_CFLAGS='-mieee'
122 ;;
123 esac
124 ;;
125 cygwin)
126 case ${gdb_host_cpu} in
127 i386)
128 # Native config information for GDB on i386
129 # systems running Cygwin.
130 NATDEPFILES="${NATDEPFILES} i386-windows-nat.o"
131 ;;
132 esac
133 ;;
134 cygwin64)
135 case ${gdb_host_cpu} in
136 i386)
137 # Native config information for GDB on amd64
138 # systems running Cygwin.
139 NATDEPFILES="${NATDEPFILES} amd64-windows-nat.o"
140 ;;
141 esac
142 ;;
143 darwin)
144 case ${gdb_host_cpu} in
145 i386)
146 # Host: IA86 running Darwin
848d9074
SM
147 NATDEPFILES="${NATDEPFILES} i386-darwin-nat.o x86-nat.o \
148 x86-dregs.o amd64-nat.o"
e50f25ec
SDJ
149 ;;
150 esac
151 ;;
152 fbsd)
153 case ${gdb_host_cpu} in
351787dd
JB
154 aarch64)
155 # Host: FreeBSD/aarch64
156 NATDEPFILES="${NATDEPFILES} aarch64-fbsd-nat.o"
157 LOADLIBES=
158 ;;
4f9d9906
JB
159 arm)
160 # Host: FreeBSD/arm
161 NATDEPFILES="${NATDEPFILES} arm-fbsd-nat.o"
162 LOADLIBES=
163 ;;
e50f25ec
SDJ
164 i386)
165 # Host: FreeBSD/i386
166 NATDEPFILES="${NATDEPFILES} x86-nat.o x86-dregs.o \
167 x86-bsd-nat.o i386-bsd-nat.o i386-fbsd-nat.o bsd-kvm.o"
168 NAT_FILE='nm-fbsd.h'
169 ;;
170 mips)
171 # Host: FreeBSD/mips
172 NATDEPFILES="${NATDEPFILES} mips-fbsd-nat.o"
173 LOADLIBES=
174 ;;
175 powerpc)
176 # Native config information for GDB on PowerPC
177 # systems running FreeBSD.
178 NATDEPFILES="${NATDEPFILES} ppc-fbsd-nat.o bsd-kvm.o"
179 ;;
74792ff7
JB
180 riscv*)
181 # Host: FreeBSD/riscv
182 NATDEPFILES="${NATDEPFILES} riscv-fbsd-nat.o"
183 ;;
e50f25ec
SDJ
184 sparc)
185 # Host: FreeBSD/sparc64
186 NATDEPFILES="${NATDEPFILES} sparc-nat.o sparc64-nat.o \
187 sparc64-fbsd-nat.o bsd-kvm.o"
188 ;;
189 esac
190 ;;
191 fbsd64)
192 case ${gdb_host_cpu} in
193 i386)
194 # Host: FreeBSD/amd64
195 NATDEPFILES="${NATDEPFILES} amd64-nat.o amd64-bsd-nat.o \
196 amd64-fbsd-nat.o bsd-kvm.o x86-nat.o x86-dregs.o x86-bsd-nat.o"
197 ;;
198 esac
199 ;;
200 go32)
201 case ${gdb_host_cpu} in
202 i386)
203 # Host: Intel x86 running DJGPP
204 # We include several header files from config/djgpp
205 MH_CFLAGS='-I$(srcdir)/config/djgpp'
206 NATDEPFILES='go32-nat.o x86-nat.o x86-dregs.o'
207 XM_CLIBS='-ldbg'
208 ;;
209 esac
210 ;;
211 i386gnu)
212 case ${gdb_host_cpu} in
213 i386)
214 # Host: Intel 386 running the GNU Hurd
215 NATDEPFILES='i386-gnu-nat.o gnu-nat.o \
21ea5acd
SDJ
216 x86-nat.o x86-dregs.o fork-child.o \
217 notify_S.o process_reply_S.o msg_reply_S.o \
218 msg_U.o exc_request_U.o exc_request_S.o'
e50f25ec 219 HAVE_NATIVE_GCORE_HOST=1
21ea5acd 220
e50f25ec
SDJ
221 NAT_FILE='nm-i386gnu.h'
222 MH_CFLAGS='-D_GNU_SOURCE'
21ea5acd 223
e50f25ec 224 XM_CLIBS='-lshouldbeinlibc'
21ea5acd 225
2b351b19 226 nat_makefile_frag="${srcdir}/config/${gdb_host_cpu}/i386gnu.mn"
e50f25ec
SDJ
227 ;;
228 esac
21ea5acd 229 ;;
e50f25ec
SDJ
230 linux)
231 case ${gdb_host_cpu} in
232 aarch64)
233 # Host: AArch64 based machine running GNU/Linux
234 NATDEPFILES="${NATDEPFILES} aarch64-linux-nat.o \
122394f1
AH
235 aarch32-linux-nat.o aarch64-linux-hw-point.o aarch64-linux.o \
236 aarch64-sve-linux-ptrace.o"
e50f25ec
SDJ
237 ;;
238 arm)
239 # Host: ARM based machine running GNU/Linux
240 NATDEPFILES="${NATDEPFILES} arm-linux-nat.o \
241 aarch32-linux-nat.o"
242 ;;
243 i386)
244 # Host: Intel 386 running GNU/Linux.
245 NATDEPFILES="${NATDEPFILES} x86-nat.o x86-dregs.o \
246 i386-linux-nat.o x86-linux-nat.o linux-btrace.o \
247 x86-linux.o x86-linux-dregs.o"
248 ;;
249 ia64)
250 # Host: Intel IA-64 running GNU/Linux
251 NATDEPFILES="${NATDEPFILES} ia64-linux-nat.o"
252 ;;
253 m32r)
254 # Host: M32R based machine running GNU/Linux
255 NATDEPFILES="${NATDEPFILES} m32r-linux-nat.o"
256 ;;
257 m68k)
258 # Host: Motorola m68k running GNU/Linux.
259 NATDEPFILES="${NATDEPFILES} m68k-linux-nat.o"
260 ;;
261 mips)
262 # Host: Linux/MIPS
6798487f
PA
263 NATDEPFILES="${NATDEPFILES} linux-nat-trad.o \
264 mips-linux-nat.o mips-linux-watch.o"
e50f25ec
SDJ
265 ;;
266 pa)
267 # Host: Hewlett-Packard PA-RISC machine, running Linux
268 NATDEPFILES="${NATDEPFILES} hppa-linux-nat.o"
269 ;;
270 powerpc)
271 # Host: PowerPC, running Linux
2e077f5e 272 NATDEPFILES="${NATDEPFILES} ppc-linux-nat.o ppc-linux.o"
e50f25ec 273 ;;
52a187f8
JW
274 riscv*)
275 # Host: RISC-V, running Linux
276 NATDEPFILES="${NATDEPFILES} riscv-linux-nat.o"
277 ;;
e50f25ec
SDJ
278 s390)
279 # Host: S390, running Linux
280 NATDEPFILES="${NATDEPFILES} s390-linux-nat.o"
281 ;;
282 sparc)
283 # Host: GNU/Linux SPARC
284 NATDEPFILES="${NATDEPFILES} sparc-nat.o sparc-linux-nat.o"
285 ;;
286 tilegx)
287 # Host: Tilera TILE-Gx running GNU/Linux.
288 NATDEPFILES="${NATDEPFILES} tilegx-linux-nat.o"
289 NAT_CDEPS=
290 ;;
291 xtensa)
292 # Host: Xtensa, running GNU/Linux.
293 NATDEPFILES="${NATDEPFILES} xtensa-linux-nat.o"
294 ;;
295 esac
296 ;;
297 linux64)
298 case ${gdb_host_cpu} in
299 i386)
300 # Host: GNU/Linux x86-64
301 NATDEPFILES="${NATDEPFILES} x86-nat.o x86-dregs.o \
302 amd64-nat.o amd64-linux-nat.o x86-linux-nat.o linux-btrace.o \
303 x86-linux.o x86-linux-dregs.o amd64-linux-siginfo.o"
304 ;;
305 sparc)
306 # Host: GNU/Linux UltraSPARC
307 NATDEPFILES="${NATDEPFILES} sparc-nat.o sparc64-nat.o \
308 sparc64-linux-nat.o"
309 ;;
310 esac
311 ;;
312 mingw)
313 case ${gdb_host_cpu} in
314 i386)
315 NATDEPFILES="${NATDEPFILES} i386-windows-nat.o"
316 ;;
317 esac
318 ;;
319 mingw64)
320 case ${gdb_host_cpu} in
321 i386)
322 NATDEPFILES="${NATDEPFILES} amd64-windows-nat.o"
323 ;;
324 esac
325 ;;
326 nbsd)
327 case ${gdb_host_cpu} in
328 alpha)
329 # Host: NetBSD/alpha
330 NATDEPFILES="${NATDEPFILES} alpha-bsd-nat.o bsd-kvm.o"
331 LOADLIBES='-lkvm'
332 ;;
333 mips)
334 # Host: NetBSD/mips
335 NATDEPFILES="${NATDEPFILES} mips-nbsd-nat.o"
336 ;;
337 pa)
338 # Host: NetBSD/hppa
339 NATDEPFILES="${NATDEPFILES} nbsd-nat.o hppa-nbsd-nat.o"
340 ;;
341 powerpc)
342 # Host: NetBSD/powerpc
343 NATDEPFILES="${NATDEPFILES} ppc-nbsd-nat.o bsd-kvm.o"
344 LOADLIBES='-lkvm'
345 ;;
346 sh)
347 # Host: NetBSD/sh
348 NATDEPFILES="${NATDEPFILES} sh-nbsd-nat.o"
349 ;;
350
351 esac
352 ;;
353 nbsd64)
354 case ${gdb_host_cpu} in
355 i386)
356 # Host: NetBSD/amd64
a379bfd0
JB
357 NATDEPFILES="${NATDEPFILES} nbsd-nat.o amd64-nat.o x86-nat.o \
358 x86-dregs.o x86-bsd-nat.o amd64-bsd-nat.o amd64-nbsd-nat.o"
e50f25ec
SDJ
359 ;;
360 sparc)
361 # Host: NetBSD/sparc64
362 NATDEPFILES="${NATDEPFILES} sparc64-nbsd-nat.o sparc-nat.o \
363 bsd-kvm.o"
b9c0e1b4 364 LOADLIBES='-lkvm'
e50f25ec
SDJ
365 ;;
366
367 esac
368 ;;
b9c0e1b4 369 nbsdelf)
e50f25ec
SDJ
370 case ${gdb_host_cpu} in
371 arm)
372 # Host: NetBSD/arm
373 NATDEPFILES="${NATDEPFILES} arm-nbsd-nat.o"
374 ;;
375 i386)
376 # Host: NetBSD/i386 ELF
a379bfd0
JB
377 NATDEPFILES="${NATDEPFILES} nbsd-nat.o x86-nat.o x86-dregs.o \
378 x86-bsd-nat.o i386-bsd-nat.o i386-nbsd-nat.o bsd-kvm.o"
e50f25ec
SDJ
379 LOADLIBES='-lkvm'
380 ;;
381 m68k)
382 # Host: NetBSD/m68k ELF
383 NATDEPFILES="${NATDEPFILES} m68k-bsd-nat.o bsd-kvm.o"
384 LOADLIBES='-lkvm'
385 ;;
386 sparc)
387 # Host: NetBSD/sparc ELF
388 NATDEPFILES="${NATDEPFILES} sparc-nat.o sparc-nbsd-nat.o \
389 bsd-kvm.o"
390 LOADLIBES='-lkvm'
391 ;;
392 vax)
393 # Host: NetBSD/vax ELF
394 NATDEPFILES="${NATDEPFILES} vax-bsd-nat.o bsd-kvm.o"
395 LOADLIBES='-lkvm'
396 ;;
397
398 esac
399 ;;
400 nto)
401 case ${gdb_host_cpu} in
402 i386)
403 # Host: Intel 386 running QNX.
404 NATDEPFILES='nto-procfs.o'
405 NAT_FILE='config/nm-nto.h'
406 ;;
407 esac
408 ;;
409 obsd)
410 case ${gdb_host_cpu} in
411 i386)
412 # Host: OpenBSD/i386 ELF
413 NATDEPFILES="${NATDEPFILES} obsd-nat.o x86-bsd-nat.o \
414 i386-bsd-nat.o i386-obsd-nat.o bsd-kvm.o"
415 LOADLIBES='-lkvm'
416 ;;
417 m68k)
418 # Host: OpenBSD/m68k
419 NATDEPFILES="${NATDEPFILES} m68k-bsd-nat.o bsd-kvm.o"
420 LOADLIBES='-lkvm'
421 ;;
e50f25ec
SDJ
422 pa)
423 # Host: OpenBSD/hppa
424 NATDEPFILES="${NATDEPFILES} obsd-nat.o hppa-obsd-nat.o"
425 ;;
426 powerpc)
427 # Host: OpenBSD/powerpc
428 NATDEPFILES="${NATDEPFILES} obsd-nat.o ppc-obsd-nat.o bsd-kvm.o"
429 LOADLIBES='-lkvm'
430 ;;
431 vax)
432 # Host: OpenBSD/vax
433 NATDEPFILES="${NATDEPFILES} vax-bsd-nat.o bsd-kvm.o"
434 LOADLIBES='-lkvm'
435 ;;
436 esac
437 ;;
438 obsd64)
439 case ${gdb_host_cpu} in
440 i386)
441 # Host: OpenBSD/amd64
442 NATDEPFILES="${NATDEPFILES} obsd-nat.o amd64-nat.o \
443 x86-bsd-nat.o amd64-bsd-nat.o amd64-obsd-nat.o bsd-kvm.o"
444 LOADLIBES='-lkvm'
445 ;;
446 mips)
447 # Host: OpenBSD/mips64
448 NATDEPFILES="${NATDEPFILES} obsd-nat.o mips64-obsd-nat.o"
449 ;;
450 sparc)
451 # Host: OpenBSD/sparc64
452 NATDEPFILES="${NATDEPFILES} obsd-nat.o sparc64-obsd-nat.o \
453 sparc-nat.o bsd-kvm.o"
454 LOADLIBES='-lkvm'
455 ;;
456 esac
457 ;;
458 ppc64-linux)
459 case ${gdb_host_cpu} in
460 powerpc)
461 # Host: PowerPC64, running Linux
462 XM_CLIBS=
463 NATDEPFILES="${NATDEPFILES} ppc-linux-nat.o ppc-linux.o"
464 ;;
465 esac
466 ;;
467 sol2)
468 case ${gdb_host_cpu} in
281c4447
RO
469 i386)
470 # Host: Solaris x86_64
471 NATDEPFILES="${NATDEPFILES} \
8674be79 472 amd64-nat.o i386-sol2-nat.o"
281c4447 473 ;;
e50f25ec
SDJ
474 sparc)
475 # Host: Solaris SPARC & UltraSPARC
476 NAT_FILE='nm-sol2.h'
281c4447 477 NATDEPFILES="${NATDEPFILES} sparc-sol2-nat.o"
e50f25ec
SDJ
478 ;;
479 esac
480 ;;
481 spu-linux)
482 case ${gdb_host_cpu} in
483 powerpc)
484 # Target: Cell BE (PowerPC64 + SPU)
485 # This implements a 'pseudo-native' GDB running on the
486 # PPU side of the Cell BE and debugging the SPU side.
487 NAT_FILE=
488 NAT_CDEPS=
489 LOADLIBES=
d7fcdff9
UW
490 NATDEPFILES='spu-linux-nat.o \
491 inf-ptrace.o fork-child.o fork-inferior.o \
21ea5acd
SDJ
492 linux-procfs.o linux-ptrace.o linux-waitpid.o \
493 linux-personality.o linux-namespaces.o'
e50f25ec
SDJ
494 ;;
495 esac
21ea5acd 496 ;;
21ea5acd 497esac
This page took 0.189884 seconds and 4 git commands to generate.