aboutsummaryrefslogtreecommitdiff
path: root/gdb/btrace.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/btrace.c')
-rw-r--r--gdb/btrace.c18
1 files changed, 13 insertions, 5 deletions
diff --git a/gdb/btrace.c b/gdb/btrace.c
index 5436ee9..68057c5 100644
--- a/gdb/btrace.c
+++ b/gdb/btrace.c
@@ -549,11 +549,10 @@ ftrace_update_insns (struct btrace_function *bfun,
static enum btrace_insn_class
ftrace_classify_insn (struct gdbarch *gdbarch, CORE_ADDR pc)
{
- volatile struct gdb_exception error;
enum btrace_insn_class iclass;
iclass = BTRACE_INSN_OTHER;
- TRY_CATCH (error, RETURN_MASK_ERROR)
+ TRY
{
if (gdbarch_insn_is_call (gdbarch, pc))
iclass = BTRACE_INSN_CALL;
@@ -562,6 +561,10 @@ ftrace_classify_insn (struct gdbarch *gdbarch, CORE_ADDR pc)
else if (gdbarch_insn_is_jump (gdbarch, pc))
iclass = BTRACE_INSN_JUMP;
}
+ CATCH (error, RETURN_MASK_ERROR)
+ {
+ }
+ END_CATCH
return iclass;
}
@@ -598,7 +601,6 @@ btrace_compute_ftrace_bts (struct thread_info *tp,
for (;;)
{
- volatile struct gdb_exception error;
struct btrace_insn insn;
int size;
@@ -628,8 +630,14 @@ btrace_compute_ftrace_bts (struct thread_info *tp,
level = min (level, end->level);
size = 0;
- TRY_CATCH (error, RETURN_MASK_ERROR)
- size = gdb_insn_length (gdbarch, pc);
+ TRY
+ {
+ size = gdb_insn_length (gdbarch, pc);
+ }
+ CATCH (error, RETURN_MASK_ERROR)
+ {
+ }
+ END_CATCH
insn.pc = pc;
insn.size = size;