This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[rfc] Relax "printf" function name check in annota* test cases


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]