2019-03-10 02:01:30 +00:00
|
|
|
# Menu for the native GDB binaries (GDB itself and gdbserver)
|
2010-03-15 20:42:55 +00:00
|
|
|
|
|
|
|
config GDB_NATIVE
|
|
|
|
bool
|
|
|
|
prompt "Native gdb"
|
|
|
|
depends on ! BARE_METAL
|
2022-05-08 02:27:39 +00:00
|
|
|
depends on CC_LANG_CXX
|
|
|
|
select LIBC_UCLIBC_WCHAR if LIBC_UCLIBC_NG
|
2022-01-05 08:37:45 +00:00
|
|
|
select LIBC_UCLIBC_IPV6 if LIBC_UCLIBC_NG && GDB_8_3_or_later
|
2015-11-07 06:15:11 +00:00
|
|
|
select EXPAT_TARGET
|
2015-11-08 07:31:46 +00:00
|
|
|
select NCURSES_TARGET
|
2022-02-04 19:35:52 +00:00
|
|
|
select GMP_TARGET if GDB_11_or_later
|
2023-05-12 05:37:13 +00:00
|
|
|
select MPFR_TARGET if GDB_13_or_later
|
2010-03-15 20:42:55 +00:00
|
|
|
help
|
|
|
|
Build and install a native gdb for the target, to run on the target.
|
|
|
|
|
2019-03-10 02:01:30 +00:00
|
|
|
config GDB_GDBSERVER
|
|
|
|
bool
|
|
|
|
prompt "gdbserver"
|
|
|
|
default y
|
|
|
|
depends on ! BARE_METAL
|
2022-05-08 02:27:39 +00:00
|
|
|
select LIBC_UCLIBC_WCHAR if LIBC_UCLIBC_NG
|
2022-01-05 08:37:45 +00:00
|
|
|
select LIBC_UCLIBC_IPV6 if LIBC_UCLIBC_NG && GDB_8_3_or_later
|
2019-03-10 02:01:30 +00:00
|
|
|
help
|
|
|
|
Build and install a gdbserver for the target, to run on the target.
|
|
|
|
|
|
|
|
if GDB_NATIVE || GDB_GDBSERVER
|
|
|
|
|
|
|
|
config GDB_NATIVE_BUILD_IPA_LIB
|
|
|
|
bool
|
|
|
|
prompt "Build the IPA library"
|
2019-03-21 00:40:33 +00:00
|
|
|
depends on LIBC_GLIBC
|
2021-09-21 09:09:16 +00:00
|
|
|
depends on !GDB_NATIVE_STATIC
|
2019-03-10 02:01:30 +00:00
|
|
|
help
|
|
|
|
gdbserver >= 7.2 comes with an optional library to use tracepoints,
|
2019-03-21 00:40:33 +00:00
|
|
|
the In Process Agent (IPA) library, libinproctrace.so. This library
|
|
|
|
uses some GNU extensions from the C library.
|
2019-03-10 02:01:30 +00:00
|
|
|
|
|
|
|
Say 'y' if you intend to use tracepoints when debugging your
|
|
|
|
programs with gdbserver.
|
|
|
|
|
|
|
|
Note: Currently, building this library is not possible when the
|
|
|
|
gdbserver is built statically. This is a limitation in
|
|
|
|
crosstool-NG, so do not bug upstream about it...
|
2010-03-15 20:42:55 +00:00
|
|
|
|
2010-03-15 20:44:20 +00:00
|
|
|
config GDB_NATIVE_STATIC
|
|
|
|
bool
|
2019-03-10 02:01:30 +00:00
|
|
|
prompt "Build a static gdb binaries"
|
2017-03-15 08:22:19 +00:00
|
|
|
depends on EXPERIMENTAL
|
2010-03-15 20:44:20 +00:00
|
|
|
help
|
|
|
|
In case you have trouble with dynamic loading of shared libraries,
|
|
|
|
you will find that a static gdb comes in handy.
|
|
|
|
|
2017-03-15 08:22:19 +00:00
|
|
|
However, it has been noticed at least on x86 that enabling this
|
|
|
|
option produces an invalid gdb binary. It is linked with
|
|
|
|
"-static -Wl,--dynamic-list=..." which
|
|
|
|
# (a) requests invalid program interpreter
|
|
|
|
# (b) crashes glibc/uClibc-ng and does not work with musl
|
|
|
|
# See https://sourceware.org/ml/libc-alpha/2017-03/msg00267.html
|
|
|
|
|
|
|
|
It is possible it would work with other architectures, hence it is
|
|
|
|
not completely removed. Use with care and report to the mailing list
|
2019-03-10 02:01:30 +00:00
|
|
|
if the resulting binaries work.
|
2017-03-15 08:22:19 +00:00
|
|
|
|
|
|
|
For further details, see:
|
|
|
|
https://sourceware.org/bugzilla/show_bug.cgi?id=19617
|
|
|
|
https://sourceware.org/bugzilla/show_bug.cgi?id=21086
|
|
|
|
|
2019-03-10 02:01:30 +00:00
|
|
|
config GDB_NATIVE_STATIC_LIBSTDCXX
|
|
|
|
bool
|
|
|
|
prompt "Link against static libstdc+++"
|
|
|
|
depends on !GDB_NATIVE_STATIC
|
|
|
|
default n
|
|
|
|
help
|
|
|
|
Say 'y' if you do not want gdbserver to require libstdc++.so on the
|
|
|
|
target.
|
|
|
|
|
2010-03-15 20:42:55 +00:00
|
|
|
endif # GDB_NATIVE
|
2019-03-10 02:01:30 +00:00
|
|
|
|
|
|
|
if BARE_METAL
|
|
|
|
comment "In bare-metal, you'll need to "
|
|
|
|
comment "provide your own gdbserver stub."
|
|
|
|
endif # BARE_METAL
|