* 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 2211d62152bc1991f97690033d859961fc3195fc..77bae9b6cb86179512f4f976f0380bf7faef4347 100644 (file)
@@ -1,3 +1,8 @@
+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.
index 708b6a8fee423e35d965081aa6d9353549e1cc37..f0b8322270617845835c9159d9d7af4ee19cf6d2 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);