1# Mappings from configurations to GDB target definitions.  This is
2# invoked from the autoconf generated configure script.
3
4# This file sets the following shell variables:
5#  gdb_target_obs	target-specific object files to use
6#  gdb_sim		simulator library for target
7#  gdb_osabi		default OS ABI to use with target
8#  gdb_have_gcore	set to "true"/"false" if this target can run gcore
9
10# NOTE: Every file added to a gdb_target_obs variable for any target here
11#       must also be added to either ALL_TARGET_OBS or ALL_64_TARGET_OBS
12#	in Makefile.in!
13
14case $targ in
15 *-*-irix* | \
16 *-*-solaris2.[01] | *-*-solaris2.[2-9]* | *-*-solaris2.10* | \
17 *-*-netbsdpe* | \
18 alpha*-*-osf* | \
19 alpha*-*-freebsd* | \
20 alpha*-*-kfreebsd*-gnu | \
21 d10v-*-* | \
22 hppa*-*-hiux* | \
23 i[34567]86-ncr-* | \
24 m68*-cisco*-* | \
25 m68*-tandem-* | \
26 m68*-*-os68k* | \
27 mips*-*-pe | \
28 rs6000-*-lynxos* | \
29 score-*-* | \
30 sh*-*-pe | \
31 hppa*-*-hpux* | \
32 ia64-*-hpux* | \
33 *-*-vxworks* | \
34 mt-*-* | \
35 null)
36    echo "*** Configuration $targ is obsolete." >&2
37    echo "*** Support has been REMOVED." >&2
38    exit 1
39    ;;
40esac
41
42x86_tobjs="x86-tdep.o"
43i386_tobjs="i386-tdep.o arch/i386.o i387-tdep.o ${x86_tobjs}"
44amd64_tobjs="ravenscar-thread.o amd64-ravenscar-thread.o \
45    amd64-tdep.o arch/amd64.o ${x86_tobjs}"
46
47# Here are three sections to get a list of target specific object
48# files according to target triplet $TARG.
49
50# 1. Get the objects per cpu in $TARG.
51
52case "${targ}" in
53aarch64*-*-*)
54	cpu_obs="aarch32-tdep.o aarch64-tdep.o arch/aarch32.o \
55		 arch/aarch64-insn.o arch/aarch64.o  ravenscar-thread.o \
56		 aarch64-ravenscar-thread.o";;
57
58alpha*-*-*)
59	# Target: Alpha
60	cpu_obs="alpha-tdep.o"
61	;;
62
63arc*-*-*)
64	# Target: Unidentified ARC target
65	cpu_obs="arc-tdep.o arch/arc.o"
66	;;
67
68arm*-*-*)
69	cpu_obs="aarch32-tdep.o arch/aarch32.o arch/arm.o \
70		 arch/arm-get-next-pcs.o arm-tdep.o arm-none-tdep.o"
71	;;
72
73hppa*-*-*)
74	# Target: HP PA-RISC
75	cpu_obs="hppa-tdep.o"
76	;;
77
78i[34567]86-*-*)
79	cpu_obs="${i386_tobjs}"
80	if test "x$enable_64_bit_bfd" = "xyes"; then
81	   cpu_obs="${amd64_tobjs} ${cpu_obs}"
82	fi
83	;;
84
85ia16*-*-*)
86	# Target: Intel IA-16
87	cpu_obs="${i386_tobjs}"
88	;;
89
90ia64*-*-*)
91	# Target: Intel IA-64
92	cpu_obs="ia64-tdep.o"
93	;;
94
95loongarch*-*-*)
96	# Target: LoongArch baremetal
97	cpu_obs="loongarch-tdep.o arch/loongarch.o"
98	;;
99
100riscv*-*-*)
101	cpu_obs="riscv-tdep.o riscv-none-tdep.o arch/riscv.o \
102	         ravenscar-thread.o riscv-ravenscar-thread.o";;
103
104x86_64-*-*)
105	cpu_obs="${i386_tobjs} ${amd64_tobjs}";;
106
107xtensa*)
108	# Target: Tensilica Xtensa processors
109	cpu_obs="xtensa-tdep.o xtensa-config.o solib-svr4.o"
110	;;
111
112esac
113
114# 2. Get the objects per os in $TARG.
115
116case "${targ}" in
117*-*-freebsd* | *-*-kfreebsd*-gnu)
118	os_obs="fbsd-tdep.o solib-svr4.o";;
119*-*-netbsd* | *-*-knetbsd*-gnu)
120	os_obs="netbsd-tdep.o solib-svr4.o";;
121*-*-openbsd*)
122	os_obs="obsd-tdep.o solib-svr4.o";;
123esac
124
125# 3. Get the rest of objects.
126
127case "${targ}" in
128aarch64*-*-elf | aarch64*-*-rtems*)
129	# Target: AArch64 embedded system
130	gdb_target_obs="aarch64-newlib-tdep.o"
131	;;
132
133aarch64*-*-freebsd*)
134	# Target: FreeBSD/aarch64
135	gdb_target_obs="aarch64-fbsd-tdep.o"
136	;;
137
138aarch64*-*-linux*)
139	# Target: AArch64 linux
140	gdb_target_obs="aarch64-linux-tdep.o arch/aarch64.o\
141			arch/aarch64-mte-linux.o \
142			arch/arm.o arch/arm-linux.o arch/arm-get-next-pcs.o \
143			arm-tdep.o arm-linux-tdep.o \
144			glibc-tdep.o linux-tdep.o solib-svr4.o \
145			symfile-mem.o linux-record.o"
146	;;
147
148aarch64*-*-netbsd*)
149	# Target: AArch64 NetBSD
150	gdb_target_obs="aarch64-tdep.o aarch64-netbsd-tdep.o \
151			arch/aarch64-insn.o"
152	;;
153
154alpha*-*-linux*)
155	# Target: Little-endian Alpha running Linux
156	gdb_target_obs="alpha-mdebug-tdep.o alpha-linux-tdep.o \
157			linux-tdep.o solib-svr4.o"
158	;;
159alpha*-*-netbsd* | alpha*-*-knetbsd*-gnu)
160	# Target: NetBSD/alpha
161	gdb_target_obs="alpha-mdebug-tdep.o alpha-bsd-tdep.o \
162			alpha-netbsd-tdep.o"
163	;;
164alpha*-*-openbsd*)
165	# Target: OpenBSD/alpha
166	gdb_target_obs="alpha-mdebug-tdep.o alpha-bsd-tdep.o \
167			alpha-netbsd-tdep.o alpha-obsd-tdep.o netbsd-tdep.o"
168	;;
169
170am33_2.0*-*-linux*)
171	# Target: Matsushita mn10300 (AM33) running Linux
172	gdb_target_obs="mn10300-tdep.o mn10300-linux-tdep.o linux-tdep.o \
173			solib-svr4.o"
174	;;
175
176arc*-*-elf32)
177	# Target: baremetal ARC elf32 (newlib) target
178	gdb_target_obs="arc-newlib-tdep.o"
179	;;
180
181arc*-*-linux*)
182	# Target: ARC machine running Linux
183	gdb_target_obs="arc-linux-tdep.o linux-tdep.o solib-svr4.o"
184	;;
185
186arm*-wince-pe | arm*-*-mingw32ce*)
187	# Target: ARM based machine running Windows CE (win32)
188	gdb_target_obs="arm-wince-tdep.o windows-tdep.o"
189	;;
190arm*-*-linux*)
191	# Target: ARM based machine running GNU/Linux
192	gdb_target_obs="arch/arm-linux.o arm-linux-tdep.o glibc-tdep.o \
193			solib-svr4.o symfile-mem.o linux-tdep.o linux-record.o"
194	;;
195arm*-*-freebsd*)
196	# Target: FreeBSD/arm
197	gdb_target_obs="arm-fbsd-tdep.o"
198	;;
199arm*-*-netbsd* | arm*-*-knetbsd*-gnu)
200	# Target: NetBSD/arm
201	gdb_target_obs="arm-netbsd-tdep.o"
202	;;
203arm*-*-openbsd*)
204	# Target: OpenBSD/arm
205	gdb_target_obs="arm-bsd-tdep.o arm-obsd-tdep.o"
206	;;
207arm*-*-*)
208	# Target: ARM embedded system
209	gdb_target_obs="arm-pikeos-tdep.o"
210	;;
211
212avr-*-*)
213	# Target: AVR
214	gdb_target_obs="avr-tdep.o"
215	;;
216
217bfin-*-*linux*)
218	# Target: Blackfin Linux
219	gdb_target_obs="bfin-tdep.o bfin-linux-tdep.o linux-tdep.o"
220	;;
221bfin-*-*)
222	# Target: Blackfin processor
223	gdb_target_obs="bfin-tdep.o"
224	;;
225
226bpf-*-*)
227	# Target: eBPF
228	gdb_target_obs="bpf-tdep.o"
229	;;
230
231cris*)
232	# Target: CRIS
233	gdb_target_obs="cris-tdep.o cris-linux-tdep.o linux-tdep.o solib-svr4.o"
234	;;
235
236csky*-*-linux*)
237	# Target: CSKY running GNU/Linux
238	gdb_target_obs="csky-tdep.o csky-linux-tdep.o glibc-tdep.o \
239			linux-tdep.o solib-svr4.o"
240	;;
241
242csky*-*-*)
243	# Target: CSKY bare metal
244	gdb_target_obs="csky-tdep.o"
245	;;
246
247frv-*-*)
248	# Target: Fujitsu FRV processor
249	gdb_target_obs="frv-tdep.o frv-linux-tdep.o linux-tdep.o solib-frv.o"
250	;;
251
252moxie-*-elf | moxie-*-moxiebox | moxie-*-rtems*)
253	gdb_target_obs="moxie-tdep.o"
254	;;
255
256h8300-*-*)
257	# Target: H8300 processor
258	gdb_target_obs="h8300-tdep.o"
259	;;
260
261hppa*-*-linux*)
262	# Target: HP PA-RISC running Linux
263	gdb_target_obs="hppa-linux-tdep.o glibc-tdep.o \
264			linux-tdep.o solib-svr4.o symfile-mem.o"
265	;;
266hppa*-*-netbsd*)
267	# Target: NetBSD/hppa
268	gdb_target_obs="hppa-bsd-tdep.o hppa-netbsd-tdep.o"
269	;;
270hppa*-*-openbsd*)
271	# Target: OpenBSD/hppa
272	gdb_target_obs="hppa-bsd-tdep.o hppa-obsd-tdep.o solib-svr4.o"
273	;;
274
275i[34567]86-*-darwin*)
276	# Target: Darwin/i386
277	gdb_target_obs="i386-darwin-tdep.o solib-darwin.o"
278	if test "x$enable_64_bit_bfd" = "xyes"; then
279	    # Target: GNU/Linux x86-64
280	    gdb_target_obs="amd64-darwin-tdep.o ${gdb_target_obs}"
281	fi
282	;;
283i[34567]86-*-dicos*)
284	# Target: DICOS/i386
285	gdb_target_obs="dicos-tdep.o i386-dicos-tdep.o"
286	;;
287i[34567]86-*-freebsd* | i[34567]86-*-kfreebsd*-gnu)
288	# Target: FreeBSD/i386
289	gdb_target_obs="i386-bsd-tdep.o i386-fbsd-tdep.o "
290	;;
291i[34567]86-*-netbsd* | i[34567]86-*-knetbsd*-gnu)
292	# Target: NetBSD/i386
293	gdb_target_obs="i386-bsd-tdep.o i386-netbsd-tdep.o "
294	;;
295i[34567]86-*-openbsd*)
296	# Target: OpenBSD/i386
297	gdb_target_obs="i386-bsd-tdep.o i386-obsd-tdep.o bsd-uthread.o"
298	;;
299i[34567]86-*-nto*)
300	# Target: Intel 386 running qnx6.
301	gdb_target_obs="solib-svr4.o \
302			i386-nto-tdep.o nto-tdep.o"
303	;;
304i[34567]86-*-solaris2* | x86_64-*-solaris2*)
305	# Target: Solaris x86_64
306	gdb_target_obs="${i386_tobjs} ${amd64_tobjs} \
307			 amd64-sol2-tdep.o i386-sol2-tdep.o sol2-tdep.o \
308			 solib-svr4.o"
309	;;
310i[34567]86-*-linux*)
311	# Target: Intel 386 running GNU/Linux
312	gdb_target_obs="i386-linux-tdep.o \
313			glibc-tdep.o \
314			solib-svr4.o symfile-mem.o \
315			linux-tdep.o linux-record.o"
316	if test "x$enable_64_bit_bfd" = "xyes"; then
317	    # Target: GNU/Linux x86-64
318	    gdb_target_obs="amd64-linux-tdep.o ${gdb_target_obs}"
319	fi
320	;;
321i[34567]86-*-gnu*)
322	# Target: Intel 386 running the GNU Hurd
323	gdb_target_obs="i386-gnu-tdep.o solib-svr4.o"
324	;;
325i[34567]86-*-cygwin*)
326	# Target: Intel 386 running win32
327	gdb_target_obs="i386-windows-tdep.o windows-tdep.o"
328	;;
329i[34567]86-*-mingw32*)
330	# Target: Intel 386 running win32
331	gdb_target_obs="i386-windows-tdep.o windows-tdep.o"
332	;;
333i[34567]86-*-go32* | i[34567]86-*-msdosdjgpp*)
334	# Target: i386 running DJGPP/go32.
335	gdb_target_obs="i386-go32-tdep.o"
336	;;
337
338ia64-*-linux*)
339	# Target: Intel IA-64 running GNU/Linux
340	gdb_target_obs="ia64-linux-tdep.o linux-tdep.o \
341			solib-svr4.o symfile-mem.o"
342	;;
343ia64-*-*vms*)
344	# Target: Intel IA-64 running OpenVMS
345	gdb_target_obs="ia64-vms-tdep.o"
346	;;
347
348ia64-*-netbsd*)
349	# Target: Intel IA-64 running netbsd
350	gdb_target_obs="ia64-netbsd-tdep.o"
351	;;
352
353iq2000-*-*)
354	gdb_target_obs="iq2000-tdep.o"
355	;;
356
357lm32-*-*)		
358	gdb_target_obs="lm32-tdep.o" 
359	;;
360
361loongarch*-*-linux*)
362	# Target: LoongArch running Linux
363	gdb_target_obs="loongarch-linux-tdep.o glibc-tdep.o \
364			linux-tdep.o solib-svr4.o"
365	;;
366
367m32c-*-*)
368	# Target: Renesas M32C family
369	gdb_target_obs="m32c-tdep.o"
370	;;
371
372m32r*-*-linux*)
373	# Target: Renesas M32R running GNU/Linux
374	gdb_target_obs="m32r-tdep.o m32r-linux-tdep.o \
375			glibc-tdep.o solib-svr4.o symfile-mem.o \
376			linux-tdep.o"
377	;;
378m32r*-*-*)
379	# Target: Renesas m32r processor
380	gdb_target_obs="m32r-tdep.o"
381	;;
382
383m68hc11*-*-*|m6811*-*-*)
384	# Target: Motorola 68HC11 processor
385	gdb_target_obs="m68hc11-tdep.o"
386	;;
387
388m68*-*-aout* | m68*-*-coff* | m68*-*-elf* | m68*-*-rtems* | m68*-*-uclinux* | \
389fido-*-elf*)
390	# Target: Motorola m68k embedded
391	gdb_target_obs="m68k-tdep.o"
392	;;
393m68*-*-linux*)
394	# Target: Motorola m68k with a.out and ELF
395	gdb_target_obs="m68k-tdep.o m68k-linux-tdep.o solib-svr4.o \
396			linux-tdep.o glibc-tdep.o symfile-mem.o"
397	;;
398m68*-*-netbsd* | m68*-*-knetbsd*-gnu | m5407-*-netbsd*)
399	# Target: NetBSD/m68k
400	gdb_target_obs="m68k-tdep.o m68k-bsd-tdep.o"
401	;;
402m68*-*-openbsd*)
403	# Target: OpenBSD/m68k
404	gdb_target_obs="m68k-tdep.o m68k-bsd-tdep.o"
405	;;
406
407mep-*-*)
408	# Target: Toshiba Media Processor (MEP)
409	gdb_target_obs="mep-tdep.o"
410	# No sim needed. Target uses SID.
411	;;
412
413microblaze*-linux-*|microblaze*-*-linux*)
414	# Target: Xilinx MicroBlaze running Linux
415	gdb_target_obs="microblaze-tdep.o microblaze-linux-tdep.o solib-svr4.o \
416			symfile-mem.o linux-tdep.o"
417	;;
418microblaze*-*-*)
419	# Target: Xilinx MicroBlaze running standalone
420	gdb_target_obs="microblaze-tdep.o"
421	;;
422
423mips*-*-linux*)
424	# Target: Linux/MIPS
425	gdb_target_obs="mips-tdep.o mips-linux-tdep.o glibc-tdep.o \
426			solib-svr4.o symfile-mem.o linux-tdep.o"
427	;;
428mips*-*-netbsd* | mips*-*-knetbsd*-gnu)
429	# Target: MIPS running NetBSD
430	gdb_target_obs="mips-tdep.o mips-netbsd-tdep.o"
431	;;
432mips*-*-freebsd*)
433	# Target: MIPS running FreeBSD
434	gdb_target_obs="mips-tdep.o mips-fbsd-tdep.o"
435	;;
436mips64*-*-openbsd*)
437	# Target: OpenBSD/mips64
438	gdb_target_obs="mips-tdep.o mips64-obsd-tdep.o"
439	;;
440mips*-sde*-elf*)
441	# Target: MIPS SDE
442	gdb_target_obs="mips-tdep.o mips-sde-tdep.o"
443	;;
444mips*-*-elf)
445	# Target: MIPS ELF
446	gdb_target_obs="mips-tdep.o"
447	;;
448mips*-*-*)
449	# Target: MIPS
450	gdb_target_obs="mips-tdep.o"
451	;;
452
453mn10300-*-*)
454	# Target: Matsushita mn10300
455	gdb_target_obs="mn10300-tdep.o"
456	;;
457
458msp430-*-elf*)
459	gdb_target_obs="msp430-tdep.o"
460	;;
461
462nds32*-*-elf)
463	# Target: AndesTech NDS32 core
464	gdb_target_obs="nds32-tdep.o"
465	;;
466
467nios2*-*-linux*)
468	# Target: Altera Nios II running Linux
469	gdb_target_obs="nios2-tdep.o nios2-linux-tdep.o solib-svr4.o \
470			symfile-mem.o glibc-tdep.o linux-tdep.o"
471	;;
472
473nios2*-*-*)
474	# Target: Altera Nios II bare-metal
475	gdb_target_obs="nios2-tdep.o"
476	;;
477
478or1k*-*-linux*)
479	# Target: OpenCores OpenRISC 1000 32-bit running Linux
480	gdb_target_obs="or1k-tdep.o or1k-linux-tdep.o solib-svr4.o \
481			symfile-mem.o glibc-tdep.o linux-tdep.o"
482	;;
483
484or1k-*-* | or1knd-*-*)
485	# Target: OpenCores OpenRISC 1000 32-bit implementation bare metal
486	gdb_target_obs="or1k-tdep.o"
487	;;
488
489powerpc*-*-freebsd*)
490	# Target: FreeBSD/powerpc
491	gdb_target_obs="rs6000-tdep.o ppc-sysv-tdep.o ppc64-tdep.o \
492		        ppc-fbsd-tdep.o \
493			ravenscar-thread.o ppc-ravenscar-thread.o"
494	;;
495
496powerpc-*-netbsd* | powerpc-*-knetbsd*-gnu | powerpc64-*-netbsd*)
497	# Target: NetBSD/powerpc
498	gdb_target_obs="rs6000-tdep.o ppc-sysv-tdep.o ppc-netbsd-tdep.o \
499			ravenscar-thread.o ppc-ravenscar-thread.o"
500	;;
501powerpc-*-openbsd*)
502	# Target: OpenBSD/powerpc
503	gdb_target_obs="rs6000-tdep.o ppc-sysv-tdep.o ppc-obsd-tdep.o \
504			ravenscar-thread.o ppc-ravenscar-thread.o"
505	;;
506powerpc-*-aix* | rs6000-*-* | powerpc64-*-aix*)
507	# Target: PowerPC running AIX
508	gdb_target_obs="rs6000-tdep.o rs6000-aix-tdep.o xcoffread.o \
509			ppc-sysv-tdep.o solib-aix.o \
510			ravenscar-thread.o ppc-ravenscar-thread.o"
511	;;
512powerpc*-*-linux*)
513	# Target: PowerPC running Linux
514	gdb_target_obs="rs6000-tdep.o ppc-linux-tdep.o ppc-sysv-tdep.o \
515			ppc64-tdep.o solib-svr4.o \
516			glibc-tdep.o symfile-mem.o linux-tdep.o \
517			ravenscar-thread.o ppc-ravenscar-thread.o \
518			linux-record.o \
519			arch/ppc-linux-common.o"
520	;;
521powerpc-*-lynx*178)
522	# Target: PowerPC running Lynx178.
523	gdb_target_obs="rs6000-tdep.o rs6000-lynx178-tdep.o \
524			xcoffread.o ppc-sysv-tdep.o \
525			ravenscar-thread.o ppc-ravenscar-thread.o"
526	;;
527powerpc*-*-*)
528	# Target: PowerPC running eabi
529	gdb_target_obs="rs6000-tdep.o ppc-sysv-tdep.o solib-svr4.o \
530			ravenscar-thread.o ppc-ravenscar-thread.o"
531	;;
532
533s390*-*-linux*)
534	# Target: S390 running Linux
535	gdb_target_obs="s390-linux-tdep.o s390-tdep.o solib-svr4.o \
536			linux-tdep.o linux-record.o symfile-mem.o"
537	;;
538
539riscv*-*-freebsd*)
540	# Target: FreeBSD/riscv
541	gdb_target_obs="riscv-fbsd-tdep.o"
542	;;
543
544riscv*-*-linux*)
545	# Target: Linux/RISC-V
546	gdb_target_obs="riscv-linux-tdep.o glibc-tdep.o \
547 			linux-tdep.o solib-svr4.o symfile-mem.o linux-record.o"
548	;;
549
550riscv*-*-netbsd*) 
551        # Target: NetBSD/riscv
552	gdb_target_obs="riscv-netbsd-tdep.o"
553	;;           
554
555riscv*-*-*)
556	# Target: RISC-V architecture
557	gdb_target_obs=""
558	;;
559
560rl78-*-elf)
561	# Target: Renesas rl78
562	gdb_target_obs="rl78-tdep.o"
563	;;
564
565rx-*-*)
566	# Target: Renesas RX
567	gdb_target_obs="rx-tdep.o"
568	;;
569
570sh*-*-linux*)
571	# Target: GNU/Linux Super-H
572	gdb_target_obs="sh-tdep.o sh-linux-tdep.o \
573			solib-svr4.o symfile-mem.o \
574			glibc-tdep.o linux-tdep.o"
575	;;
576sh*-*-netbsd* | sh*-*-knetbsd*-gnu)
577	# Target: NetBSD/sh
578	gdb_target_obs="sh-tdep.o sh-netbsd-tdep.o"
579	;;
580sh*-*-openbsd*)
581	# Target: OpenBSD/sh
582	gdb_target_obs="sh-tdep.o sh-netbsd-tdep.o"
583	;;
584sh*)
585	# Target: Embedded Renesas Super-H processor
586	gdb_target_obs="sh-tdep.o"
587	;;
588
589sparc-*-linux*)
590	# Target: GNU/Linux SPARC
591	gdb_target_obs="sparc-tdep.o \
592			sparc-linux-tdep.o solib-svr4.o symfile-mem.o \
593			linux-tdep.o \
594			ravenscar-thread.o sparc-ravenscar-thread.o"
595	if test "x$enable_64_bit_bfd" = "xyes"; then
596	    # Target: GNU/Linux UltraSPARC
597	    gdb_target_obs="sparc64-tdep.o \
598			    sparc64-linux-tdep.o ${gdb_target_obs}"
599	fi
600	;;
601sparc64-*-linux*)
602	# Target: GNU/Linux UltraSPARC
603	gdb_target_obs="sparc64-tdep.o \
604			sparc64-linux-tdep.o sparc-tdep.o \
605			sparc-linux-tdep.o solib-svr4.o linux-tdep.o \
606			ravenscar-thread.o sparc-ravenscar-thread.o"
607	;;
608sparc*-*-freebsd* | sparc*-*-kfreebsd*-gnu)
609	# Target: FreeBSD/sparc64
610	gdb_target_obs="sparc-tdep.o sparc64-tdep.o sparc64-fbsd-tdep.o \
611			ravenscar-thread.o sparc-ravenscar-thread.o"
612	;;
613sparc-*-netbsd* | sparc-*-knetbsd*-gnu)
614	# Target: NetBSD/sparc
615	gdb_target_obs="sparc-tdep.o sparc-netbsd-tdep.o \
616			ravenscar-thread.o sparc-ravenscar-thread.o"
617	;;
618sparc64-*-netbsd* | sparc64-*-knetbsd*-gnu)
619	# Target: NetBSD/sparc64
620	gdb_target_obs="sparc64-tdep.o sparc64-netbsd-tdep.o sparc-tdep.o \
621			sparc-netbsd-tdep.o \
622			ravenscar-thread.o sparc-ravenscar-thread.o"
623	;;
624sparc-*-openbsd*)
625	# Target: OpenBSD/sparc
626	gdb_target_obs="sparc-tdep.o sparc-netbsd-tdep.o sparc-obsd-tdep.o \
627			netbsd-tdep.o bsd-uthread.o \
628			ravenscar-thread.o sparc-ravenscar-thread.o"
629	;;
630sparc64-*-openbsd*)
631	# Target: OpenBSD/sparc64
632	gdb_target_obs="sparc64-tdep.o sparc64-netbsd-tdep.o sparc64-obsd-tdep.o \
633			sparc-tdep.o sparc-netbsd-tdep.o sparc-obsd-tdep.o \
634			netbsd-tdep.o bsd-uthread.o \
635			ravenscar-thread.o sparc-ravenscar-thread.o"
636	;;
637sparc-*-solaris2* | sparcv9-*-solaris2* | sparc64-*-solaris2*)
638	# Target: Solaris UltraSPARC
639	gdb_target_obs="sparc64-tdep.o sparc64-sol2-tdep.o sparc-tdep.o \
640			sparc-sol2-tdep.o sol2-tdep.o solib-svr4.o \
641			ravenscar-thread.o sparc-ravenscar-thread.o"
642	;;
643sparc-*-*)
644	# Target: SPARC
645	gdb_target_obs="sparc-tdep.o \
646			ravenscar-thread.o sparc-ravenscar-thread.o"
647	;;
648sparc64-*-*)
649	# Target: UltraSPARC
650	gdb_target_obs="sparc-tdep.o sparc64-tdep.o \
651			ravenscar-thread.o sparc-ravenscar-thread.o"
652	;;
653
654s12z-*-*)
655	# Target: Freescale S12z
656	gdb_target_obs="s12z-tdep.o"
657	;;
658
659tic6x-*-*linux)
660	# Target: GNU/Linux TI C6x
661	gdb_target_obs="tic6x-tdep.o tic6x-linux-tdep.o solib-dsbt.o \
662			glibc-tdep.o linux-tdep.o"
663	;;
664
665tic6x-*-*)
666	# Target: TI C6X 
667	gdb_target_obs="tic6x-tdep.o"
668	;;
669
670tilegx-*-linux*)
671	# Target: TILE-Gx
672	gdb_target_obs="tilegx-tdep.o tilegx-linux-tdep.o solib-svr4.o \
673			symfile-mem.o glibc-tdep.o linux-tdep.o"
674	;;
675
676xstormy16-*-*)
677	# Target: Sanyo Xstormy16a processor
678	gdb_target_obs="xstormy16-tdep.o"
679	# No simulator libraries are needed -- target uses SID.
680	;;
681
682ft32-*-elf)
683	gdb_target_obs="ft32-tdep.o"
684	;;
685
686v850*-*-elf | v850*-*-rtems*)
687	# Target: NEC V850 processor
688	gdb_target_obs="v850-tdep.o"
689	;;
690
691vax-*-netbsd* | vax-*-knetbsd*-gnu)
692	# Target: NetBSD/vax
693	gdb_target_obs="vax-tdep.o vax-netbsd-tdep.o"
694	;;
695vax-*-openbsd*)
696	# Target: OpenBSD/vax
697	gdb_target_obs="vax-tdep.o"
698	;;
699vax-*-*)
700	# Target: VAX
701	gdb_target_obs="vax-tdep.o"
702	;;
703
704x86_64-*-darwin*)
705	# Target: Darwin/x86-64
706	gdb_target_obs="${i386_tobjs} \
707			i386-darwin-tdep.o amd64-darwin-tdep.o \
708                        solib-darwin.o"
709	;;
710
711x86_64-*-dicos*)
712	# Target: DICOS/x86-64
713	gdb_target_obs="${i386_tobjs} \
714			dicos-tdep.o i386-dicos-tdep.o amd64-dicos-tdep.o"
715	;;
716x86_64-*-elf*)
717	gdb_target_obs="${i386_tobjs}"
718	;;
719x86_64-*-linux*)
720	# Target: GNU/Linux x86-64
721	gdb_target_obs="amd64-linux-tdep.o ${i386_tobjs}  \
722			i386-linux-tdep.o glibc-tdep.o \
723			solib-svr4.o symfile-mem.o linux-tdep.o linux-record.o"
724	;;
725x86_64-*-freebsd* | x86_64-*-kfreebsd*-gnu)
726	# Target: FreeBSD/amd64
727	gdb_target_obs="amd64-fbsd-tdep.o ${i386_tobjs} \
728			i386-bsd-tdep.o i386-fbsd-tdep.o"
729	;;
730x86_64-*-mingw* | x86_64-*-cygwin*)
731        # Target: MingW/amd64
732	gdb_target_obs="amd64-windows-tdep.o \
733                        ${i386_tobjs} i386-windows-tdep.o \
734                        windows-tdep.o"
735        ;;
736x86_64-*-netbsd* | x86_64-*-knetbsd*-gnu)
737	# Target: NetBSD/amd64
738	gdb_target_obs="amd64-netbsd-tdep.o ${i386_tobjs}
739			i386-bsd-tdep.o i386-netbsd-tdep.o"
740	;;
741x86_64-*-openbsd*)
742	# Target: OpenBSD/amd64
743	gdb_target_obs="amd64-obsd-tdep.o ${i386_tobjs} \
744			i386-bsd-tdep.o i386-obsd-tdep.o \
745			bsd-uthread.o"
746	;;
747x86_64-*-rtems*)
748	gdb_target_obs="${amd64_tobjs} ${i386_tobjs} i386-bsd-tdep.o"
749	;;
750xtensa*-*-*linux*)
751	# Target: GNU/Linux Xtensa
752	gdb_target_obs="xtensa-linux-tdep.o symfile-mem.o linux-tdep.o"
753	;;
754z80*)
755	# Target: Z80
756	gdb_target_obs="z80-tdep.o"
757	;;
758
759esac
760
761# Put them together.
762
763gdb_target_obs="${cpu_obs} ${os_obs} ${gdb_target_obs}"
764
765# Get the sim settings.
766# NB: Target matching is aligned with sim/configure.ac.  Changes must be kept
767# in sync with that file.
768
769case "${targ}" in
770aarch64*-*-*)		gdb_sim=aarch64 ;;
771arm*-*-*)		gdb_sim=arm ;;
772avr*-*-*)		gdb_sim=avr ;;
773bfin-*-*)		gdb_sim=bfin ;;
774bpf-*-*)		gdb_sim=bpf ;;
775cris-*-*|cris32-*-*)	gdb_sim=cris ;;
776frv-*-*)		gdb_sim=frv ;;
777ft32-*-*)		gdb_sim=ft32 ;;
778h8300*-*-*)		gdb_sim=h8300 ;;
779iq2000-*-*)		gdb_sim=iq2000 ;;
780lm32-*-*)		gdb_sim=lm32 ;;
781m32c-*-*)		gdb_sim=m32c ;;
782m32r-*-*)		gdb_sim=m32r ;;
783m68hc11-*-*|m6811-*-*)	gdb_sim=m68hc11 ;;
784microblaze*-*-*)	gdb_sim=microblaze ;;
785mips*-*-*)		gdb_sim=mips ;;
786mn10300*-*-*)		gdb_sim=mn10300 ;;
787moxie-*-*)		gdb_sim=moxie ;;
788msp430*-*-*)		gdb_sim=msp430 ;;
789or1k*-*-*)		gdb_sim=or1k ;;
790powerpc*-*-*)		gdb_sim=ppc ;;
791riscv*-*-*)		gdb_sim=riscv ;;
792rl78-*-*)		gdb_sim=rl78 ;;
793rx-*-*)			gdb_sim=rx ;;
794sh*-*-*)		gdb_sim=sh ;;
795sparc-*-*)		gdb_sim=erc32 ;;
796v850*-*-*)		gdb_sim=v850 ;;
797esac
798if test "x$gdb_sim" != "x"; then
799  gdb_sim="../sim/${gdb_sim}/libsim.a"
800fi
801
802# map target onto default OS ABI
803
804case "${targ}" in
805*-*-freebsd* | *-*-kfreebsd*-gnu)
806		gdb_osabi=GDB_OSABI_FREEBSD ;;
807*-*-linux* | *-*-uclinux*)
808		gdb_osabi=GDB_OSABI_LINUX ;;
809*-*-netbsd*)	gdb_osabi=GDB_OSABI_NETBSD ;;
810*-*-nto*)	gdb_osabi=GDB_OSABI_QNXNTO ;;
811m68*-*-openbsd* | m88*-*-openbsd* | vax-*-openbsd*) ;;
812*-*-openbsd*)	gdb_osabi=GDB_OSABI_OPENBSD ;;
813*-*-solaris*)	gdb_osabi=GDB_OSABI_SOLARIS ;;
814*-*-*-gnu*)	;; # prevent non-GNU kernels to match the Hurd rule below
815*-*-gnu*)	gdb_osabi=GDB_OSABI_HURD ;;
816*-*-mingw32ce*)	gdb_osabi=GDB_OSABI_WINCE ;;
817*-*-mingw*)	gdb_osabi=GDB_OSABI_WINDOWS ;;
818*-*-cygwin*)	gdb_osabi=GDB_OSABI_CYGWIN ;;
819*-*-dicos*)	gdb_osabi=GDB_OSABI_DICOS ;;
820powerpc-*-aix* | rs6000-*-* | powerpc64-*-aix*)
821                gdb_osabi=GDB_OSABI_AIX ;;
822esac
823
824# Check whether this target supports gcore.
825# Such target has to call set_gdbarch_find_memory_regions.
826gdb_have_gcore=false
827for t in x ${gdb_target_obs}; do
828  if test "$t" = linux-tdep.o; then
829    gdb_have_gcore=true
830  fi
831done
832