From 86a3263fffd5fcd0c7896647dea4dca2b5902da5 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Thu, 28 Feb 2013 19:01:54 +0000 Subject: [PATCH] * py-block.c (gdbpy_block_for_pc): Call block_for_pc inside TRY_CATCH. --- gdb/ChangeLog | 5 +++++ gdb/python/py-block.c | 6 ++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 2211d62152b..77bae9b6cb8 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2013-02-28 Tom Tromey + + * py-block.c (gdbpy_block_for_pc): Call block_for_pc inside + TRY_CATCH. + 2013-02-28 Tom Tromey * objfiles.h (ALL_PSPACE_OBJFILES): Remove trailing backlash. diff --git a/gdb/python/py-block.c b/gdb/python/py-block.c index 708b6a8fee4..f0b83222706 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); -- 2.30.2