From patchwork Fri Sep 11 18:49:39 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Burgess X-Patchwork-Id: 8650 Received: (qmail 54990 invoked by alias); 11 Sep 2015 18:50:02 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 54969 invoked by uid 89); 11 Sep 2015 18:50:02 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-1.1 required=5.0 tests=AWL, BAYES_00, KAM_LAZY_DOMAIN_SECURITY, RCVD_IN_DNSWL_LOW autolearn=no version=3.3.2 X-HELO: mail-wi0-f172.google.com Received: from mail-wi0-f172.google.com (HELO mail-wi0-f172.google.com) (209.85.212.172) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Fri, 11 Sep 2015 18:49:59 +0000 Received: by wicge5 with SMTP id ge5so73835622wic.0 for ; Fri, 11 Sep 2015 11:49:56 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:in-reply-to:references; bh=lZh32h//srmGC7aSQd7d67yyh2FZ3DItvtdgjBTd7B4=; b=e8zHYGYk0TCu8X3s0imkpY8lu5NMfhCHppBvJHBGr/mJfcQMNfjaQ92YKqmvlMHVbD DLgiDamabOgEBJvSDdqzTa3cLI5JGB0hKZn9YdGEw8BMe9ziwGpEZGHeD7/xs7EBqPnx SRWAEYZRbfpbUIQDuTEUFTpB/218a1qLCoRN8WPqexH5aR9JPtvN8LbdNxfU38iB/PGj +3SaqMrlnoLgblAAGfjEkEnqCkC1YGM2aAvp4lssovh+ltmxHR8/GB2fNmgYbZctoL4/ o+/tSPosJRqtrI7YOZr4rZ/vEH8Qjy5qCpp5rYTrd+xeO12C1mMnRgqENTT2u7MHuYe2 SHQg== X-Gm-Message-State: ALoCoQm6Dq+fzF7ErRbKVZq5bBOEbZk/EdCQ/cxWlpMwA0OjjtROEzKlopRnnlbD0Qb4dc15rie8 X-Received: by 10.194.9.42 with SMTP id w10mr445899wja.146.1441997396205; Fri, 11 Sep 2015 11:49:56 -0700 (PDT) Received: from localhost (host81-131-206-173.range81-131.btcentralplus.com. [81.131.206.173]) by smtp.gmail.com with ESMTPSA id hk5sm1701230wjb.6.2015.09.11.11.49.55 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 11 Sep 2015 11:49:55 -0700 (PDT) From: Andrew Burgess To: gdb-patches@sourceware.org Cc: Andrew Burgess Subject: [PATCH 5/9] gdb: Fix bug with dbx style func command. Date: Fri, 11 Sep 2015 19:49:39 +0100 Message-Id: <8629fd6198d107d87d4db9b3eec45774bfaae2b6.1441996064.git.andrew.burgess@embecosm.com> In-Reply-To: References: In-Reply-To: References: X-IsSubscribed: yes The func command, available when starting gdb in dbx mode, is supposed to take a function name and locate the frame for that function in the stack. This has been broken for a while due to an invalid check of the arguments within the worker function. Fixed in this commit. gdb/ChangeLog: * stack.c (func_command): Return early when there is no ARG string. gdb/testsuite/ChangeLog: * gdb.base/dbx.exp (test_func): Remove xfails, update expected results. --- gdb/ChangeLog | 5 +++++ gdb/stack.c | 2 +- gdb/testsuite/ChangeLog | 5 +++++ gdb/testsuite/gdb.base/dbx.exp | 6 +----- 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 50aa7f0..7c4b567 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,10 @@ 2015-09-11 Andrew Burgess + * stack.c (func_command): Return early when there is no ARG + string. + +2015-09-11 Andrew Burgess + * stack.c: Include safe-ctype.h not ctype.h. (parse_frame_specification): Use ISSPACE not isspace. (backtrace_command): Use TOLOWER not tolower. diff --git a/gdb/stack.c b/gdb/stack.c index 2fe176f..1049995 100644 --- a/gdb/stack.c +++ b/gdb/stack.c @@ -2527,7 +2527,7 @@ func_command (char *arg, int from_tty) struct function_bounds *func_bounds = NULL; struct cleanup *cleanups; - if (arg != NULL) + if (arg == NULL) return; frame = parse_frame_specification ("0"); diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index ee0ad76..272d3fc 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,5 +1,10 @@ 2015-09-11 Andrew Burgess + * gdb.base/dbx.exp (test_func): Remove xfails, update expected + results. + +2015-09-11 Andrew Burgess + * gdb.base/create-frame.exp: Add test for 'info frame' with specific address. diff --git a/gdb/testsuite/gdb.base/dbx.exp b/gdb/testsuite/gdb.base/dbx.exp index 19dba62..75cb0fd 100644 --- a/gdb/testsuite/gdb.base/dbx.exp +++ b/gdb/testsuite/gdb.base/dbx.exp @@ -293,15 +293,11 @@ proc test_func { } { global srcfile2 gdb_test "cont" ".*" "cont 1" gdb_test "step" ".*" - # This always fails, but it's not clear why. -sts 1999-08-17 - setup_xfail "*-*-*" gdb_test "func sum" "'sum' not within current stack frame\." set stop_line [gdb_get_line_number "stop-in-sum" $srcfile2] gdb_test "stop in sum" "Breakpoint.*at.*: file.*sum\.c, line $stop_line\." gdb_test "cont" ".*" "cont 2" - # This always fails, but it's not clear why. -sts 1999-08-17 - setup_xfail "*-*-*" - gdb_test "func print_average" ".*in print_average.*\\(list=.*, low=0, high=6\\).*at.*average\.c:${decimal}\r\n\${decimal}\[ \t\]+total = sum\\(list, low, high\\);" + gdb_test "func print_average" ".*in print_average.*\\(list=.*, low=0, high=6\\).*at.*average\.c:${decimal}\r\n${decimal}\[ \t\]+total = sum\\(list, low, high\\);" } # Start with a fresh gdb.