123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- config BR2_PACKAGE_GDB_ARCH_SUPPORTS
- bool
- default y
- depends on !((BR2_arm || BR2_armeb) && BR2_BINFMT_FLAT)
- depends on !BR2_microblaze
- depends on !BR2_nios2
- depends on !BR2_or1k
- depends on !BR2_nds32
- 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
- # no gdbserver on riscv
- select BR2_PACKAGE_GDB_DEBUGGER if BR2_riscv
- # 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
- if !BR2_PACKAGE_HOST_GDB
- choice
- prompt "GDB Package debugger Version"
- default BR2_PACKAGE_GDB_VERSION_8_3
- depends on !BR2_arc
- depends on !BR2_csky
- help
- Select the version of gdb you wish to use.
- config BR2_PACKAGE_GDB_VERSION_8_2
- bool "gdb 8.2.x"
- config BR2_PACKAGE_GDB_VERSION_8_3
- bool "gdb 8.3.x"
- config BR2_PACKAGE_GDB_VERSION_9_2
- bool "gdb 9.2.x"
- endchoice
- endif
- config BR2_PACKAGE_GDB_SERVER
- bool "gdbserver"
- depends on !BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY
- depends on !BR2_riscv
- 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
- depends on !BR2_csky
- select BR2_PACKAGE_NCURSES
- 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"
- # Only Python 2.x is supported by gdb for now
- depends on BR2_PACKAGE_PYTHON
- help
- This option enables Python support in the target gdb.
- endif
- endif
|