2004-10-09 07:33:05 +02:00
|
|
|
comment "Gdb Options"
|
|
|
|
|
2004-10-09 03:06:03 +02:00
|
|
|
config BR2_PACKAGE_GDB
|
|
|
|
bool "Build gdb debugger for the Target"
|
2004-10-10 03:16:29 +02:00
|
|
|
select BR2_PACKAGE_NCURSES
|
2010-04-19 11:05:30 +02:00
|
|
|
depends on BR2_USE_WCHAR
|
2012-12-18 22:28:14 +01:00
|
|
|
depends on BR2_TOOLCHAIN_HAS_THREADS
|
2012-11-16 04:57:10 +01:00
|
|
|
depends on !BR2_sh && !BR2_sh64 && !BR2_avr32 && !BR2_microblaze && !BR2_bfin && !BR2_aarch64
|
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-06-02 08:39:16 +02:00
|
|
|
# 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
|
2004-10-09 03:06:03 +02:00
|
|
|
help
|
2005-01-23 12:09:40 +01:00
|
|
|
Build the full gdb debugger to run on the target.
|
2004-10-09 03:06:03 +02:00
|
|
|
|
2012-12-18 22:28:14 +01:00
|
|
|
comment "Gdb for the target needs WCHAR and threads support in toolchain"
|
|
|
|
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
|
2010-04-19 11:05:30 +02:00
|
|
|
|
2004-10-09 03:06:03 +02:00
|
|
|
config BR2_PACKAGE_GDB_SERVER
|
|
|
|
bool "Build gdb server for the Target"
|
2012-03-14 23:49:57 +01:00
|
|
|
depends on !BR2_TOOLCHAIN_EXTERNAL
|
2004-10-09 03:06:03 +02:00
|
|
|
help
|
2005-01-23 12:09:40 +01:00
|
|
|
Build the gdbserver stub to run on the target.
|
|
|
|
A full gdb is needed to debug the progam.
|
|
|
|
|
2012-03-14 23:49:57 +01:00
|
|
|
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.
|
|
|
|
|
2006-04-06 20:08:44 +02:00
|
|
|
config BR2_PACKAGE_GDB_HOST
|
|
|
|
bool "Build gdb for the Host"
|
2010-07-29 09:38:20 +02:00
|
|
|
# cross-gdb is supposed to be part of the external
|
|
|
|
# toolchain. And the build currently fails.
|
|
|
|
depends on !BR2_TOOLCHAIN_EXTERNAL
|
2005-01-23 12:09:40 +01:00
|
|
|
help
|
2006-04-06 20:08:44 +02:00
|
|
|
Build gdb to run on the host to debug programs run on the target.
|
2004-10-09 03:06:03 +02:00
|
|
|
|
|
|
|
choice
|
2005-06-25 21:01:23 +02:00
|
|
|
prompt "GDB debugger Version"
|
2011-11-23 23:31:23 +01:00
|
|
|
default BR2_GDB_VERSION_6_6 if BR2_bfin
|
2009-12-14 11:38:58 +01:00
|
|
|
default BR2_GDB_VERSION_6_7_1_AVR32_2_1_5 if BR2_avr32
|
2013-01-24 02:33:53 +01:00
|
|
|
default BR2_GDB_VERSION_7_5
|
2006-04-06 20:08:44 +02:00
|
|
|
depends on BR2_PACKAGE_GDB || BR2_PACKAGE_GDB_SERVER || BR2_PACKAGE_GDB_HOST
|
2004-10-09 03:06:03 +02:00
|
|
|
help
|
2005-03-21 03:33:24 +01:00
|
|
|
Select the version of gdb you wish to use.
|
2004-10-09 03:06:03 +02:00
|
|
|
|
2007-05-15 13:33:08 +02:00
|
|
|
config BR2_GDB_VERSION_6_6
|
|
|
|
bool "gdb 6.6"
|
2011-10-05 16:14:26 +02:00
|
|
|
depends on BR2_bfin
|
2008-03-30 09:09:07 +02:00
|
|
|
|
2009-12-14 11:38:58 +01:00
|
|
|
config BR2_GDB_VERSION_6_7_1_AVR32_2_1_5
|
|
|
|
depends on BR2_avr32
|
|
|
|
bool "gdb 6.7.1-avr32-2.1.5"
|
|
|
|
|
2011-10-05 16:58:55 +02:00
|
|
|
config BR2_GDB_VERSION_7_2
|
|
|
|
bool "gdb 7.2.x"
|
|
|
|
depends on !BR2_bfin
|
2013-01-24 14:44:06 +01:00
|
|
|
depends on BR2_DEPRECATED
|
2011-11-24 14:26:52 +01:00
|
|
|
depends on BR2_TOOLCHAIN_HAS_THREADS_DEBUG_IF_NEEDED
|
|
|
|
select BR2_PTHREAD_DEBUG if (BR2_TOOLCHAIN_BUILDROOT && !BR2_PTHREADS_NONE)
|
2011-10-05 16:58:55 +02:00
|
|
|
|
2011-10-04 11:05:47 +02:00
|
|
|
config BR2_GDB_VERSION_7_3
|
|
|
|
bool "gdb 7.3.x"
|
|
|
|
depends on !BR2_bfin
|
2013-01-24 14:44:06 +01:00
|
|
|
depends on BR2_DEPRECATED
|
2011-11-24 14:26:52 +01:00
|
|
|
depends on BR2_TOOLCHAIN_HAS_THREADS_DEBUG_IF_NEEDED
|
|
|
|
select BR2_PTHREAD_DEBUG if (BR2_TOOLCHAIN_BUILDROOT && !BR2_PTHREADS_NONE)
|
2011-10-04 11:05:47 +02:00
|
|
|
|
2012-01-24 22:28:47 +01:00
|
|
|
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)
|
|
|
|
|
2013-01-24 02:33:53 +01:00
|
|
|
config BR2_GDB_VERSION_7_5
|
|
|
|
bool "gdb 7.5.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)
|
|
|
|
|
2004-10-09 03:06:03 +02:00
|
|
|
endchoice
|
|
|
|
|
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-06-02 08:39:16 +02:00
|
|
|
comment "gdb support needs pthread debug support in toolchain"
|
|
|
|
depends on !BR2_DEPRECATED && !BR2_bfin && !BR2_TOOLCHAIN_HAS_THREADS_DEBUG_IF_NEEDED
|
2011-11-24 14:26:52 +01:00
|
|
|
|
2004-10-09 03:06:03 +02:00
|
|
|
config BR2_GDB_VERSION
|
|
|
|
string
|
toolchain/gdb: fixup version strings
The gdb tarballs have been re-released after a GPL compliance
issue was found:
http://sourceware.org/ml/gdb/2011-09/msg00030.html
So all versions were re-packaged.
In the process, an 'a' was appended to the version strings, and
unlike the binutils people, the gdb folks are not inclined in
providing legacy symlinks:
http://sourceware.org/ml/gdb/2011-09/msg00036.html
So, this patch fixes the issue by renaming version strings. It is to be
noted that, although the versions got bumped to include an 'a' at the end,
the directory contained in the tarball is still named after the version
string without the 'a'. For example:
- old version : 6.6
- new version : 6.6a
- tarball name : gdb-6.6a.tar.bz2
- directory name : gdb-6.6/
In fact, it does not pose any problem for buildroot, as the extract process
explicitly mkdirs the directory to extract into, *and* strips the first level
of the tree extracted from the tarball.
[Peter: fixup patch to apply to head, don't rename config symbols]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-09-13 23:57:30 +02:00
|
|
|
default "6.6a" if BR2_GDB_VERSION_6_6
|
2009-12-14 11:38:58 +01:00
|
|
|
default "6.7.1-avr32-2.1.5" if BR2_GDB_VERSION_6_7_1_AVR32_2_1_5
|
2011-10-05 16:58:55 +02:00
|
|
|
default "7.2a" if BR2_GDB_VERSION_7_2
|
2011-10-04 11:05:47 +02:00
|
|
|
default "7.3.1" if BR2_GDB_VERSION_7_3
|
2012-04-26 16:25:03 +02:00
|
|
|
default "7.4.1" if BR2_GDB_VERSION_7_4
|
2013-01-24 02:33:53 +01:00
|
|
|
default "7.5.1" if BR2_GDB_VERSION_7_5
|