From 5fed8c4358f5db8bb9a83aaf36107631680bf0d2 Mon Sep 17 00:00:00 2001 From: Daniel Jacobowitz Date: Wed, 28 Oct 2009 20:17:36 +0000 Subject: [PATCH] Reported by Antti Hatala . * arm-tdep.c (thumb_get_next_pc): Limit check to IT instructions correctly. --- gdb/ChangeLog | 7 +++++++ gdb/arm-tdep.c | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index a58386dcc7..fe28f95a72 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,10 @@ +2009-10-28 Daniel Jacobowitz + + Reported by Antti Hatala . + + * arm-tdep.c (thumb_get_next_pc): Limit check to IT instructions + correctly. + 2009-10-28 Pedro Alves * dwarf2-frame.c (dwarf2_build_frame_info): Discard --gc-section diff --git a/gdb/arm-tdep.c b/gdb/arm-tdep.c index 063e8f5af0..b71d05f5c1 100644 --- a/gdb/arm-tdep.c +++ b/gdb/arm-tdep.c @@ -2284,7 +2284,7 @@ thumb_get_next_pc (struct frame_info *frame, CORE_ADDR pc) /* On GNU/Linux, where this routine is used, we use an undefined instruction as a breakpoint. Unlike BKPT, IT can disable execution of the undefined instruction. So we might miss the breakpoint! */ - if ((inst1 & 0xff00) == 0xbf00 || (it & 0x0f)) + if (((inst1 & 0xff00) == 0xbf00 && (inst1 & 0x000f) != 0) || (it & 0x0f)) error (_("Stepping through Thumb-2 IT blocks is not yet supported")); if (it & 0x0f)