* py-block.c (gdbpy_block_for_pc): Call block_for_pc inside
authorTom Tromey <tromey@redhat.com>
Thu, 28 Feb 2013 19:01:54 +0000 (19:01 +0000)
committerTom Tromey <tromey@redhat.com>
Thu, 28 Feb 2013 19:01:54 +0000 (19:01 +0000)
TRY_CATCH.

gdb/ChangeLog
gdb/python/py-block.c

index 2211d62..77bae9b 100644 (file)
@@ -1,5 +1,10 @@
 2013-02-28  Tom Tromey  <tromey@redhat.com>
 
+       * py-block.c (gdbpy_block_for_pc): Call block_for_pc inside
+       TRY_CATCH.
+
+2013-02-28  Tom Tromey  <tromey@redhat.com>
+
        * objfiles.h (ALL_PSPACE_OBJFILES): Remove trailing backlash.
 
 2013-02-27  Corinna Vinschen  <vinschen@redhat.com>
index 708b6a8..f0b8322 100644 (file)
@@ -370,7 +370,7 @@ PyObject *
 gdbpy_block_for_pc (PyObject *self, PyObject *args)
 {
   gdb_py_ulongest pc;
-  struct block *block;
+  struct block *block = NULL;
   struct obj_section *section = NULL;
   struct symtab *symtab = NULL;
   volatile struct gdb_exception except;
@@ -382,6 +382,9 @@ gdbpy_block_for_pc (PyObject *self, PyObject *args)
     {
       section = find_pc_mapped_section (pc);
       symtab = find_pc_sect_symtab (pc, section);
+
+      if (symtab != NULL && symtab->objfile != NULL)
+       block = block_for_pc (pc);
     }
   GDB_PY_HANDLE_EXCEPTION (except);
 
@@ -392,7 +395,6 @@ gdbpy_block_for_pc (PyObject *self, PyObject *args)
       return NULL;
     }
 
-  block = block_for_pc (pc);
   if (block)
     return block_to_block_object (block, symtab->objfile);