aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/python/py-block.c6
2 files changed, 9 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 2211d62..77bae9b 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -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>
diff --git a/gdb/python/py-block.c b/gdb/python/py-block.c
index 708b6a8..f0b8322 100644
--- a/gdb/python/py-block.c
+++ b/gdb/python/py-block.c
@@ -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);