2003-08-06 Michael Chastain <mec@shout.net>
authorMichael Chastain <mec@google.com>
Thu, 14 Aug 2003 19:11:10 +0000 (19:11 +0000)
committerMichael Chastain <mec@google.com>
Thu, 14 Aug 2003 19:11:10 +0000 (19:11 +0000)
* gdb.java/jmisc1.exp: Add test for pr gdb/1322.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.java/jmisc1.exp

index cfbb5989e5bf22793819218a4d5cc9429c0b770c..390a5dd1a06288308fc3c2e701369fc0751dbe92 100644 (file)
@@ -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.
index eea559e11b9f5cda72e5c713283a49eb6ef65e0f..dd5af98bbe25092f4495d065d4fa29200206230d 100644 (file)
@@ -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 $" { ; }
+                   }
+               }
+           }
+       }
+    }
 }