aboutsummaryrefslogtreecommitdiff
path: root/gdb/python/py-block.c
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2013-02-28 19:01:54 +0000
committerTom Tromey <tromey@redhat.com>2013-02-28 19:01:54 +0000
commit86a3263fffd5fcd0c7896647dea4dca2b5902da5 (patch)
treea1d601c5d0518c95dd0c7ab64c38c0bbca65107c /gdb/python/py-block.c
parent81b52a3ae561ad292cf958fc9148b86b9400e0c5 (diff)
downloadgdb-86a3263fffd5fcd0c7896647dea4dca2b5902da5.zip
gdb-86a3263fffd5fcd0c7896647dea4dca2b5902da5.tar.gz
gdb-86a3263fffd5fcd0c7896647dea4dca2b5902da5.tar.bz2
* py-block.c (gdbpy_block_for_pc): Call block_for_pc inside
TRY_CATCH.
Diffstat (limited to 'gdb/python/py-block.c')
-rw-r--r--gdb/python/py-block.c6
1 files changed, 4 insertions, 2 deletions
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);