1config BR2_PACKAGE_GDB_ARCH_SUPPORTS 2 bool 3 default y 4 depends on !((BR2_arm || BR2_armeb) && BR2_BINFMT_FLAT) 5 depends on !BR2_microblaze 6 7comment "gdb needs a glibc or uclibc toolchain" 8 depends on BR2_or1k 9 depends on BR2_TOOLCHAIN_USES_MUSL 10 11comment "gdb/gdbserver needs a toolchain w/ threads, threads debug" 12 depends on BR2_PACKAGE_GDB_ARCH_SUPPORTS 13 depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_HAS_THREADS_DEBUG 14 15comment "gdb/gdbserver >= 8.x needs a toolchain w/ C++, gcc >= 4.8" 16 depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 17 18config BR2_PACKAGE_GDB 19 bool "gdb" 20 depends on BR2_TOOLCHAIN_HAS_THREADS && BR2_TOOLCHAIN_HAS_THREADS_DEBUG 21 depends on BR2_PACKAGE_GDB_ARCH_SUPPORTS 22 depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 23 depends on BR2_INSTALL_LIBSTDCPP 24 # The or1k musl port is incomplete, elf_gregset_t definition is missing: 25 # https://git.musl-libc.org/cgit/musl/tree/arch/or1k/bits/user.h?h=v1.2.3 26 depends on !BR2_or1k || !BR2_TOOLCHAIN_USES_MUSL 27 # When the external toolchain gdbserver is copied to the 28 # target, we don't allow building a separate gdbserver. The 29 # one from the external toolchain should be used. 30 select BR2_PACKAGE_GDB_SERVER if \ 31 (!BR2_PACKAGE_GDB_DEBUGGER && !BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY) 32 help 33 GDB, the GNU Project debugger, allows you to see what is 34 going on `inside' another program while it executes -- or 35 what another program was doing at the moment it crashed. 36 37 This option allows to build gdbserver and/or the gdb 38 debugger for the target. 39 40 For embedded development, the most common solution is to 41 build only 'gdbserver' for the target, and use a cross-gdb 42 on the host. See BR2_PACKAGE_HOST_GDB in the Toolchain menu 43 to enable one. Notice that external toolchains often provide 44 their own pre-built cross-gdb and gdbserver binaries. 45 46 http://www.gnu.org/software/gdb/ 47 48if BR2_PACKAGE_GDB 49 50config BR2_PACKAGE_GDB_SERVER 51 bool "gdbserver" 52 depends on !BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY 53 help 54 Build the gdbserver stub to run on the target. 55 A full gdb is needed to debug the progam. 56 57config BR2_PACKAGE_GDB_DEBUGGER 58 bool "full debugger" 59 depends on BR2_USE_WCHAR 60 depends on !BR2_sh 61 select BR2_PACKAGE_GMP 62 select BR2_PACKAGE_MPFR if (BR2_GDB_VERSION_14 || BR2_arc) 63 select BR2_PACKAGE_NCURSES 64 select BR2_PACKAGE_ZLIB 65 66comment "full gdb on target needs a toolchain w/ wchar" 67 depends on !BR2_sh 68 depends on !BR2_USE_WCHAR 69 70if BR2_PACKAGE_GDB_DEBUGGER 71 72config BR2_PACKAGE_GDB_TUI 73 bool "TUI support" 74 help 75 This option enables terminal user interface (TUI) for gdb 76 77 "The GDB Text User Interface (TUI) is a terminal interface 78 which uses the curses library to show the source file, the 79 assembly output, the program registers and GDB commands in 80 separate text windows." 81 82 https://sourceware.org/gdb/current/onlinedocs/gdb/TUI.html 83 84config BR2_PACKAGE_GDB_PYTHON 85 bool "Python support" 86 depends on BR2_PACKAGE_PYTHON3 87 help 88 This option enables Python support in the target gdb. 89 90endif 91 92endif 93