gdb: convert to the package infrastructure
This commit converts gdb to the package infrastructure, and therefore
moves it from toolchain/gdb to package/gdb.
The target package is now visible in "Package selection for the
target" => "Debugging, profiling and benchmark". The main option,
"gdb", forcefully selects the "gdbserver" sub-option by
default. Another sub-option, "full debugger" allows to install the
complete gdb on the target. When this option is enabled, then
"gdbserver" is no longer forcefully selected. This ensures that at
least gdbserver or the full debugger gets built/installed, so that the
package is not a no-op.
The host debugger is still enabled through a configuration option in
"Toolchain". It is now visible regardless of the toolchain type (it
used to be hidden for External Toolchains). The configuration options
relative to the host debugger are now in package/gdb/Config.in.host,
similar to how we have package/binutils/Config.in.host.
Since gdb is now a proper package, it is no longer allowed to 'select
BR2_PTHREADS_DEBUG' to ensure thread debugging is available when
needed. Instead, it now 'depends on
BR2_TOOLCHAIN_HAS_THREADS_DEBUG'. This option, in turn, is selected by
the different toolchain backends when appropriate. The
'BR2_TOOLCHAIN_HAS_THREADS_DEBUG_IF_NEEDED' option is removed, since
we no longer need to know when it is allowed to 'select
BR2_PTHREADS_DEBUG'. Also, the 'BR2_PTHREADS_DEBUG' option is moved to
appear right below the thread implementation selection (in the case of
the Buildroot toolchain backend).
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-04-07 02:04:33 +02:00
|
|
|
config BR2_PACKAGE_HOST_GDB
|
|
|
|
bool "Build cross gdb for the host"
|
2013-04-07 02:04:34 +02:00
|
|
|
# When the external toolchain gdbserver is used, we shouldn't
|
|
|
|
# allow to build a cross-gdb, as the one of the external
|
|
|
|
# toolchain should be used.
|
|
|
|
depends on !BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY
|
2013-04-13 06:09:11 +02:00
|
|
|
depends on !BR2_aarch64
|
gdb: convert to the package infrastructure
This commit converts gdb to the package infrastructure, and therefore
moves it from toolchain/gdb to package/gdb.
The target package is now visible in "Package selection for the
target" => "Debugging, profiling and benchmark". The main option,
"gdb", forcefully selects the "gdbserver" sub-option by
default. Another sub-option, "full debugger" allows to install the
complete gdb on the target. When this option is enabled, then
"gdbserver" is no longer forcefully selected. This ensures that at
least gdbserver or the full debugger gets built/installed, so that the
package is not a no-op.
The host debugger is still enabled through a configuration option in
"Toolchain". It is now visible regardless of the toolchain type (it
used to be hidden for External Toolchains). The configuration options
relative to the host debugger are now in package/gdb/Config.in.host,
similar to how we have package/binutils/Config.in.host.
Since gdb is now a proper package, it is no longer allowed to 'select
BR2_PTHREADS_DEBUG' to ensure thread debugging is available when
needed. Instead, it now 'depends on
BR2_TOOLCHAIN_HAS_THREADS_DEBUG'. This option, in turn, is selected by
the different toolchain backends when appropriate. The
'BR2_TOOLCHAIN_HAS_THREADS_DEBUG_IF_NEEDED' option is removed, since
we no longer need to know when it is allowed to 'select
BR2_PTHREADS_DEBUG'. Also, the 'BR2_PTHREADS_DEBUG' option is moved to
appear right below the thread implementation selection (in the case of
the Buildroot toolchain backend).
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-04-07 02:04:33 +02:00
|
|
|
help
|
|
|
|
Build a cross gdb that runs on the host machine and debugs
|
|
|
|
programs running on the target. It requires 'gdbserver'
|
|
|
|
installed on the target, see BR2_PACKAGE_GDB_SERVER to
|
|
|
|
enable it.
|
|
|
|
|
|
|
|
if BR2_PACKAGE_HOST_GDB
|
|
|
|
|
|
|
|
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_5
|
|
|
|
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_7_2
|
|
|
|
bool "gdb 7.2.x"
|
|
|
|
depends on !BR2_bfin
|
|
|
|
depends on BR2_DEPRECATED
|
|
|
|
|
|
|
|
config BR2_GDB_VERSION_7_3
|
|
|
|
bool "gdb 7.3.x"
|
|
|
|
depends on !BR2_bfin
|
|
|
|
depends on BR2_DEPRECATED
|
|
|
|
|
|
|
|
config BR2_GDB_VERSION_7_4
|
|
|
|
bool "gdb 7.4.x"
|
|
|
|
depends on !BR2_bfin
|
|
|
|
|
|
|
|
config BR2_GDB_VERSION_7_5
|
|
|
|
bool "gdb 7.5.x"
|
|
|
|
depends on !BR2_bfin
|
|
|
|
|
|
|
|
endchoice
|
|
|
|
|
|
|
|
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 "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
|
|
|
|
default "7.5.1" if BR2_GDB_VERSION_7_5
|
|
|
|
|
|
|
|
endif
|