kumquat-buildroot/toolchain/gdb/Config.in
Thomas Petazzoni db09796532 gdb: adjust behavior when thread debug is not available
When an external toolchain without thread debug is used, the gdb
package can be selected, but no version can be choosen, since none
match any of the requirements. This leads Buildroot to try to build
gdb for the target without a version being defined, as in the
following build log:

 http://autobuild.buildroot.org/results/84e8fd2df0cc22448052a572c2e9a6e03dd137eb/build-end.log

To fix this, we adjust the dependencies of the BR2_PACKAGE_GDB option
so that the package as a whole is not selectable when the required
conditions are not met. Basically, we have the choice of:

 * Having a toolchain that supports thread debugging, which is needed
   for gdb >= 7.x

 * Having BR2_DEPRECATED enabled, which allows gdb 6.8 to be selected,
   which doesn't require thread debugging

 * Using bfin, since this architectures has a special old gdb version

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-03 17:51:29 +01:00

112 lines
3.4 KiB
Plaintext

comment "Gdb Options"
config BR2_PACKAGE_GDB
bool "Build gdb debugger for the Target"
select BR2_PACKAGE_NCURSES
depends on BR2_USE_WCHAR
depends on !BR2_sh && !BR2_sh64 && !BR2_avr32 && !BR2_microblaze
# The newest versions of gdb require thread debugging in the
# toolchain. The only cases for which this is not needed is if
# we use gdb 6.8 (marked deprecated)
depends on \
BR2_TOOLCHAIN_HAS_THREADS_DEBUG_IF_NEEDED || \
BR2_DEPRECATED || \
BR2_bfin
help
Build the full gdb debugger to run on the target.
comment "Gdb debugger for the target needs WCHAR support in toolchain"
depends on !BR2_USE_WCHAR
config BR2_PACKAGE_GDB_SERVER
bool "Build gdb server for the Target"
depends on !BR2_TOOLCHAIN_EXTERNAL
help
Build the gdbserver stub to run on the target.
A full gdb is needed to debug the progam.
config BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY
bool "Copy gdb server to the Target"
depends on BR2_TOOLCHAIN_EXTERNAL
help
Copy the gdbserver provided by the external toolchain to the
target.
config BR2_PACKAGE_GDB_HOST
bool "Build gdb for the Host"
# cross-gdb is supposed to be part of the external
# toolchain. And the build currently fails.
depends on !BR2_TOOLCHAIN_EXTERNAL
help
Build gdb to run on the host to debug programs run on the target.
choice
prompt "GDB debugger Version"
default BR2_GDB_VERSION_6_6 if BR2_bfin
default BR2_GDB_VERSION_6_7_1_AVR32_2_1_5 if BR2_avr32
default BR2_GDB_VERSION_7_4
depends on BR2_PACKAGE_GDB || BR2_PACKAGE_GDB_SERVER || BR2_PACKAGE_GDB_HOST
help
Select the version of gdb you wish to use.
config BR2_GDB_VERSION_6_6
bool "gdb 6.6"
depends on BR2_bfin
config BR2_GDB_VERSION_6_7_1_AVR32_2_1_5
depends on BR2_avr32
bool "gdb 6.7.1-avr32-2.1.5"
config BR2_GDB_VERSION_6_8
bool "gdb 6.8"
depends on !(BR2_avr32 || BR2_bfin)
depends on BR2_DEPRECATED
config BR2_GDB_VERSION_7_0_1
bool "gdb 7.0.1"
depends on !BR2_bfin
depends on BR2_DEPRECATED
depends on BR2_TOOLCHAIN_HAS_THREADS_DEBUG_IF_NEEDED
select BR2_PTHREAD_DEBUG if (BR2_TOOLCHAIN_BUILDROOT && !BR2_PTHREADS_NONE)
config BR2_GDB_VERSION_7_1
bool "gdb 7.1"
depends on !BR2_bfin
depends on BR2_DEPRECATED
depends on BR2_TOOLCHAIN_HAS_THREADS_DEBUG_IF_NEEDED
select BR2_PTHREAD_DEBUG if (BR2_TOOLCHAIN_BUILDROOT && !BR2_PTHREADS_NONE)
config BR2_GDB_VERSION_7_2
bool "gdb 7.2.x"
depends on !BR2_bfin
depends on BR2_TOOLCHAIN_HAS_THREADS_DEBUG_IF_NEEDED
select BR2_PTHREAD_DEBUG if (BR2_TOOLCHAIN_BUILDROOT && !BR2_PTHREADS_NONE)
config BR2_GDB_VERSION_7_3
bool "gdb 7.3.x"
depends on !BR2_bfin
depends on BR2_TOOLCHAIN_HAS_THREADS_DEBUG_IF_NEEDED
select BR2_PTHREAD_DEBUG if (BR2_TOOLCHAIN_BUILDROOT && !BR2_PTHREADS_NONE)
config BR2_GDB_VERSION_7_4
bool "gdb 7.4.x"
depends on !BR2_bfin
depends on BR2_TOOLCHAIN_HAS_THREADS_DEBUG_IF_NEEDED
select BR2_PTHREAD_DEBUG if (BR2_TOOLCHAIN_BUILDROOT && !BR2_PTHREADS_NONE)
endchoice
comment "gdb support needs pthread debug support in toolchain"
depends on !BR2_DEPRECATED && !BR2_bfin && !BR2_TOOLCHAIN_HAS_THREADS_DEBUG_IF_NEEDED
config BR2_GDB_VERSION
string
default "6.6a" if BR2_GDB_VERSION_6_6
default "6.7.1-avr32-2.1.5" if BR2_GDB_VERSION_6_7_1_AVR32_2_1_5
default "6.8a" if BR2_GDB_VERSION_6_8
default "7.0.1a" if BR2_GDB_VERSION_7_0_1
default "7.1a" if BR2_GDB_VERSION_7_1
default "7.2a" if BR2_GDB_VERSION_7_2
default "7.3.1" if BR2_GDB_VERSION_7_3
default "7.4.1" if BR2_GDB_VERSION_7_4