binutils-gdb/gdb/configure.host
Gopi Kumar Bulusu d62f64e17b gdb/MicroBlaze: Add support for native linux gdb
This patch adds support for native microblazeel-linux-gdb including
support for debugging with core dump files. Code is based on Xilinx/AMD
git repository used for Yocto builds with changes for proper indentation
and removal of commented out code.

Testing with native gdb has been checked to be working. Can load and run
a program using commands like break, step and finish. When a core file is
specified to gdb; registers can be examined using info reg. Tested using
qemu-system-microblazeel from AMD/Xilinx Yocto 2025.2 release.

Signed-off-by: David Holsgrove <david.holsgrove@petalogix.com>
Signed-off-by: Nathan Rossi <nathan.rossi@petalogix.com>
Signed-off-by: Mahesh Bodapati <mbodapat@xilinx.com>
Signed-off-by: Gopi Kumar Bulusu <gopi@sankhya.com>
Signed-off-by: Michael J. Eager <eager@eagercon.com>
2026-06-11 05:49:52 -07:00

225 lines
6 KiB
Text

# 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
*-*-irix* | \
*-*-solaris2.[01] | *-*-solaris2.[2-9]* | *-*-solaris2.10* | \
alpha*-*-osf* | \
alpha*-*-freebsd* | \
alpha*-*-kfreebsd*-gnu | \
arm*-*-netbsdaout* | \
hppa*-*-hiux* | \
i[34567]86-ncr-* | \
i[34567]86-*-dgux* | \
i[34567]86-*-lynxos* | \
i[34567]86-*-netbsdaout* | \
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*-*-netbsdaout* | \
sparc-*-netbsdaout* | \
rs6000-*-lynxos* | \
vax-*-bsd* | \
vax-*-netbsdaout* | \
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 ;;
loongarch*) gdb_host_cpu=loongarch ;;
m68*) gdb_host_cpu=m68k ;;
microblaze*) gdb_host_cpu=microblaze ;;
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 ;;
aarch64*-*-mingw*) gdb_host=mingw64a
gdb_host_obs=mingw-hdep.o
;;
alpha*-*-linux*) gdb_host=alpha-linux ;;
alpha*-*-netbsdaout* | alpha*-*-knetbsdaout*-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*-*-netbsd* | 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-*-netbsd* | 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[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 ;;
loongarch*-linux*) gdb_host=linux ;;
m68*-*-linux*) gdb_host=linux ;;
m68*-*-netbsd* | m68*-*-knetbsd*-gnu)
gdb_host=nbsdelf ;;
m68*-*-openbsd*) gdb_host=obsd ;;
m88*-*-openbsd*) gdb_host=obsd ;;
microblaze*-*-linux*) gdb_host=linux ;;
mips*-*-linux*) gdb_host=linux ;;
mips*-*-netbsdaout* | mips*-*-knetbsd*-gnu)
gdb_host=nbsd ;;
mips*-*-freebsd*) gdb_host=fbsd ;;
mips64*-*-openbsd*) gdb_host=obsd64 ;;
or1k-*-linux*) gdb_host=linux ;;
powerpc-*-aix* | rs6000-*-* | powerpc64-*-aix*)
gdb_host=aix ;;
powerpc*-*-freebsd*) gdb_host=fbsd ;;
powerpc-*-netbsdaout* | 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*-*-netbsd* | 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-*-netbsd* | 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-*-netbsd* | 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 ;;
x86_64-*-gnu*) gdb_host=gnu64 ;;
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