gdb: adjust behavior when thread debug is not available
PATCH 1/1 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 either avr32 of bfin, since those architectures have special old gdb versions
--- toolchain/gdb/Config.in | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-)
toolchain/gdb/Config.in +11 -3
@@ -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
Signature · 1 line
1.7.9.5
PATCH 1/1 gdb: adjust behavior when thread debug is not available
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Thomas" == Thomas Petazzoni <[email protected]> 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?
Signature · 1 line
Bye, Peter Korsgaard
PATCH 1/1 gdb: adjust behavior when thread debug is not available
Le Thu, 17 May 2012 23:54:06 +0200,
Peter Korsgaard <[email protected]> a ?crit :
Quoted 5 lines
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
Signature · 4 lines
Thomas Petazzoni, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com