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