diff options
-rw-r--r-- | gdb/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gdb/testsuite/gdb.java/jmisc1.exp | 28 |
2 files changed, 31 insertions, 1 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index cfbb598..390a5dd 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2003-08-06 Michael Chastain <mec@shout.net> + + * gdb.java/jmisc1.exp: Add test for pr gdb/1322. + 2003-08-12 Michael Snyder <msnyder@redhat.com> * gdb.base/float.exp: Add test for SH. diff --git a/gdb/testsuite/gdb.java/jmisc1.exp b/gdb/testsuite/gdb.java/jmisc1.exp index eea559e..dd5af98 100644 --- a/gdb/testsuite/gdb.java/jmisc1.exp +++ b/gdb/testsuite/gdb.java/jmisc1.exp @@ -1,4 +1,4 @@ -# Copyright 2002 Free Software Foundation, Inc. +# Copyright 2002, 2003 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 @@ -88,4 +88,30 @@ if ![set_lang_java] then { -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 $" { ; } + } + } + } + } + } } |