kumquat-buildroot/package/gdb/Config.in.host
Romain Naour c2a39ba528 package/gdb: add version 8.1
https://sourceware.org/ml/gdb-announce/2018/msg00001.html

gdb 8.1 has a new optional dependency on mpfr, which according to the
NEWS file:

   GDB now uses the GNU MPFR library, if available, to emulate target
   floating-point arithmetic during expression evaluation when the
   target uses different floating-point formats than the host.  At
   least version 3.1 of GNU MPFR is required.

So for the target gdb, this is unnecessary, and therefore we
forcefully disable mpfr support by passing --without-mpfr.

For the host gdb, it would potentially be useful, but since it's a new
feature that isn't essential, we for now keep it disabled as well. An
option may be added later if needed.

To avoid gnulib issues with uClibc/musl, we need to pass additional
configure/make variables, like is done in OpenEmbedded [1].

[1] http://git.openembedded.org/openembedded-core/tree/meta/recipes-devtools/gdb/gdb_8.1.bb?id=02664a8dcd1ebb6cd77248e1b97a78390ea06033#n9

We re-add the same patches as the ones present for gdb 8.0.1, except
0004-nat-linux-ptrace.c-add-missing-gdb_byte-cast.patch, which was
merged upstream.

Signed-off-by: Romain Naour <romain.naour@gmail.com>
[Thomas: change mpfr handling.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-06-24 21:16:46 +02:00

99 lines
2.8 KiB
Plaintext

config BR2_PACKAGE_HOST_GDB_ARCH_SUPPORTS
bool
default y
# The ARC version needs C++11, thus gcc >= 4.8, like gdb-8.0.x
depends on BR2_HOST_GCC_AT_LEAST_4_8 || !BR2_arc
depends on !((BR2_arm || BR2_armeb) && BR2_BINFMT_FLAT)
depends on !BR2_microblaze
depends on !BR2_nios2
depends on !BR2_or1k
comment "Host GDB Options"
depends on !BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY
depends on BR2_PACKAGE_HOST_GDB_ARCH_SUPPORTS
config BR2_PACKAGE_HOST_GDB
bool "Build cross gdb for the host"
# When the external toolchain gdbserver is used, we shouldn't
# allow to build a cross-gdb, as the one of the external
# toolchain should be used.
depends on !BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY
depends on BR2_PACKAGE_HOST_GDB_ARCH_SUPPORTS
help
Build a cross gdb that runs on the host machine and debugs
programs running on the target. It requires 'gdbserver'
installed on the target, see BR2_PACKAGE_GDB_SERVER to
enable it.
if BR2_PACKAGE_HOST_GDB
config BR2_PACKAGE_HOST_GDB_TUI
bool "TUI support"
help
This option enables terminal user interface (TUI) for gdb
config BR2_PACKAGE_HOST_GDB_PYTHON
bool "Python support"
help
This option enables the Python support in the cross gdb.
config BR2_PACKAGE_HOST_GDB_SIM
bool "Simulator support"
depends on !BR2_arc
help
This option enables the simulator support in the cross gdb.
choice
prompt "GDB debugger Version"
default BR2_GDB_VERSION_7_11
depends on !BR2_arc
help
Select the version of gdb you wish to use.
config BR2_GDB_VERSION_7_10
bool "gdb 7.10.x"
config BR2_GDB_VERSION_7_11
bool "gdb 7.11.x"
config BR2_GDB_VERSION_7_12
bool "gdb 7.12.x"
config BR2_GDB_VERSION_8_0
bool "gdb 8.0.x"
# Needs a C++11 compiler
depends on BR2_HOST_GCC_AT_LEAST_4_8
config BR2_GDB_VERSION_8_1
bool "gdb 8.1.x"
# Needs a C++11 compiler
depends on BR2_HOST_GCC_AT_LEAST_4_8
endchoice
endif
# Tells whether the currently selected gdb version requires C++11
# support in the toolchain. When host-gdb is not enabled, the target
# gdb built is 7.11, which doesn't require C++11 support. So it's only
# if host-gdb is built, with the version set to 8.0 or 8.1 that C++11
# support is needed in the toolchain to build gdb for the target.
#
# Even though this option is related to target gdb dependencies, we
# keep it next to the BR2_GDB_VERSION so that they are kept in sync.
config BR2_PACKAGE_GDB_NEEDS_CXX11
bool
default y if BR2_GDB_VERSION_8_0
default y if BR2_GDB_VERSION_8_1
# If cross-gdb is not enabled, the latest working version is chosen.
config BR2_GDB_VERSION
string
default "arc-2018.03-rc2-gdb" if BR2_arc
default "7.10.1" if BR2_GDB_VERSION_7_10
default "7.11.1" if BR2_GDB_VERSION_7_11 || !BR2_PACKAGE_HOST_GDB
default "7.12.1" if BR2_GDB_VERSION_7_12
default "8.0.1" if BR2_GDB_VERSION_8_0
default "8.1" if BR2_GDB_VERSION_8_1
depends on BR2_PACKAGE_GDB || BR2_PACKAGE_HOST_GDB