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]

[commit] Testsuite updates


This patch fixes or avoids a number of failures on my Debian
x86_64-pc-linux-gnu system.

I was using a HEAD build of glibc rather than the system's glibc,
in order to pick up Jan's fix for unwinding information in signal
handlers.  Having debugging information for the C library caused the
annota1.exp and annota3.exp failures.  It also led me to notice the
java.exp typo (since I set ldflags to use the new glibc, but java
applications were built without my ldflags).

The sigstep.exp patch changes a timeout into a failure.  I believe
I posted a patch for the failure some time ago.  I'll be back to it,
but this speeds up my testing a bit.

The selftest.exp patch adds an XFAIL for a GCC bug in my system
compiler, which I reported several months ago to the GCC bugzilla.
I'm not optimistic about it getting fixed soon.

I unified jmisc.exp and jmisc1.exp.  Aside from the extra test in
jmisc1.exp, the only difference was that jmisc.exp used "break
'function(args)'" and jmisc1.exp used "break function(args)", with
a signature but without single quotes.  I don't believe that form
ever worked except by accident; we definitely don't support it for C++.

I added KFAILs for some Java problems.  I am not willing to fix
them myself, especially with no one working on gcj's debugging output
at the moment, but at least this way they're in our bug tracker
if someone wants to work on them.

For ObjC, Object is now a base structure and thus shows up with an
extra pair of braces when printing values.

And finally, for linux-dp.exp, an omission in Nathan's recent change
generated UNSUPPORTEDs on native GNU/Linux systems, where the test
should pass.

All tested on x86_64-pc-linux-gnu and checked in.  I have a handful of
real failures left; I don't think I'll work on that today though.

-- 
Daniel Jacobowitz
CodeSourcery

2006-12-31  Daniel Jacobowitz  <dan@codesourcery.com>

	* gdb.base/annota1.exp: Allow .*printf in backtraces.
	* gdb.base/annota3.exp: Likewise.
	* gdb.base/sigstep.exp (advancei): Fail if we hit the breakpoint
	again (instead of timing out).
	* gdb.gdb/selftest.exp (do_steps_and_nexts): Add an XFAIL for
	GCC bug 26475.
	* gdb.java/jmisc.exp: Adjust to work with method signatures including
	return types.  Add kfails for GDB bugs 2214 and 2215.  Move exit
	test from jmisc1.exp.
	* gdb.java/jmisc1.exp: Delete.
	* gdb.java/jprint.exp: Adjust to work with method signatures including
	return types.
	* gdb.objc/basicclass.exp: Update for gobjc 4.1 debug info.
	* gdb.threads/linux-dp.exp: Don't be confused by program output.
	* lib/java.exp (compile_java_from_source): Pass the correct type
	to target_compile.

Index: gdb.base/annota1.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.base/annota1.exp,v
retrieving revision 1.20
diff -u -p -r1.20 annota1.exp
--- gdb.base/annota1.exp	12 Oct 2006 19:03:22 -0000	1.20
+++ gdb.base/annota1.exp	31 Dec 2006 19:49:26 -0000
@@ -1,5 +1,5 @@
-# Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software
-# Foundation, Inc.
+# Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+# Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -240,15 +240,16 @@ gdb_expect {
 #
 # get to printf
 #
-send_gdb "continue\n"
-gdb_expect {
-  -re "\r\n\032\032post-prompt\r\nContinuing.\r\n\r\n\032\032starting\r\n\r\n\032\032frames-invalid\r\n\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\nprintf\r\n\032\032frame-args\r\n.*\032\032frame-end\r\n\r\n\032\032stopped\r\n$gdb_prompt$" \
-	  { pass "continue to printf" }
-  -re "\r\n\032\032post-prompt\r\nContinuing.\r\n\r\n\032\032starting\r\n\r\n\032\032frames-invalid\r\nwarning: Breakpoint 3 address previously adjusted from $hex to $hex.\r\n\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$" \
-	  { pass "continue to printf" }
+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$"
 
-  -re ".*$gdb_prompt$"     { fail "continue to printf" }
-  timeout	            { fail "continue to printf (timeout)" }
+send_gdb "continue\n"
+gdb_test_multiple "continue" "continue to printf" {
+    -re "${pat_begin}($pat_adjust)?$pat_end" {
+	pass "continue to printf"
+    }
+    -re ".*$gdb_prompt$"     { fail "continue to printf" }
 }
 
 #
@@ -257,15 +258,17 @@ gdb_expect {
 # 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_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 {
-    -re "\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\nprintf\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${escapedsrcfile}\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$" \
+    -re "$pat_begin$escapedsrcfile$pat_end"
 	  { pass "backtrace from shlibrary" }
-    -re "\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\nprintf\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.*${srcfile}\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$" \
+    -re "$pat_begin.*$srcfile$pat_end"
 	  { setup_xfail "*-*-*" 1270
             fail "backtrace from shlibrary" }
-  -re ".*$gdb_prompt$"     { fail "backtrace from shlibrary" }
-  timeout	            { fail "backtrace from shlibrary (timeout)" }
+    -re ".*$gdb_prompt$"     { fail "backtrace from shlibrary" }
+    timeout	            { fail "backtrace from shlibrary (timeout)" }
 }
 
 
Index: gdb.base/annota3.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.base/annota3.exp,v
retrieving revision 1.9
diff -u -p -r1.9 annota3.exp
--- gdb.base/annota3.exp	10 Aug 2006 05:27:20 -0000	1.9
+++ gdb.base/annota3.exp	31 Dec 2006 19:49:26 -0000
@@ -1,4 +1,4 @@
-# Copyright 2003, 2004 Free Software Foundation, Inc.
+# Copyright 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -206,7 +206,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"
 }
 
@@ -246,7 +246,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"
     }
 }
Index: gdb.base/sigstep.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.base/sigstep.exp,v
retrieving revision 1.11
diff -u -p -r1.11 sigstep.exp
--- gdb.base/sigstep.exp	1 May 2006 16:39:36 -0000	1.11
+++ gdb.base/sigstep.exp	31 Dec 2006 19:49:26 -0000
@@ -1,4 +1,4 @@
-# Copyright 2004 Free Software Foundation, Inc.
+# Copyright 2004, 2005, 2006 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -130,6 +130,9 @@ proc advancei { i } {
 	    setup_kfail "sparc*-*-openbsd*" gdb/1736
 	    fail "$test (could not insert single-step breakpoint)"
 	}
+	-re "Breakpoint \[0-9\]*, handler .*${gdb_prompt} $" {
+	    fail "$test (hit breakpoint again)"
+	}
 	-re "done = 1;.*${gdb_prompt} $" {
 	    send_gdb "$i\n"
 	    exp_continue -continue_timer
Index: gdb.gdb/selftest.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.gdb/selftest.exp,v
retrieving revision 1.8
diff -u -p -r1.8 selftest.exp
--- gdb.gdb/selftest.exp	22 Nov 2006 17:19:52 -0000	1.8
+++ gdb.gdb/selftest.exp	31 Dec 2006 19:49:26 -0000
@@ -1,5 +1,5 @@
 # Copyright 1988, 1990, 1991, 1992, 1994, 1997, 1999, 2000, 2002,
-# 2003, 2004 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -40,6 +40,7 @@ proc do_steps_and_nexts {} {
  
     gdb_reinitialize_dir $srcdir/..
 
+    set unlikely_line 0
     for {set count 0} {$count < 32} {incr count} {
 	send_gdb "list\n"
 	# NOTE: carlton/2002-12-11: The "initial brace" and
@@ -193,6 +194,17 @@ proc do_steps_and_nexts {} {
 		fail "must be able to list source lines"
 		return
 	    }
+	    -re ".*interpreter_p = xstrdup.*$gdb_prompt $" {
+		if { $unlikely_line == 0 } {
+		    # This is a GCC optimization bug; a constant has been
+		    # associated with the wrong line number.
+		    setup_xfail "*-*-*" gcc/26475
+		    fail "$description (unlikely line from gcc)"
+		    set unlikely_line 1
+		}
+		set description "next over xstrdup"
+		set command "next"
+	    }
 	    -re ".*$gdb_prompt $" {
 		fail "unknown source line after $description"
 		return
Index: gdb.java/jmisc.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.java/jmisc.exp,v
retrieving revision 1.4
diff -u -p -r1.4 jmisc.exp
--- gdb.java/jmisc.exp	7 Jul 2004 20:08:03 -0000	1.4
+++ gdb.java/jmisc.exp	31 Dec 2006 19:49:26 -0000
@@ -1,4 +1,4 @@
-# Copyright 2000, 2004 Free Software Foundation, Inc.
+# Copyright 2000, 2004, 2006 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -68,11 +68,24 @@ gdb_test "set print sevenbit-strings" ".
 if ![set_lang_java] then {
     # Ref PR gdb:java/1565.  Don't use the simpler "break jmisc.main".
     # As of 2004-02-24 it wasn't working and is being tested separatly.
-    runto "\'${testfile}.main(java.lang.String\[\])\'"
+    # Before GCJ 4.1 (approximately) the demangled name did not include
+    # a method signature; after that point it does include a trailing
+    # signature.
+    runto_main
+    set function "${testfile}.main(java.lang.String\[\])"
+    gdb_breakpoint "\'$function\'" { allow-pending }
+    gdb_breakpoint "\'${function}void\'" { allow-pending }
+    gdb_continue_to_breakpoint $function
 
     send_gdb "ptype jmisc\n"   
     gdb_expect {   
-	-re "type = class jmisc  extends java.lang.Object \{\[\r\n\ \t]+void main\\(java\.lang\.String\\\[]\\);\[\r\n\ \t]+jmisc\\(\\);\[\r\n\ \t]+\}\[\r\n\ \t]+$gdb_prompt $"               { pass "ptype jmisc" }
+	-re "type = class jmisc  extends java.lang.Object \{\[\r\n\ \t]+void main\\(java\.lang\.String\\\[]\\);\[\r\n\ \t]+jmisc\\(\\);\[\r\n\ \t]+\}\[\r\n\ \t]+$gdb_prompt $"
+	    { pass "ptype jmisc" }
+	-re "type = class jmisc  extends java.lang.Object \{\[\r\n\ \t]+void main\\(java\.lang\.String\\\[]\\)void;\[\r\n\ \t]+jmisc\\(\\);\[\r\n\ \t]+\}\[\r\n\ \t]+$gdb_prompt $" {
+	    # Just because GCC includes the signature doesn't mean we
+	    # should print it here.  We already show the return type.
+	    kfail "ptype jmisc" gdb/2215
+	}
 	-re ".*$gdb_prompt $"             { fail "ptype jmisc" }
 	timeout { fail "ptype jmisc (timeout)" ; return }
     }
@@ -87,7 +100,40 @@ if ![set_lang_java] then {
     send_gdb "p *args\n"
     gdb_expect {   
 	-re "\\\$2 = \{length: 0\}\[\r\n\ \t]+$gdb_prompt $"                                                             { pass "p *args" }
+	-re "\\\$2 = cannot find java.lang.Object.*$gdb_prompt $" {
+	    # Sometimes GCC 4.x does not emit the necessary information
+	    # about java.lang.Object.
+	    kfail "p *args" gdb/2214
+	}
 	-re ".*$gdb_prompt $"             { fail "p *args" }
 	timeout { fail "p *args (timeout)" ; return }
     }
+
+    # The idea of running to 'exit' is that 'exit' is in a different
+    # objfile from the rest of the program (provided that program is
+    # linked normally with a shared libc).  That causes gdb to examine
+    # fresh objfiles.  There is nothing important about 'exit'
+    # semantics; it could be any symbol that is in a shared library.
+    # -- chastain 2003-08-06
+
+    if [gdb_breakpoint exit] {
+	pass "break exit"
+    }
+    gdb_test_multiple "continue" "continue to exit" {
+	-re ".*Breakpoint $decimal, .*exit.*$gdb_prompt $" {
+	    pass "continue to exit"
+	}
+	-re ".*internal-error: sect_index_text not initialized.*\\(y or n\\) " {
+	    # gdb choked on the "anonymous objfile" (probably).
+	    kfail "gdb/1322" "continue to exit"
+	    # get back to the gdb prompt
+	    gdb_test_multiple "no" "internal sync 1" {
+		-re ".*\\(y or n\\) " {
+		    gdb_test_multiple "no" "internal sync 2" {
+			-re ".*$gdb_prompt $" { ; }
+		    }
+		}
+	    }
+	}
+    }
 }
Index: gdb.java/jmisc1.exp
===================================================================
RCS file: gdb.java/jmisc1.exp
diff -N gdb.java/jmisc1.exp
--- gdb.java/jmisc1.exp	7 Jul 2004 20:08:03 -0000	1.3
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,117 +0,0 @@
-# Copyright 2002, 2003, 2004 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  
-
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-gdb@prep.ai.mit.edu
-
-# This file was written by Anthony Green. (green@redhat.com)
-#
-
-if $tracelevel then {
-	strace $tracelevel
-}
-
-load_lib "java.exp"
-
-set testfile "jmisc"
-set srcfile ${srcdir}/$subdir/${testfile}.java
-set binfile ${objdir}/${subdir}/${testfile}
-if  { [compile_java_from_source ${srcfile} ${binfile} "-g"] != "" } {
-    untested "Couldn't compile ${srcfile}"
-    return -1
-}
-
-# Set the current language to java.  This counts as a test.  If it
-# fails, then we skip the other tests.
-
-proc set_lang_java {} {
-    global gdb_prompt
-    global binfile objdir subdir
-
-    verbose "loading file '$binfile'"
-    gdb_load $binfile
-
-    send_gdb "set language java\n"
-    gdb_expect {
-	-re ".*$gdb_prompt $" {}
-	timeout { fail "set language java (timeout)" ; return 0 }
-    }
-
-    return [gdb_test "show language" ".* source language is \"java\".*" \
-	"set language to \"java\""]
-}
-
-set prms_id 0
-set bug_id 0
-
-# Start with a fresh gdb.
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-
-gdb_test "set print sevenbit-strings" ".*"
-
-if ![set_lang_java] then {
-    runto ${testfile}.main(java.lang.String\[\])
-
-    send_gdb "ptype jmisc\n"   
-    gdb_expect {   
-	-re "type = class jmisc  extends java.lang.Object \{\[\r\n\ \t]+void main\\(java\.lang\.String\\\[]\\);\[\r\n\ \t]+jmisc\\(\\);\[\r\n\ \t]+\}\[\r\n\ \t]+$gdb_prompt $"               { pass "ptype jmisc" }
-	-re ".*$gdb_prompt $"             { fail "ptype jmisc" }
-	timeout { fail "ptype jmisc (timeout)" ; return }
-    }
-
-    send_gdb "p args\n"
-    gdb_expect {   
-	-re "\\\$1 = java\.lang\.String\\\[]@\[a-f0-9]+\[\r\n\ \t]+$gdb_prompt $"                                        { pass "p args" }
-	-re ".*$gdb_prompt $"             { fail "p args" }
-	timeout { fail "p args (timeout)" ; return }
-    }
-
-    send_gdb "p *args\n"
-    gdb_expect {   
-	-re "\\\$2 = \{length: 0\}\[\r\n\ \t]+$gdb_prompt $"                                                             { pass "p *args" }
-	-re ".*$gdb_prompt $"             { fail "p *args" }
-	timeout { fail "p *args (timeout)" ; return }
-    }
-
-    # The idea of running to 'exit' is that 'exit' is in a different
-    # objfile from the rest of the program (provided that program is
-    # linked normally with a shared libc).  That causes gdb to examine
-    # fresh objfiles.  There is nothing important about 'exit'
-    # semantics; it could be any symbol that is in a shared library.
-    # -- chastain 2003-08-06
-
-    gdb_test "break exit" ".*Breakpoint $decimal at .*"
-    gdb_test_multiple "continue" "continue to exit" {
-	-re ".*Breakpoint $decimal, .*exit.*$gdb_prompt $" {
-	    pass "continue to exit"
-	}
-	-re ".*internal-error: sect_index_text not initialized.*\\(y or n\\) " {
-	    # gdb choked on the "anonymous objfile" (probably).
-	    kfail "gdb/1322" "continue to exit"
-	    # get back to the gdb prompt
-	    gdb_test_multiple "no" "internal sync 1" {
-		-re ".*\\(y or n\\) " {
-		    gdb_test_multiple "no" "internal sync 2" {
-			-re ".*$gdb_prompt $" { ; }
-		    }
-		}
-	    }
-	}
-    }
-}
Index: gdb.java/jprint.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.java/jprint.exp,v
retrieving revision 1.1
diff -u -p -r1.1 jprint.exp
--- gdb.java/jprint.exp	20 Sep 2004 20:06:29 -0000	1.1
+++ gdb.java/jprint.exp	31 Dec 2006 19:49:26 -0000
@@ -1,4 +1,4 @@
-# Copyright 2004 Free Software Foundation, Inc.
+# Copyright 2004, 2006 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -65,7 +65,14 @@ gdb_test "set print sevenbit-strings" ".
 if ![set_lang_java] then {
     # Ref PR gdb:java/1565.  Don't use the simpler "break jmisc.main".
     # As of 2004-02-24 it wasn't working and is being tested separatly.
-    runto "\'${testfile}.main(java.lang.String\[\])\'"
+    # Before GCJ 4.1 (approximately) the demangled name did not include
+    # a method signature; after that point it does include a trailing
+    # signature.
+    runto_main
+    set function "${testfile}.main(java.lang.String\[\])"
+    gdb_breakpoint "\'$function\'" { allow-pending }
+    gdb_breakpoint "\'${function}void\'" { allow-pending }
+    gdb_continue_to_breakpoint $function
 
     gdb_test "p jvclass.addprint(4,5,6)" "sum is 15\r\n.*" "unambiguous static call"
 
Index: gdb.objc/basicclass.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.objc/basicclass.exp,v
retrieving revision 1.5
diff -u -p -r1.5 basicclass.exp
--- gdb.objc/basicclass.exp	18 Feb 2004 04:22:02 -0000	1.5
+++ gdb.objc/basicclass.exp	31 Dec 2006 19:49:26 -0000
@@ -1,4 +1,4 @@
-# Copyright 2003, 2004 Free Software Foundation, Inc.
+# Copyright 2003, 2004, 2006 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -152,7 +152,7 @@ gdb_test "print self" \
     " print self"
 
 gdb_test "print \*self" \
-    "\\$\[0-9\] = \{isa = 0x\[0-9a-f\]+, object = 0x0\}" \
+    "\\$\[0-9\] = \{{?isa = 0x\[0-9a-f\]+}?, object = 0x0\}" \
     " print contents of self"
 
 #
Index: gdb.threads/linux-dp.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.threads/linux-dp.exp,v
retrieving revision 1.13
diff -u -p -r1.13 linux-dp.exp
--- gdb.threads/linux-dp.exp	29 Nov 2006 16:16:46 -0000	1.13
+++ gdb.threads/linux-dp.exp	31 Dec 2006 19:49:26 -0000
@@ -1,4 +1,5 @@
-# Copyright 1999, 2001, 2002, 2003 Free Software Foundation, Inc.
+# Copyright 1999, 2001, 2002, 2003, 2004, 2005, 2006
+# Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -93,6 +94,10 @@ for {set i 0} {$i < 5} {incr i} {
 	-re "^next\r\n" {
 	    exp_continue
 	}
+	-re "^ *\[_!\] \[0-9\]* \[_!\]\r\n" {
+	    # Ignore program output.
+	    exp_continue -continue_timer
+	}
 	-re "^\\\[New \[^\]\n\]+\\\]\[^\n\]+\n" {
 	    incr threads_created
 	    exp_continue
Index: lib/java.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/lib/java.exp,v
retrieving revision 1.4
diff -u -p -r1.4 java.exp
--- lib/java.exp	19 Jul 2004 21:33:53 -0000	1.4
+++ lib/java.exp	31 Dec 2006 19:49:26 -0000
@@ -1,6 +1,6 @@
 # This test code is part of GDB, the GNU debugger.
 
-# Copyright 1998, 1999, 2000, 2003, 2004
+# Copyright 1998, 1999, 2000, 2003, 2004, 2006
 # Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
@@ -111,7 +111,7 @@ proc compile_java_from_source { srcfile 
 	set errname "$errname $compile_args"
     }
 
-    set x [target_compile $srcfile ${binfile} ${binfile} $args]
+    set x [target_compile $srcfile ${binfile} executable $args]
     if { $x != "" } {
 	verbose "target_compile failed: $x" 2
 	return "$errname compilation from source";


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