gdb
authorTom Tromey <tromey@redhat.com>
Wed, 17 Feb 2010 22:25:05 +0000 (22:25 +0000)
committerTom Tromey <tromey@redhat.com>
Wed, 17 Feb 2010 22:25:05 +0000 (22:25 +0000)
* objfiles.c (gdb_bfd_ref): Handle abfd==NULL.
gdb/testsuite
* gdb.java/jprint.java (jprint.props): New field.
* gdb.java/jprint.exp (set_lang_java): Add regression test.

gdb/ChangeLog
gdb/objfiles.c
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.java/jprint.exp
gdb/testsuite/gdb.java/jprint.java

index 70d1c205c9d59b8e21ce08b4c5935268a4a64016..425e8c8a8ce3463397fcbced01a2e1d28ac81315 100644 (file)
@@ -1,3 +1,7 @@
+2010-02-17  Tom Tromey  <tromey@redhat.com>
+
+       * objfiles.c (gdb_bfd_ref): Handle abfd==NULL.
+
 2010-02-17  Jan Kratochvil  <jan.kratochvil@redhat.com>
 
        * symfile.c (build_section_addr_info_from_objfile): Include sections
index 489b81289f096332ac301deed7097f6d27ce964b..c2763c224012d59ad2671b73a3f83f0f0648e73b 100644 (file)
@@ -1504,7 +1504,12 @@ objfiles_changed (void)
 struct bfd *
 gdb_bfd_ref (struct bfd *abfd)
 {
-  int *p_refcount = bfd_usrdata (abfd);
+  int *p_refcount;
+
+  if (abfd == NULL)
+    return NULL;
+
+  p_refcount = bfd_usrdata (abfd);
 
   if (p_refcount != NULL)
     {
index 9497fd52f6dbe317c1642d764804d2a9fb04a6e2..c2827eff800cc2646a2af86e478ff421ae665b9a 100644 (file)
@@ -1,3 +1,8 @@
+2010-02-17  Tom Tromey  <tromey@redhat.com>
+
+       * gdb.java/jprint.java (jprint.props): New field.
+       * gdb.java/jprint.exp (set_lang_java): Add regression test.
+
 2010-02-17  Pedro Alves  <pedro@codesourcery.com>
 
        * gdb.base/charset.exp: Don't assume new `regsub' syntax
index bb929aaa2c406d032f3ec309641036f3f72c2576..29dbf4badeee353a193dca02b798e9c45d82a808 100644 (file)
@@ -84,4 +84,7 @@ if ![set_lang_java] then {
     gdb_test "call x.dothat(55)" "new value is 58\r\n.*= 62.*" "virtual fn call"
     gdb_test "p x.addprint(1,2,3)" "sum is 6\r\n.*" "inherited static call"
     gdb_test "call x.addk(44)" "adding k gives 121\r\n.*= 121.*" "inherited virtual fn call"
+
+    # Regression test for a crasher.
+    gdb_test "print *jprint.props" " = .*" "print a java.util.Properties"
 }
index bd4fa96be873973c1397330bc4a64b8c4798ec43..01ebdbc1140b73bf2361a8a3df9056b24ed33084 100644 (file)
@@ -1,6 +1,6 @@
 // jprint.java test program.
 //
-// Copyright 2004
+// Copyright 2004, 2010
 // Free Software Foundation, Inc.
 //
 // Written by Jeff Johnston <jjohnstn@redhat.com> 
@@ -21,6 +21,8 @@
 // You should have received a copy of the GNU General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
+import java.util.Properties;
+
 class jvclass {
   public static int k;
   static {
@@ -39,6 +41,8 @@ class jvclass {
 }
     
 public class jprint extends jvclass {
+  public static Properties props = new Properties ();
+
   public int dothat (int x) {
     int y = x + 3;
     System.out.println ("new value is " + y);