mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-15 04:31:49 +08:00
04c9f85efc
With this patch in place it is possible to build a GDB that can run on ARC (GNU/Linux) hosts for debugging ARC targets. The "arc-linux-nat.c" is a rather small one that mostly deals with registers and a few thread related hooks. v2 [1]: - Remove "void" from the input of "_initialize_arc_linux_nat ()" [1] Tom's remark after the first patch https://sourceware.org/pipermail/gdb-patches/2020-November/173223.html gdb/ChangeLog: * Makefile.in (ALLDEPFILES): Add arc-linux-nat.c. * configure.host (host to gdb names): Add arc*-*-linux*. * configure.nat (gdb_host_cpu): Add arc. * arc-linux-nat.c: New.
221 lines
5.8 KiB
Plaintext
221 lines
5.8 KiB
Plaintext
# Mapping of configurations into GDB host definitions. This is
|
|
# invoked from the autoconf generated configure script.
|
|
|
|
# This file sets the following shell variables:
|
|
# gdb_host_cpu generic name of host's CPU
|
|
# gdb_host name of GDB host definition to use
|
|
# gdb_host_float_format host's float floatformat, or 0
|
|
# gdb_host_double_format host's double floatformat, or 0
|
|
# gdb_host_long_double_format host's long double floatformat, or 0
|
|
# gdb_host_obs host-specific .o files to include
|
|
|
|
# Map host cpu into the config cpu subdirectory name.
|
|
# The default is $host_cpu.
|
|
|
|
case $host in
|
|
arm*-*-netbsdelf* | \
|
|
i[34567]86-*-netbsdelf* | \
|
|
m68*-*-netbsdelf* | \
|
|
sparc-*-netbsdelf* | \
|
|
vax-*-netbsdelf*)
|
|
;;
|
|
*-*-irix* | \
|
|
*-*-solaris2.[01] | *-*-solaris2.[2-9]* | *-*-solaris2.10* | \
|
|
alpha*-*-osf* | \
|
|
alpha*-*-freebsd* | \
|
|
alpha*-*-kfreebsd*-gnu | \
|
|
arm*-*-netbsd* | \
|
|
hppa*-*-hiux* | \
|
|
i[34567]86-ncr-* | \
|
|
i[34567]86-*-dgux* | \
|
|
i[34567]86-*-lynxos* | \
|
|
i[34567]86-*-netbsd* | \
|
|
i[34567]86-*-openbsd[0-2].* | i[34567]86-*-openbsd3.[0-3] | \
|
|
i[34567]86-*-sco3.2v5* | \
|
|
i[34567]86-*-sco3.2v4* | \
|
|
i[34567]86-*-sco* | \
|
|
i[34567]86-*-sysv4.2* | \
|
|
i[34567]86-*-sysv4* | \
|
|
i[34567]86-*-sysv5* | \
|
|
i[34567]86-*-unixware2* | \
|
|
i[34567]86-*-unixware* | \
|
|
i[34567]86-*-sysv* | \
|
|
i[34567]86-*-isc* | \
|
|
m68*-*-netbsd* | \
|
|
sparc-*-netbsd* | \
|
|
rs6000-*-lynxos* | \
|
|
vax-*-bsd* | \
|
|
vax-*-netbsd* | \
|
|
vax-*-ultrix* | \
|
|
hppa*-*-hpux* | \
|
|
ia64-*-hpux* | \
|
|
null)
|
|
echo "*** Configuration $host is obsolete." >&2
|
|
echo "*** Support has been REMOVED." >&2
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
case "${host_cpu}" in
|
|
|
|
aarch64*) gdb_host_cpu=aarch64 ;;
|
|
alpha*) gdb_host_cpu=alpha ;;
|
|
arc*) gdb_host_cpu=arc ;;
|
|
arm*) gdb_host_cpu=arm ;;
|
|
hppa*) gdb_host_cpu=pa ;;
|
|
i[34567]86*) gdb_host_cpu=i386 ;;
|
|
m68*) gdb_host_cpu=m68k ;;
|
|
mips*) gdb_host_cpu=mips ;;
|
|
powerpc* | rs6000) gdb_host_cpu=powerpc ;;
|
|
sparcv9 | sparc64) gdb_host_cpu=sparc ;;
|
|
s390*) gdb_host_cpu=s390 ;;
|
|
sh*) gdb_host_cpu=sh ;;
|
|
tilegx*) gdb_host_cpu=tilegx ;;
|
|
x86_64*) gdb_host_cpu=i386 ;;
|
|
m32r*) gdb_host_cpu=m32r ;;
|
|
xtensa*) gdb_host_cpu=xtensa ;;
|
|
*) gdb_host_cpu=$host_cpu ;;
|
|
|
|
esac
|
|
|
|
# map host info into gdb names.
|
|
|
|
case "${host}" in
|
|
|
|
*-*-darwin*) gdb_host=darwin ;;
|
|
|
|
aarch64*-*-linux*) gdb_host=linux ;;
|
|
aarch64*-*-freebsd*) gdb_host=fbsd ;;
|
|
|
|
alpha*-*-linux*) gdb_host=alpha-linux ;;
|
|
alpha*-*-netbsd* | alpha*-*-knetbsd*-gnu)
|
|
gdb_host=nbsd ;;
|
|
alpha*-*-openbsd*) gdb_host=nbsd ;;
|
|
|
|
arc*-*-linux*) gdb_host=linux ;;
|
|
|
|
arm*-*-freebsd*) gdb_host=fbsd ;;
|
|
arm*-*-linux*) gdb_host=linux ;;
|
|
arm*-*-netbsdelf* | arm*-*-knetbsd*-gnu)
|
|
gdb_host=nbsdelf ;;
|
|
arm*-*-openbsd*) gdb_host=nbsdelf ;;
|
|
|
|
hppa*-*-linux*) gdb_host=linux ;;
|
|
hppa*-*-netbsd*) gdb_host=nbsd ;;
|
|
hppa*-*-openbsd*) gdb_host=obsd ;;
|
|
|
|
i[34567]86-*-freebsd* | i[34567]86-*-kfreebsd*-gnu)
|
|
gdb_host=fbsd ;;
|
|
i[34567]86-*-netbsdelf* | i[34567]86-*-knetbsd*-gnu)
|
|
gdb_host=nbsdelf ;;
|
|
i[34567]86-*-go32*) gdb_host=go32 ;;
|
|
i[34567]86-*-mingw32*) gdb_host=mingw
|
|
gdb_host_obs=mingw-hdep.o
|
|
;;
|
|
i[34567]86-*-msdosdjgpp*) gdb_host=go32 ;;
|
|
i[34567]86-*-linux*) gdb_host=linux ;;
|
|
i[34567]86-*-gnu*) gdb_host=i386gnu ;;
|
|
i[3456]86-*-nto*) gdb_host=nto ;;
|
|
i[34567]86-*-openbsd*) gdb_host=obsd ;;
|
|
i[34567]86-*-solaris2* | x86_64-*-solaris2*)
|
|
gdb_host=sol2 ;;
|
|
i[34567]86-*-cygwin*) gdb_host=cygwin ;;
|
|
|
|
ia64-*-linux*) gdb_host=linux ;;
|
|
|
|
m68*-*-linux*) gdb_host=linux ;;
|
|
m68*-*-netbsdelf* | m68*-*-knetbsd*-gnu)
|
|
gdb_host=nbsdelf ;;
|
|
m68*-*-openbsd*) gdb_host=obsd ;;
|
|
|
|
m88*-*-openbsd*) gdb_host=obsd ;;
|
|
|
|
mips*-*-linux*) gdb_host=linux ;;
|
|
mips*-*-netbsd* | mips*-*-knetbsd*-gnu)
|
|
gdb_host=nbsd ;;
|
|
mips*-*-freebsd*) gdb_host=fbsd ;;
|
|
mips64*-*-openbsd*) gdb_host=obsd64 ;;
|
|
|
|
powerpc-*-aix* | rs6000-*-* | powerpc64-*-aix*)
|
|
gdb_host=aix ;;
|
|
powerpc*-*-freebsd*) gdb_host=fbsd ;;
|
|
powerpc-*-netbsd* | powerpc-*-knetbsd*-gnu)
|
|
gdb_host=nbsd ;;
|
|
powerpc-*-openbsd*) gdb_host=obsd ;;
|
|
|
|
powerpc64*-*-linux*) gdb_host=ppc64-linux ;;
|
|
powerpc*-*-linux*) gdb_host=linux ;;
|
|
|
|
riscv*-*-freebsd*) gdb_host=fbsd ;;
|
|
riscv*-*-linux*) gdb_host=linux ;;
|
|
|
|
s390*-*-linux*) gdb_host=linux ;;
|
|
|
|
sh*-*-netbsdelf* | sh*-*-knetbsd*-gnu)
|
|
gdb_host=nbsd ;;
|
|
sh*-*-openbsd*) gdb_host=nbsd ;;
|
|
|
|
sparc64-*-freebsd* | sparc64-*-kfreebsd*-gnu)
|
|
gdb_host=fbsd ;;
|
|
sparc-*-linux*) gdb_host=linux ;;
|
|
sparc64-*-linux*) gdb_host=linux64 ;;
|
|
sparc-*-netbsdelf* | sparc-*-knetbsd*-gnu)
|
|
gdb_host=nbsdelf ;;
|
|
sparc64-*-netbsd* | sparc64-*-knetbsd*-gnu)
|
|
gdb_host=nbsd64 ;;
|
|
sparc-*-openbsd*) gdb_host=nbsdelf ;;
|
|
sparc64-*-openbsd*) gdb_host=obsd64 ;;
|
|
sparc-*-solaris2* | sparcv9-*-solaris2* | sparc64-*-solaris2*)
|
|
gdb_host=sol2
|
|
;;
|
|
|
|
tilegx-*-linux*) gdb_host=linux ;;
|
|
|
|
vax-*-netbsdelf* | vax-*-knetbsd*-gnu)
|
|
gdb_host=nbsdelf ;;
|
|
vax-*-openbsd*) gdb_host=obsd ;;
|
|
|
|
x86_64-*-linux*) gdb_host=linux64 ;;
|
|
x86_64-*-freebsd* | x86_64-*-kfreebsd*-gnu)
|
|
gdb_host=fbsd64 ;;
|
|
x86_64-*-netbsd* | x86_64-*-knetbsd*-gnu)
|
|
gdb_host=nbsd64 ;;
|
|
x86_64-*-openbsd*) gdb_host=obsd64 ;;
|
|
x86_64-*-mingw*) gdb_host=mingw64
|
|
gdb_host_obs=mingw-hdep.o
|
|
;;
|
|
x86_64-*-cygwin*) gdb_host=cygwin64 ;;
|
|
m32r*-*-linux*) gdb_host=linux ;;
|
|
|
|
xtensa*-*-linux*) gdb_host=linux ;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
# Map the host/cpu onto the floatformat correspondong to C's "float",
|
|
# "double" and "long double" types.
|
|
|
|
case "${host}" in
|
|
i[34567]86-*-*|x86_64-*-*)
|
|
gdb_host_float_format="&floatformat_ieee_single_little"
|
|
gdb_host_double_format="&floatformat_ieee_double_little"
|
|
gdb_host_long_double_format="&floatformat_i387_ext"
|
|
;;
|
|
hppa*-*-linux*)
|
|
gdb_host_float_format="&floatformat_ieee_single_big"
|
|
gdb_host_double_format="&floatformat_ieee_double_big"
|
|
gdb_host_long_double_format="&floatformat_ieee_double_big"
|
|
;;
|
|
m68*-*-*)
|
|
gdb_host_float_format="&floatformat_ieee_single_big"
|
|
gdb_host_double_format="&floatformat_ieee_double_big"
|
|
gdb_host_long_double_format="&floatformat_m68881_ext"
|
|
;;
|
|
*)
|
|
gdb_host_float_format=0
|
|
gdb_host_double_format=0
|
|
gdb_host_long_double_format=0
|
|
;;
|
|
esac
|