comment "gdb/gdbserver require a toolchain with thread and thread debug support" depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_HAS_THREADS_DEBUG config BR2_PACKAGE_GDB bool "gdb" # 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) depends on BR2_TOOLCHAIN_HAS_THREADS && BR2_TOOLCHAIN_HAS_THREADS_DEBUG depends on !BR2_aarch64 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" select BR2_PACKAGE_NCURSES depends on BR2_USE_WCHAR depends on !BR2_sh && !BR2_sh64 && !BR2_avr32 && !BR2_microblaze && !BR2_bfin comment "full gdb on target needs WCHAR support in toolchain" depends on !BR2_USE_WCHAR endif