92 lines
2.9 KiB
Plaintext
92 lines
2.9 KiB
Plaintext
|
config BR2_PACKAGE_GDB_ARCH_SUPPORTS
|
||
|
bool
|
||
|
default y
|
||
|
depends on !((BR2_arm || BR2_armeb) && BR2_BINFMT_FLAT)
|
||
|
depends on !BR2_microblaze
|
||
|
|
||
|
comment "gdb needs a glibc or uclibc toolchain"
|
||
|
depends on BR2_or1k
|
||
|
depends on BR2_TOOLCHAIN_USES_MUSL
|
||
|
|
||
|
comment "gdb/gdbserver needs a toolchain w/ threads, threads debug"
|
||
|
depends on BR2_PACKAGE_GDB_ARCH_SUPPORTS
|
||
|
depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_HAS_THREADS_DEBUG
|
||
|
|
||
|
comment "gdb/gdbserver >= 8.x needs a toolchain w/ C++, gcc >= 4.8"
|
||
|
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
|
||
|
|
||
|
config BR2_PACKAGE_GDB
|
||
|
bool "gdb"
|
||
|
depends on BR2_TOOLCHAIN_HAS_THREADS && BR2_TOOLCHAIN_HAS_THREADS_DEBUG
|
||
|
depends on BR2_PACKAGE_GDB_ARCH_SUPPORTS
|
||
|
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
|
||
|
depends on BR2_INSTALL_LIBSTDCPP
|
||
|
# The or1k musl port is incomplete, elf_gregset_t definition is missing:
|
||
|
# https://git.musl-libc.org/cgit/musl/tree/arch/or1k/bits/user.h?h=v1.2.3
|
||
|
depends on !BR2_or1k || !BR2_TOOLCHAIN_USES_MUSL
|
||
|
# When the external toolchain gdbserver is copied to the
|
||
|
# target, we don't allow building a separate gdbserver. The
|
||
|
# one from the external toolchain should be used.
|
||
|
select BR2_PACKAGE_GDB_SERVER if \
|
||
|
(!BR2_PACKAGE_GDB_DEBUGGER && !BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY)
|
||
|
help
|
||
|
GDB, the GNU Project debugger, allows you to see what is
|
||
|
going on `inside' another program while it executes -- or
|
||
|
what another program was doing at the moment it crashed.
|
||
|
|
||
|
This option allows to build gdbserver and/or the gdb
|
||
|
debugger for the target.
|
||
|
|
||
|
For embedded development, the most common solution is to
|
||
|
build only 'gdbserver' for the target, and use a cross-gdb
|
||
|
on the host. See BR2_PACKAGE_HOST_GDB in the Toolchain menu
|
||
|
to enable one. Notice that external toolchains often provide
|
||
|
their own pre-built cross-gdb and gdbserver binaries.
|
||
|
|
||
|
http://www.gnu.org/software/gdb/
|
||
|
|
||
|
if BR2_PACKAGE_GDB
|
||
|
|
||
|
config BR2_PACKAGE_GDB_SERVER
|
||
|
bool "gdbserver"
|
||
|
depends on !BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY
|
||
|
help
|
||
|
Build the gdbserver stub to run on the target.
|
||
|
A full gdb is needed to debug the progam.
|
||
|
|
||
|
config BR2_PACKAGE_GDB_DEBUGGER
|
||
|
bool "full debugger"
|
||
|
depends on BR2_USE_WCHAR
|
||
|
depends on !BR2_sh
|
||
|
select BR2_PACKAGE_GMP if !BR2_arc
|
||
|
select BR2_PACKAGE_NCURSES
|
||
|
select BR2_PACKAGE_ZLIB
|
||
|
|
||
|
comment "full gdb on target needs a toolchain w/ wchar"
|
||
|
depends on !BR2_sh
|
||
|
depends on !BR2_USE_WCHAR
|
||
|
|
||
|
if BR2_PACKAGE_GDB_DEBUGGER
|
||
|
|
||
|
config BR2_PACKAGE_GDB_TUI
|
||
|
bool "TUI support"
|
||
|
help
|
||
|
This option enables terminal user interface (TUI) for gdb
|
||
|
|
||
|
"The GDB Text User Interface (TUI) is a terminal interface
|
||
|
which uses the curses library to show the source file, the
|
||
|
assembly output, the program registers and GDB commands in
|
||
|
separate text windows."
|
||
|
|
||
|
https://sourceware.org/gdb/current/onlinedocs/gdb/TUI.html
|
||
|
|
||
|
config BR2_PACKAGE_GDB_PYTHON
|
||
|
bool "Python support"
|
||
|
depends on BR2_PACKAGE_PYTHON3
|
||
|
help
|
||
|
This option enables Python support in the target gdb.
|
||
|
|
||
|
endif
|
||
|
|
||
|
endif
|