* [Buildroot] [PATCH] gdb: adjust behavior when thread debug is not available
@ 2012-05-17 14:05 Thomas Petazzoni
2012-05-17 21:54 ` Peter Korsgaard
0 siblings, 1 reply; 5+ messages in thread
From: Thomas Petazzoni @ 2012-05-17 14:05 UTC (permalink / raw)
To: buildroot
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 either avr32 of bfin, since those architectures have special
old gdb versions
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
toolchain/gdb/Config.in | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/toolchain/gdb/Config.in b/toolchain/gdb/Config.in
index c9c54b8..4670b25 100644
--- a/toolchain/gdb/Config.in
+++ b/toolchain/gdb/Config.in
@@ -5,6 +5,15 @@ config BR2_PACKAGE_GDB
select BR2_PACKAGE_NCURSES
depends on BR2_USE_WCHAR
depends on BR2_TOOLCHAIN_HAS_THREADS
+ # 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), or old versions (as is
+ # the case for bfin and avr32 architectures)
+ depends on \
+ BR2_TOOLCHAIN_HAS_THREADS_DEBUG_IF_NEEDED || \
+ BR2_DEPRECATED || \
+ BR2_bfin || \
+ BR2_avr32
depends on !BR2_sh && !BR2_sh64
help
Build the full gdb debugger to run on the target.
@@ -90,9 +99,8 @@ choice
endchoice
-comment "gdb 7.x support needs pthread debug support in toolchain"
- depends on BR2_PACKAGE_GDB || BR2_PACKAGE_GDB_SERVER || BR2_PACKAGE_GDB_HOST
- depends on !BR2_TOOLCHAIN_HAS_THREADS_DEBUG_IF_NEEDED
+comment "gdb support needs pthread debug support in toolchain"
+ depends on !BR2_DEPRECATED && !BR2_avr32 && !BR2_bfin && !BR2_TOOLCHAIN_HAS_THREADS_DEBUG_IF_NEEDED
config BR2_GDB_VERSION
string
--
1.7.9.5
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH] gdb: adjust behavior when thread debug is not available
2012-05-17 14:05 [Buildroot] [PATCH] gdb: adjust behavior when thread debug is not available Thomas Petazzoni
@ 2012-05-17 21:54 ` Peter Korsgaard
2012-05-18 6:21 ` Thomas Petazzoni
0 siblings, 1 reply; 5+ messages in thread
From: Peter Korsgaard @ 2012-05-17 21:54 UTC (permalink / raw)
To: buildroot
>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:
Thomas> When an external toolchain without thread debug is used, the gdb
Thomas> package can be selected, but no version can be choosen, since none
Thomas> match any of the requirements. This leads Buildroot to try to build
Thomas> gdb for the target without a version being defined, as in the
Thomas> following build log:
Thomas> http://autobuild.buildroot.org/results/84e8fd2df0cc22448052a572c2e9a6e03dd137eb/build-end.log
Thomas> To fix this, we adjust the dependencies of the BR2_PACKAGE_GDB option
Thomas> so that the package as a whole is not selectable when the required
Thomas> conditions are not met. Basically, we have the choice of:
Thomas> * Having a toolchain that supports thread debugging, which is needed
Thomas> for gdb >= 7.x
Thomas> * Having BR2_DEPRECATED enabled, which allows gdb 6.8 to be selected,
Thomas> which doesn't require thread debugging
Thomas> * Using either avr32 of bfin, since those architectures have special
Thomas> old gdb versions
Thanks, but this conflicts with your recent 'gdb: not available on
avr32' patch. Looking at that patch it seems you can drop the avr32
handling.
Care to fix and resend?
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH] gdb: adjust behavior when thread debug is not available
2012-05-17 21:54 ` Peter Korsgaard
@ 2012-05-18 6:21 ` Thomas Petazzoni
0 siblings, 0 replies; 5+ messages in thread
From: Thomas Petazzoni @ 2012-05-18 6:21 UTC (permalink / raw)
To: buildroot
Le Thu, 17 May 2012 23:54:06 +0200,
Peter Korsgaard <jacmet@uclibc.org> a ?crit :
> Thanks, but this conflicts with your recent 'gdb: not available on
> avr32' patch. Looking at that patch it seems you can drop the avr32
> handling.
>
> Care to fix and resend?
Will look at it, yes.
Thanks,
Thomas
--
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH] gdb: adjust behavior when thread debug is not available
@ 2012-06-02 16:39 Thomas Petazzoni
2012-11-03 16:54 ` Peter Korsgaard
0 siblings, 1 reply; 5+ messages in thread
From: Thomas Petazzoni @ 2012-06-02 16:39 UTC (permalink / raw)
To: buildroot
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>
---
toolchain/gdb/Config.in | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/toolchain/gdb/Config.in b/toolchain/gdb/Config.in
index fd6956b..7e4539d 100644
--- a/toolchain/gdb/Config.in
+++ b/toolchain/gdb/Config.in
@@ -4,8 +4,14 @@ config BR2_PACKAGE_GDB
bool "Build gdb debugger for the Target"
select BR2_PACKAGE_NCURSES
depends on BR2_USE_WCHAR
- depends on BR2_TOOLCHAIN_HAS_THREADS
depends on !BR2_sh && !BR2_sh64 && !BR2_avr32
+ # 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.
@@ -90,9 +96,8 @@ choice
endchoice
-comment "gdb 7.x support needs pthread debug support in toolchain"
- depends on BR2_PACKAGE_GDB || BR2_PACKAGE_GDB_SERVER || BR2_PACKAGE_GDB_HOST
- depends on !BR2_TOOLCHAIN_HAS_THREADS_DEBUG_IF_NEEDED
+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
--
1.7.9.5
^ permalink raw reply related [flat|nested] 5+ messages in thread
end of thread, other threads:[~2012-11-03 16:54 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-05-17 14:05 [Buildroot] [PATCH] gdb: adjust behavior when thread debug is not available Thomas Petazzoni
2012-05-17 21:54 ` Peter Korsgaard
2012-05-18 6:21 ` Thomas Petazzoni
-- strict thread matches above, loose matches on Subject: below --
2012-06-02 16:39 Thomas Petazzoni
2012-11-03 16:54 ` Peter Korsgaard
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox