2 # Copyright (C) 2013-2017 Free Software Foundation, Inc.
4 # This file is part of GDB.
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.
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.
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/>.
19 # Variables defined here:
21 # NAT_FILE - The header file with definitions for this native target.
23 # NATDEPFILES - Source files required for native debugging on this
26 # NAT_CDEPS - Dynamic symbols to be exported for libthread_db.
28 # LOADLIBES - Libraries against which GDB will be linked for this
31 # MH_CFLAGS - Additional CFLAGS for this host.
33 # XM_CLIBS - Host-dependent libraries against which GDB will be linked
34 # for this native target.
36 # HAVE_NATIVE_GCORE_HOST - Whether gcore should be installed on this
39 # nat_extra_makefile_frag - File containing extra fragments of
40 # Makefile that will be used by this native
45 # - To avoid shell expansion of variables, declare them with single
48 # - nat_extra_makefile_frag should contain the full path of the file.
51 case ${gdb_host_cpu} in
55 # Host: AArch64 based machine running GNU/Linux
56 NAT_FILE='config/nm-linux.h'
57 NATDEPFILES='inf-ptrace.o fork-child.o aarch64-linux-nat.o aarch32-linux-nat.o \
58 proc-service.o linux-thread-db.o linux-nat.o linux-fork.o \
59 linux-procfs.o linux-ptrace.o linux-osdata.o linux-waitpid.o \
60 linux-personality.o linux-namespaces.o aarch64-linux-hw-point.o \
62 NAT_CDEPS='$(srcdir)/proc-service.list'
64 LOADLIBES='-ldl $(RDYNAMIC)'
71 # Host: Little-endian Alpha running Linux
72 NAT_FILE='config/nm-linux.h'
73 NATDEPFILES='inf-ptrace.o alpha-linux-nat.o \
74 fork-child.o proc-service.o linux-thread-db.o \
75 linux-nat.o linux-osdata.o linux-fork.o linux-procfs.o linux-ptrace.o \
76 linux-waitpid.o linux-personality.o linux-namespaces.o'
77 NAT_CDEPS='$(srcdir)/proc-service.list'
79 # The dynamically loaded libthread_db needs access to symbols in the
81 LOADLIBES='-ldl $(RDYNAMIC)'
83 # doublest.c currently assumes some properties of FP arithmetic
84 # on the host which require this.
89 NATDEPFILES='fork-child.o inf-ptrace.o alpha-bsd-nat.o bsd-kvm.o'
98 # Host: ARM based machine running GNU/Linux
99 NAT_FILE='config/nm-linux.h'
100 NATDEPFILES='inf-ptrace.o fork-child.o arm-linux-nat.o \
101 aarch32-linux-nat.o proc-service.o linux-thread-db.o \
102 linux-nat.o linux-osdata.o linux-fork.o linux-procfs.o linux-ptrace.o \
103 linux-waitpid.o linux-personality.o linux-namespaces.o'
104 NAT_CDEPS='$(srcdir)/proc-service.list'
106 LOADLIBES='-ldl $(RDYNAMIC)'
110 NATDEPFILES='fork-child.o inf-ptrace.o arm-nbsd-nat.o'
117 # Native config information for GDB on PowerPC systems running FreeBSD.
118 NATDEPFILES='x86-nat.o x86-dregs.o windows-nat.o amd64-windows-nat.o'
122 NATDEPFILES='x86-nat.o x86-dregs.o windows-nat.o i386-windows-nat.o'
126 # Host: IA86 running Darwin
127 NATDEPFILES='fork-child.o darwin-nat.o \
128 i386-darwin-nat.o x86-nat.o x86-dregs.o amd64-nat.o darwin-nat-info.o'
131 # Host: FreeBSD/amd64
132 NATDEPFILES='fork-child.o inf-ptrace.o \
133 fbsd-nat.o amd64-nat.o amd64-bsd-nat.o amd64-fbsd-nat.o \
134 bsd-kvm.o x86-nat.o x86-dregs.o x86-bsd-nat.o'
135 HAVE_NATIVE_GCORE_HOST=1
141 NATDEPFILES='fork-child.o inf-ptrace.o \
142 fbsd-nat.o x86-nat.o x86-dregs.o x86-bsd-nat.o i386-bsd-nat.o \
143 i386-fbsd-nat.o bsd-kvm.o'
145 HAVE_NATIVE_GCORE_HOST=1
150 # Host: Intel x86 running DJGPP
152 # We include several header files from config/djgpp
153 MH_CFLAGS='-I$(srcdir)/config/djgpp'
155 NATDEPFILES='go32-nat.o x86-nat.o x86-dregs.o'
160 # Host: Intel 386 running the GNU Hurd
161 NATDEPFILES='i386-gnu-nat.o gnu-nat.o \
162 x86-nat.o x86-dregs.o fork-child.o \
163 notify_S.o process_reply_S.o msg_reply_S.o \
164 msg_U.o exc_request_U.o exc_request_S.o'
165 HAVE_NATIVE_GCORE_HOST=1
167 NAT_FILE='nm-i386gnu.h'
168 MH_CFLAGS='-D_GNU_SOURCE'
170 XM_CLIBS='-lshouldbeinlibc'
172 nat_extra_makefile_frag="${srcdir}/config/${gdb_host_cpu}/i386gnu.mn"
176 NATDEPFILES='fork-child.o i386-v4-nat.o i386-sol2-nat.o \
177 procfs.o proc-api.o proc-events.o proc-flags.o proc-why.o'
178 HAVE_NATIVE_GCORE_HOST=1
181 # Host: GNU/Linux x86-64
182 NATDEPFILES='inf-ptrace.o fork-child.o \
183 x86-nat.o x86-dregs.o amd64-nat.o amd64-linux-nat.o \
185 linux-nat.o linux-osdata.o \
186 proc-service.o linux-thread-db.o linux-fork.o \
187 linux-procfs.o linux-ptrace.o linux-btrace.o \
188 linux-waitpid.o linux-personality.o x86-linux.o \
189 x86-linux-dregs.o amd64-linux-siginfo.o linux-namespaces.o'
190 NAT_FILE='config/nm-linux.h'
191 NAT_CDEPS='$(srcdir)/proc-service.list'
193 # The dynamically loaded libthread_db needs access to symbols in the
195 LOADLIBES='-ldl $(RDYNAMIC)'
198 # Host: Intel 386 running GNU/Linux.
199 NAT_FILE='config/nm-linux.h'
200 NATDEPFILES='inf-ptrace.o fork-child.o \
201 x86-nat.o x86-dregs.o i386-linux-nat.o x86-linux-nat.o \
202 proc-service.o linux-thread-db.o \
203 linux-nat.o linux-osdata.o linux-fork.o linux-procfs.o linux-ptrace.o \
204 linux-btrace.o linux-waitpid.o linux-personality.o x86-linux.o \
205 x86-linux-dregs.o linux-namespaces.o'
206 NAT_CDEPS='$(srcdir)/proc-service.list'
208 # The dynamically loaded libthread_db needs access to symbols in the
210 LOADLIBES='-ldl $(RDYNAMIC)'
213 NATDEPFILES='x86-nat.o x86-dregs.o windows-nat.o amd64-windows-nat.o'
217 NATDEPFILES='x86-nat.o x86-dregs.o windows-nat.o i386-windows-nat.o'
222 NATDEPFILES='fork-child.o inf-ptrace.o \
223 nbsd-nat.o amd64-nat.o x86-bsd-nat.o amd64-bsd-nat.o amd64-nbsd-nat.o'
226 # Host: NetBSD/i386 ELF
227 NATDEPFILES='fork-child.o inf-ptrace.o \
228 nbsd-nat.o x86-bsd-nat.o i386-bsd-nat.o i386-nbsd-nat.o bsd-kvm.o'
233 # Host: Intel 386 running QNX.
234 NATDEPFILES='nto-procfs.o'
235 NAT_FILE='config/nm-nto.h'
238 # Host: OpenBSD/amd64
239 NATDEPFILES='fork-child.o inf-ptrace.o obsd-nat.o \
240 amd64-nat.o x86-bsd-nat.o amd64-bsd-nat.o amd64-obsd-nat.o bsd-kvm.o'
245 # Host: OpenBSD/i386 ELF
246 NATDEPFILES='fork-child.o inf-ptrace.o obsd-nat.o \
247 x86-bsd-nat.o i386-bsd-nat.o i386-obsd-nat.o bsd-kvm.o'
252 # Host: Solaris x86_64
253 NATDEPFILES='fork-child.o amd64-nat.o i386-v4-nat.o i386-sol2-nat.o \
254 procfs.o proc-api.o proc-events.o proc-flags.o proc-why.o'
255 HAVE_NATIVE_GCORE_HOST=1
262 # Host: Intel IA-64 running GNU/Linux
263 NAT_FILE='config/nm-linux.h'
264 NATDEPFILES='inf-ptrace.o fork-child.o \
266 proc-service.o linux-thread-db.o \
267 linux-nat.o linux-osdata.o linux-fork.o \
268 linux-personality.o \
269 linux-procfs.o linux-ptrace.o linux-waitpid.o \
271 NAT_CDEPS='$(srcdir)/proc-service.list'
273 LOADLIBES='-ldl $(RDYNAMIC)'
280 # Host: M32R based machine running GNU/Linux
281 NAT_FILE='config/nm-linux.h'
282 NATDEPFILES='inf-ptrace.o fork-child.o \
283 m32r-linux-nat.o proc-service.o linux-thread-db.o \
284 linux-nat.o linux-osdata.o linux-fork.o linux-procfs.o linux-ptrace.o \
285 linux-waitpid.o linux-personality.o linux-namespaces.o'
286 NAT_CDEPS='$(srcdir)/proc-service.list'
288 LOADLIBES='-ldl $(RDYNAMIC)'
295 # Host: Motorola m68k running GNU/Linux.
296 NAT_FILE='config/nm-linux.h'
297 NATDEPFILES='inf-ptrace.o fork-child.o \
299 proc-service.o linux-thread-db.o \
300 linux-nat.o linux-osdata.o linux-fork.o linux-procfs.o linux-ptrace.o \
301 linux-personality.o \
302 linux-waitpid.o linux-namespaces.o'
303 NAT_CDEPS='$(srcdir)/proc-service.list'
305 # The dynamically loaded libthread_db needs access to symbols in the
307 LOADLIBES='-ldl $(RDYNAMIC)'
310 # Host: NetBSD/m68k ELF
311 NATDEPFILES='m68k-bsd-nat.o bsd-kvm.o fork-child.o inf-ptrace.o'
317 NATDEPFILES='m68k-bsd-nat.o bsd-kvm.o fork-child.o inf-ptrace.o'
327 NATDEPFILES='fork-child.o inf-ptrace.o m88k-bsd-nat.o'
335 NATDEPFILES='fork-child.o inf-ptrace.o fbsd-nat.o mips-fbsd-nat.o'
336 HAVE_NATIVE_GCORE_HOST=1
340 NAT_FILE='config/nm-linux.h'
341 NATDEPFILES='inf-ptrace.o fork-child.o mips-linux-nat.o \
342 linux-thread-db.o proc-service.o \
343 linux-nat.o linux-osdata.o linux-fork.o \
344 linux-procfs.o linux-ptrace.o linux-waitpid.o \
345 linux-personality.o \
346 mips-linux-watch.o linux-namespaces.o'
347 NAT_CDEPS='$(srcdir)/proc-service.list'
349 LOADLIBES='-ldl $(RDYNAMIC)'
353 NATDEPFILES='fork-child.o inf-ptrace.o mips-nbsd-nat.o'
356 # Host: OpenBSD/mips64
357 NATDEPFILES='fork-child.o inf-ptrace.o obsd-nat.o mips64-obsd-nat.o'
364 # Host: Hewlett-Packard PA-RISC machine, running Linux
365 NAT_FILE='config/nm-linux.h'
366 NATDEPFILES='inf-ptrace.o fork-child.o \
367 hppa-linux-nat.o proc-service.o linux-thread-db.o \
368 linux-nat.o linux-osdata.o linux-fork.o \
369 linux-procfs.o linux-ptrace.o linux-waitpid.o \
370 linux-personality.o linux-namespaces.o'
371 NAT_CDEPS='$(srcdir)/proc-service.list'
373 LOADLIBES='-ldl $(RDYNAMIC)'
377 NATDEPFILES='fork-child.o inf-ptrace.o nbsd-nat.o hppa-nbsd-nat.o'
381 NATDEPFILES='fork-child.o inf-ptrace.o obsd-nat.o hppa-obsd-nat.o'
388 # Host: IBM PowerPC running AIX
389 # aix-thread.o is not listed in NATDEPFILES as it is pulled in by configure.
390 NATDEPFILES='fork-child.o inf-ptrace.o rs6000-nat.o'
392 # When compiled with cc, for debugging, this argument should be passed.
393 # We have no idea who our current compiler is though, so we skip it.
394 # MH_CFLAGS='-bnodelcsect'
397 # Native config information for GDB on PowerPC systems running FreeBSD.
398 NATDEPFILES='fbsd-nat.o fork-child.o inf-ptrace.o ppc-fbsd-nat.o bsd-kvm.o'
399 HAVE_NATIVE_GCORE_HOST=1
404 # Host: PowerPC, running Linux
407 NAT_FILE='config/nm-linux.h'
408 NATDEPFILES='inf-ptrace.o fork-child.o \
409 ppc-linux-nat.o proc-service.o linux-thread-db.o \
410 linux-nat.o linux-osdata.o linux-fork.o linux-procfs.o linux-ptrace.o \
411 linux-waitpid.o linux-personality.o linux-namespaces.o'
412 NAT_CDEPS='$(srcdir)/proc-service.list'
414 LOADLIBES='-ldl $(RDYNAMIC)'
417 # Host: NetBSD/powerpc
418 NATDEPFILES='fork-child.o inf-ptrace.o ppc-nbsd-nat.o bsd-kvm.o'
423 # Host: OpenBSD/powerpc
424 NATDEPFILES='fork-child.o inf-ptrace.o obsd-nat.o ppc-obsd-nat.o bsd-kvm.o'
429 # Host: PowerPC64, running Linux
432 NAT_FILE='config/nm-linux.h'
433 NATDEPFILES='inf-ptrace.o fork-child.o \
434 ppc-linux-nat.o proc-service.o linux-thread-db.o \
435 linux-nat.o linux-osdata.o linux-fork.o linux-procfs.o linux-ptrace.o \
436 linux-waitpid.o ppc-linux.o linux-personality.o \
438 NAT_CDEPS='$(srcdir)/proc-service.list'
440 # The dynamically loaded libthread_db needs access to symbols in the
442 LOADLIBES='-ldl $(RDYNAMIC)'
445 # Target: Cell BE (PowerPC64 + SPU)
446 # This implements a 'pseudo-native' GDB running on the
447 # PPU side of the Cell BE and debugging the SPU side.
449 NATDEPFILES='spu-linux-nat.o fork-child.o inf-ptrace.o \
450 linux-procfs.o linux-ptrace.o linux-waitpid.o \
451 linux-personality.o linux-namespaces.o'
458 # Host: S390, running Linux
459 NAT_FILE='config/nm-linux.h'
460 NATDEPFILES='inf-ptrace.o fork-child.o s390-linux-nat.o \
461 linux-thread-db.o proc-service.o \
462 linux-nat.o linux-osdata.o linux-fork.o linux-procfs.o linux-ptrace.o \
463 linux-personality.o \
464 linux-waitpid.o linux-namespaces.o'
465 NAT_CDEPS='$(srcdir)/proc-service.list'
466 LOADLIBES='-ldl $(RDYNAMIC)'
474 NATDEPFILES='fork-child.o inf-ptrace.o sh-nbsd-nat.o'
481 # Host: FreeBSD/sparc64
482 NATDEPFILES='fork-child.o inf-ptrace.o \
483 fbsd-nat.o sparc-nat.o sparc64-nat.o sparc64-fbsd-nat.o \
485 HAVE_NATIVE_GCORE_HOST=1
490 # Host: GNU/Linux UltraSPARC
491 NAT_FILE='config/nm-linux.h'
492 NATDEPFILES='sparc-nat.o sparc64-nat.o sparc64-linux-nat.o \
493 fork-child.o inf-ptrace.o \
494 proc-service.o linux-thread-db.o \
495 linux-nat.o linux-osdata.o linux-fork.o \
496 linux-procfs.o linux-ptrace.o linux-waitpid.o \
497 linux-personality.o linux-namespaces.o'
498 NAT_CDEPS='$(srcdir)/proc-service.list'
500 # The dynamically loaded libthread_db needs access to symbols in the
502 LOADLIBES='-ldl $(RDYNAMIC)'
505 # Host: GNU/Linux SPARC
506 NAT_FILE='config/nm-linux.h'
507 NATDEPFILES='sparc-nat.o sparc-linux-nat.o \
508 fork-child.o inf-ptrace.o \
509 proc-service.o linux-thread-db.o \
510 linux-nat.o linux-osdata.o linux-fork.o \
511 linux-procfs.o linux-ptrace.o linux-waitpid.o \
512 linux-personality.o linux-namespaces.o'
513 NAT_CDEPS='$(srcdir)/proc-service.list'
515 # The dynamically loaded libthread_db needs access to symbols in the
517 LOADLIBES='-ldl $(RDYNAMIC)'
520 # Host: NetBSD/sparc64
521 NATDEPFILES='fork-child.o inf-ptrace.o \
522 sparc64-nbsd-nat.o sparc-nat.o bsd-kvm.o'
527 # Host: NetBSD/sparc ELF
528 NATDEPFILES='fork-child.o inf-ptrace.o \
529 sparc-nat.o sparc-nbsd-nat.o bsd-kvm.o'
534 # Host: OpenBSD/sparc64
535 NATDEPFILES='fork-child.o inf-ptrace.o obsd-nat.o \
536 sparc64-obsd-nat.o sparc-nat.o bsd-kvm.o'
541 # Host: Solaris SPARC & UltraSPARC
543 NATDEPFILES='sparc-sol2-nat.o \
545 procfs.o proc-api.o proc-events.o proc-flags.o proc-why.o'
546 HAVE_NATIVE_GCORE_HOST=1
553 # Host: Tilera TILE-Gx running GNU/Linux.
554 NAT_FILE='config/nm-linux.h'
555 NATDEPFILES='inf-ptrace.o fork-child.o \
557 proc-service.o linux-thread-db.o \
558 linux-nat.o linux-osdata.o linux-fork.o \
559 linux-procfs.o linux-ptrace.o linux-waitpid.o \
560 linux-personality.o linux-namespaces.o'
562 # The dynamically loaded libthread_db needs access to symbols in the
564 LOADLIBES='-ldl $(RDYNAMIC)'
571 # Host: NetBSD/vax ELF
572 NATDEPFILES='fork-child.o inf-ptrace.o \
573 vax-bsd-nat.o bsd-kvm.o'
579 NATDEPFILES='fork-child.o inf-ptrace.o \
580 vax-bsd-nat.o bsd-kvm.o'
589 # Host: Xtensa, running GNU/Linux.
590 NAT_FILE='config/nm-linux.h'
592 NATDEPFILES='inf-ptrace.o fork-child.o xtensa-linux-nat.o \
593 linux-thread-db.o proc-service.o \
594 linux-nat.o linux-osdata.o linux-fork.o linux-procfs.o linux-ptrace.o \
595 linux-waitpid.o linux-personality.o linux-namespaces.o'
596 NAT_CDEPS='$(srcdir)/proc-service.list'
598 LOADLIBES='-ldl $(RDYNAMIC)'