From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16144 invoked by alias); 14 May 2008 21:38:01 -0000 Received: (qmail 16135 invoked by uid 22791); 14 May 2008 21:38:00 -0000 X-Spam-Check-By: sourceware.org Received: from mtagate5.de.ibm.com (HELO mtagate5.de.ibm.com) (195.212.29.154) by sourceware.org (qpsmtpd/0.31) with ESMTP; Wed, 14 May 2008 21:37:36 +0000 Received: from d12nrmr1607.megacenter.de.ibm.com (d12nrmr1607.megacenter.de.ibm.com [9.149.167.49]) by mtagate5.de.ibm.com (8.13.8/8.13.8) with ESMTP id m4ELaMSP377516 for ; Wed, 14 May 2008 21:36:22 GMT Received: from d12av02.megacenter.de.ibm.com (d12av02.megacenter.de.ibm.com [9.149.165.228]) by d12nrmr1607.megacenter.de.ibm.com (8.13.8/8.13.8/NCO v8.7) with ESMTP id m4ELaM4M2412626 for ; Wed, 14 May 2008 23:36:22 +0200 Received: from d12av02.megacenter.de.ibm.com (loopback [127.0.0.1]) by d12av02.megacenter.de.ibm.com (8.12.11.20060308/8.13.3) with ESMTP id m4ELaM7O018040 for ; Wed, 14 May 2008 23:36:22 +0200 Received: from tuxmaker.boeblingen.de.ibm.com (tuxmaker.boeblingen.de.ibm.com [9.152.85.9]) by d12av02.megacenter.de.ibm.com (8.12.11.20060308/8.12.11) with SMTP id m4ELaM2F018037 for ; Wed, 14 May 2008 23:36:22 +0200 Message-Id: <200805142136.m4ELaM2F018037@d12av02.megacenter.de.ibm.com> Received: by tuxmaker.boeblingen.de.ibm.com (sSMTP sendmail emulation); Wed, 14 May 2008 23:36:22 +0200 Subject: [rfc] Relax "printf" function name check in annota* test cases To: gdb-patches@sourceware.org Date: Thu, 15 May 2008 00:37:00 -0000 From: "Ulrich Weigand" X-Mailer: ELM [version 2.5 PL2] MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2008-05/txt/msg00449.txt.bz2 Hello, this patch fixes the last regression after Alan's patch was applied: some sub-tests of annota1.exp and annota3.exp are now failing because when stopped at the "printf" breakpoint, the current function is not called printf, but printf@plt. I've seen similar issues with printf@GLIBC_... on other platforms as well; as it is hard to predict how the symbol will be called exactly, I'd suggest to simply accept printf@... as well. This is really unrelated to what the annota tests are intended to test anyway. Any objections to me checking in the following patch? Tested on powerpc-linux and powerpc64-linux, fixes 4 FAILs. Bye, Ulrich ChangeLog: * gdb.base/annota1.exp: Accept printf@... in place of printf. * gdb.base/annota3.exp: Likewise. diff -urNp gdb-orig/gdb/testsuite/gdb.base/annota1.exp gdb-head/gdb/testsuite/gdb.base/annota1.exp --- gdb-orig/gdb/testsuite/gdb.base/annota1.exp 2008-05-14 20:49:29.315943000 +0200 +++ gdb-head/gdb/testsuite/gdb.base/annota1.exp 2008-05-14 20:50:12.816352130 +0200 @@ -241,7 +241,7 @@ gdb_expect { # set pat_begin "\r\n\032\032post-prompt\r\nContinuing.\r\n\r\n\032\032starting\r\n\r\n\032\032frames-invalid\r\n" set pat_adjust "warning: Breakpoint 3 address previously adjusted from $hex to $hex.\r\n" -set pat_end "\r\n\032\032breakpoint 3\r\n\r\nBreakpoint 3, \r\n\032\032frame-begin 0 $hex\r\n\r\n(\032\032frame-address\r\n$hex\r\n\032\032frame-address-end\r\n in \r\n)*.*\032\032frame-function-name\r\n.*printf\r\n\032\032frame-args\r\n.*\032\032frame-end\r\n\r\n\032\032stopped\r\n$gdb_prompt$" +set pat_end "\r\n\032\032breakpoint 3\r\n\r\nBreakpoint 3, \r\n\032\032frame-begin 0 $hex\r\n\r\n(\032\032frame-address\r\n$hex\r\n\032\032frame-address-end\r\n in \r\n)*.*\032\032frame-function-name\r\n.*printf(@.*)?\r\n\032\032frame-args\r\n.*\032\032frame-end\r\n\r\n\032\032stopped\r\n$gdb_prompt$" gdb_test_multiple "continue" "continue to printf" { -re "${pat_begin}($pat_adjust)?$pat_end" { @@ -256,7 +256,7 @@ gdb_test_multiple "continue" "continue t # annotate-frame-address # annotate-frame-address-end # -set pat_begin "\r\n\032\032post-prompt\r\n\r\n\032\032frame-begin 0 $hex\r\n.0 \r\n(\032\032frame-address\r\n$hex\r\n\032\032frame-address-end\r\n in \r\n)*\032\032frame-function-name\r\n.*printf\r\n\032\032frame-args\r\n \\(.*frame-end\r\n\r\n\032\032frame-begin 1 $hex\r\n.1 \r\n\032\032frame-address\r\n$hex\r\n\032\032frame-address-end\r\n in \r\n\032\032frame-function-name\r\nmain\r\n\032\032frame-args\r\n \\(\\)\r\n\032\032frame-source-begin\r\n at \r\n\032\032frame-source-file\r\n" +set pat_begin "\r\n\032\032post-prompt\r\n\r\n\032\032frame-begin 0 $hex\r\n.0 \r\n(\032\032frame-address\r\n$hex\r\n\032\032frame-address-end\r\n in \r\n)*\032\032frame-function-name\r\n.*printf(@.*)?\r\n\032\032frame-args\r\n \\(.*frame-end\r\n\r\n\032\032frame-begin 1 $hex\r\n.1 \r\n\032\032frame-address\r\n$hex\r\n\032\032frame-address-end\r\n in \r\n\032\032frame-function-name\r\nmain\r\n\032\032frame-args\r\n \\(\\)\r\n\032\032frame-source-begin\r\n at \r\n\032\032frame-source-file\r\n" set pat_end "\r\n\032\032frame-source-file-end\r\n:\r\n\032\032frame-source-line\r\n.*\r\n\032\032frame-source-end\r\n\r\n\r\n\032\032frame-end\r\n(\r\n\032\032frame-begin .*\r\n\r\n\032\032frame-end\r\n)*$gdb_prompt$" send_gdb "backtrace\n" gdb_expect { diff -urNp gdb-orig/gdb/testsuite/gdb.base/annota3.exp gdb-head/gdb/testsuite/gdb.base/annota3.exp --- gdb-orig/gdb/testsuite/gdb.base/annota3.exp 2008-05-14 20:49:29.320943000 +0200 +++ gdb-head/gdb/testsuite/gdb.base/annota3.exp 2008-05-14 21:01:18.207924022 +0200 @@ -227,7 +227,7 @@ gdb_expect_list "continue to printf" "$g send_gdb "backtrace\n" gdb_expect_list "backtrace from shlibrary" "$gdb_prompt$" { "\r\n\032\032post-prompt\r\n" - "#0 .* .*printf \[^\r\n\]*\r\n" + "#0 .* .*printf(@\[^ ]*)? \[^\r\n\]*\r\n" "#1 .* main \[^\r\n\]*\r\n" } @@ -267,7 +267,7 @@ if [target_info exists gdb,nosignals] { gdb_expect_list "backtrace @ signal handler" "$gdb_prompt$" { "#0 +handle_USR1 \[^\r\n\]+\r\n" "#1 +.signal handler called.\r\n" - "#2 .* .*printf \[^\r\n\]+\r\n" + "#2 .* .*printf(@\[^ \]*)? \[^\r\n\]+\r\n" "#3 .* main \[^\r\n\]+\r\n" } } -- Dr. Ulrich Weigand GNU Toolchain for Linux on System z and Cell BE Ulrich.Weigand@de.ibm.com