From 4706e10887a69455d843e41bfbae611524a13082 Mon Sep 17 00:00:00 2001 From: Sergey Fedorov Date: Fri, 16 Feb 2018 14:49:46 -0500 Subject: [PATCH] target-arm: Fix GDB breakpoint handling GDB breakpoints have higher priority so they have to be checked first. Should GDB breakpoint match, just return from the debug exception handler. Backports commit e63a2d4d9ed73e33a0b7483085808048be8bbcb1 from qemu --- qemu/target-arm/op_helper.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/qemu/target-arm/op_helper.c b/qemu/target-arm/op_helper.c index 4d7d15bf..298a6925 100644 --- a/qemu/target-arm/op_helper.c +++ b/qemu/target-arm/op_helper.c @@ -894,6 +894,13 @@ void arm_debug_excp_handler(CPUState *cs) } } } else { + /* Unicorn: commented out + uint64_t pc = is_a64(env) ? env->pc : env->regs[15]; + + if (cpu_breakpoint_test(cs, pc, BP_GDB)) { + return; + }*/ + if (check_breakpoints(cpu)) { bool same_el = (arm_debug_target_el(env) == arm_current_el(env)); if (extended_addresses_enabled(env)) {