# Menu for the native GDB binaries (GDB itself and gdbserver) config GDB_NATIVE bool prompt "Native gdb" depends on ! BARE_METAL depends on CC_LANG_CXX select LIBC_UCLIBC_WCHAR if LIBC_UCLIBC_NG select LIBC_UCLIBC_IPV6 if LIBC_UCLIBC_NG && GDB_8_3_or_later select LIBC_UCLIBC_LIBICONV if LIBC_UCLIBC_NG && GDB_15_or_later select EXPAT_TARGET select NCURSES_TARGET select GMP_TARGET if GDB_11_or_later select MPFR_TARGET if GDB_13_or_later help Build and install a native gdb for the target, to run on the target. config GDB_GDBSERVER bool prompt "gdbserver" default y depends on ! BARE_METAL select LIBC_UCLIBC_WCHAR if LIBC_UCLIBC_NG select LIBC_UCLIBC_IPV6 if LIBC_UCLIBC_NG && GDB_8_3_or_later select LIBC_UCLIBC_LIBICONV if LIBC_UCLIBC_NG && GDB_15_or_later 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" depends on LIBC_GLIBC depends on !GDB_NATIVE_STATIC help gdbserver >= 7.2 comes with an optional library to use tracepoints, the In Process Agent (IPA) library, libinproctrace.so. This library uses some GNU extensions from the C library. 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... config GDB_NATIVE_STATIC bool prompt "Build a static gdb binaries" depends on EXPERIMENTAL help In case you have trouble with dynamic loading of shared libraries, you will find that a static gdb comes in handy. 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 if the resulting binaries work. For further details, see: https://sourceware.org/bugzilla/show_bug.cgi?id=19617 https://sourceware.org/bugzilla/show_bug.cgi?id=21086 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. endif # GDB_NATIVE if BARE_METAL comment "In bare-metal, you'll need to " comment "provide your own gdbserver stub." endif # BARE_METAL