This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: Avoid timeouts in call-sc.exp
Here is another try.
-=# Paul #=-
PS: I only did the ${....} because that seemed to be the usage in call-sc.exp
2004-08-25 Paul Gilliam <pgilliam@us.ibm.com>
* gdb.base/call-sc: Make sure PC is syncronized after the "return".
diff -Naur old/call-sc.exp new/call-sc.exp
--- old/call-sc.exp 2004-08-24 01:11:59.000000000 +0000
+++ new/call-sc.exp 2004-08-25 22:27:04.089926216 +0000
@@ -281,6 +281,30 @@
}
}
+ # If the previous test did not work, the program counter might
+ # still be inside foo() rather than main(). Make sure the program
+ # counter is is main().
+ #
+ # This happens on ppc64 GNU/Linux with gcc 3.4.1 and a buggy GDB
+
+ set test "return foo; syncronize pc to main()"
+ for {set loop_count 0} {$loop_count < 2} {incr loop_count} {
+ gdb_test_multiple "backtrace 1" $test {
+ -re "#0.*main \\(\\).*${gdb_prompt} $" {
+ pass $test
+ set loop_count 2
+ }
+ -re "#0.*fun \\(\\).*${gdb_prompt} $" {
+ if {$loop_count < 1} {
+ gdb_test "finish" ".*" ""
+ } else {
+ fail $test
+ set loop_count 2
+ }
+ }
+ }
+ }
+
# Check that the return-value is as expected. At this stage we're
# just checking that GDB has returned a value consistent with
# "return_value_unknown" set above.
On Wednesday 25 August 2004 11:11, Michael Chastain wrote:
> It's a little weird, but it's much better.
>
> . "synchronize" is spelled with an h.
> . include a changelog entry with the submission
> . you don't need ${...} for each variable access.
> just $loop_count, $test, and so on.
> . this is the fsf version of gdb, it's better to work with
> fsf sources -- either gdb 6.2 or the cvs version of gdb,
> not a red hat gdb.
>
> Can you fix those things up, then download gdb 6.2 or the
> cvs version of gdb, and do your work against that.