From patchwork Fri May 9 09:08:35 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yao Qi X-Patchwork-Id: 853 Return-Path: X-Original-To: siddhesh@wilcox.dreamhost.com Delivered-To: siddhesh@wilcox.dreamhost.com Received: from homiemail-mx23.g.dreamhost.com (mx2.sub5.homie.mail.dreamhost.com [208.113.200.128]) by wilcox.dreamhost.com (Postfix) with ESMTP id 9E7C1360098 for ; Fri, 9 May 2014 02:11:48 -0700 (PDT) Received: by homiemail-mx23.g.dreamhost.com (Postfix, from userid 14314964) id 35159637E235A; Fri, 9 May 2014 02:11:47 -0700 (PDT) X-Original-To: gdb@patchwork.siddhesh.in Delivered-To: x14314964@homiemail-mx23.g.dreamhost.com Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by homiemail-mx23.g.dreamhost.com (Postfix) with ESMTPS id C96E9637E235A for ; Fri, 9 May 2014 02:11:47 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:subject:date:message-id:mime-version :content-type; q=dns; s=default; b=pITG4Cs0H1Oila3nosfPBo32WlDag FU0H9fiRy9h33N8EDILiWGfygXci0ySwfH96tbdZfcOKMAaYY9U6NI/KSrEsgsXY CCdhJAxsRdQ/tJ6p2F4RZnbQewAdjzTdlwcF7P6FkmMOyFwYQSu+Myzx7zpro4RX DjT3kWc22SqQ+k= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:subject:date:message-id:mime-version :content-type; s=default; bh=H4iPjAtvBTzpVxyCxRJdJHMfu/Y=; b=Po2 3jEkjteeGtTabhNqyX69nY2HPD9njg+ZJvJXqth16bNaC7gCRRBeLZBSEXnsvJ16 vH/3RAjdmYqA0/pZwQ4XGzWxnndXmfwQ/HsdnJk9FujZlpuYL9pcm7sEzwWbpiRr hrh17P4IPus3nzjSDny+UxG12tsfipelsPhEVbf8= Received: (qmail 2454 invoked by alias); 9 May 2014 09:11:45 -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 2443 invoked by uid 89); 9 May 2014 09:11:43 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.7 required=5.0 tests=AWL, BAYES_00 autolearn=ham version=3.3.2 X-HELO: relay1.mentorg.com Received: from relay1.mentorg.com (HELO relay1.mentorg.com) (192.94.38.131) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 09 May 2014 09:11:42 +0000 Received: from svr-orw-fem-01.mgc.mentorg.com ([147.34.98.93]) by relay1.mentorg.com with esmtp id 1WigqB-0005qV-G4 from Yao_Qi@mentor.com for gdb-patches@sourceware.org; Fri, 09 May 2014 02:11:39 -0700 Received: from SVR-ORW-FEM-02.mgc.mentorg.com ([147.34.96.206]) by svr-orw-fem-01.mgc.mentorg.com over TLS secured channel with Microsoft SMTPSVC(6.0.3790.4675); Fri, 9 May 2014 02:11:39 -0700 Received: from qiyao.dyndns.org.com (147.34.91.1) by svr-orw-fem-02.mgc.mentorg.com (147.34.96.168) with Microsoft SMTP Server id 14.2.247.3; Fri, 9 May 2014 02:11:38 -0700 From: Yao Qi To: Subject: [PATCH] gdb_init argument ARGS is a string rather than a list Date: Fri, 9 May 2014 17:08:35 +0800 Message-ID: <1399626515-29231-1-git-send-email-yao@codesourcery.com> MIME-Version: 1.0 X-IsSubscribed: yes X-DH-Original-To: gdb@patchwork.siddhesh.in The argument ARGS of gdb_init is passed from dejagnu is a string, the test file name. In dejagnu/runtest.exp: proc runtest { test_file_name } { .... .... if [info exists tool] { if { [info procs "${tool}_init"] != "" } { ${tool}_init $test_file_name; } } .... } but GDB thinks it is a list. In default_gdb_init (callee of gdb_init), set gdb_test_file_name [file rootname [file tail [lindex $args 0]]] Fortunately, simple strings are also lists in tcl, so "[lindex $args 0]" is equivalent to "$args" if args is a string. I doubt that "[lindex $args 0]" is to be backward compatible with old dejagnu, but dejagnu-1.4 release started to pass $test_file_name to ${too}_init, as I showed above. dejagnu-1.4 was released in 2001, and it should be old enough. I also tried to check whether gdb testusite works with dejagnu-1.3 or not, but failed to build dejagnu-1.3 on my machine. Supposing GDB testsuite requires at least dejagnu-1.4, this change should be safe. This patch is update default_gdb_init to treat ARGS as a string instead of a list. Then, 'args' sounds like a list, and this patch also renames it by 'test_file_name', to align with dejagnu. gdb/testsuite: 2014-05-09 Yao Qi * lib/gdb.exp (default_gdb_init): Rename argument 'args' by 'test_file_name'. Treat args as a string instead of a list. (gdb_init): Rename argument 'args' by 'test_file_name'. --- gdb/testsuite/lib/gdb.exp | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index 3125e7a..aec86cd 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp @@ -3519,17 +3519,18 @@ proc gdb_continue { function } { return [gdb_test "continue" ".*Breakpoint $decimal, $function .*" "continue to $function"] } -proc default_gdb_init { args } { +proc default_gdb_init { test_file_name } { global gdb_wrapper_initialized global gdb_wrapper_target global gdb_test_file_name global cleanfiles + global pf_prefix set cleanfiles {} gdb_clear_suppressed - set gdb_test_file_name [file rootname [file tail [lindex $args 0]]] + set gdb_test_file_name [file rootname [file tail $test_file_name]] # Make sure that the wrapper is rebuilt # with the appropriate multilib option. @@ -3545,13 +3546,8 @@ proc default_gdb_init { args } { match_max [match_max -d] # We want to add the name of the TCL testcase to the PASS/FAIL messages. - if { [llength $args] > 0 } { - global pf_prefix + set pf_prefix "[file tail [file dirname $test_file_name]]/[file tail $test_file_name]:" - set file [lindex $args 0] - - set pf_prefix "[file tail [file dirname $file]]/[file tail $file]:" - } global gdb_prompt if [target_info exists gdb_prompt] { set gdb_prompt [target_info gdb_prompt] @@ -3687,7 +3683,7 @@ set banned_procedures { strace } # if the banned variables and procedures are already traced. set banned_traced 0 -proc gdb_init { args } { +proc gdb_init { test_file_name } { # Reset the timeout value to the default. This way, any testcase # that changes the timeout value without resetting it cannot affect # the timeout used in subsequent testcases. @@ -3766,7 +3762,7 @@ proc gdb_init { args } { set gdbserver_reconnect_p 1 unset gdbserver_reconnect_p - return [eval default_gdb_init $args] + return [eval default_gdb_init $test_file_name] } proc gdb_finish { } {