From patchwork Sat Jun 2 16:39:16 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thomas Petazzoni X-Patchwork-Id: 162440 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from whitealder.osuosl.org (whitealder.osuosl.org [140.211.166.138]) by ozlabs.org (Postfix) with ESMTP id D2F9DB7011 for ; Sun, 3 Jun 2012 02:39:34 +1000 (EST) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 47B548D64E; Sat, 2 Jun 2012 16:39:30 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id qPnzV91FbM6k; Sat, 2 Jun 2012 16:39:29 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by whitealder.osuosl.org (Postfix) with ESMTP id 958248D0B7; Sat, 2 Jun 2012 16:39:28 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from whitealder.osuosl.org (whitealder.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id 3FDFD8F753 for ; Sat, 2 Jun 2012 16:39:27 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 3A2E78D0B7 for ; Sat, 2 Jun 2012 16:39:27 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Wcn2SDN33cvk for ; Sat, 2 Jun 2012 16:39:26 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail.free-electrons.com (mail.free-electrons.com [88.190.12.23]) by whitealder.osuosl.org (Postfix) with ESMTP id 08B7D8D021 for ; Sat, 2 Jun 2012 16:39:26 +0000 (UTC) Received: by mail.free-electrons.com (Postfix, from userid 106) id 041EE191; Sat, 2 Jun 2012 18:38:26 +0200 (CEST) Received: from localhost (unknown [78.250.250.16]) by mail.free-electrons.com (Postfix) with ESMTPSA id DB5E913D for ; Sat, 2 Jun 2012 18:38:18 +0200 (CEST) From: Thomas Petazzoni To: buildroot@uclibc.org Date: Sat, 2 Jun 2012 18:39:16 +0200 Message-Id: <1338655156-4133-1-git-send-email-thomas.petazzoni@free-electrons.com> X-Mailer: git-send-email 1.7.9.5 Subject: [Buildroot] [PATCH] gdb: adjust behavior when thread debug is not available X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.14 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: buildroot-bounces@busybox.net 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 --- 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