From fcf303aba3608fe6a3d359f43e3cd52715481825 Mon Sep 17 00:00:00 2001 From: Ulrich Weigand Date: Mon, 30 Jul 2012 15:05:43 +0000 Subject: ChangeLog: * arm-linux-nat.c (arm_linux_hw_breakpoint_initialize): Do not attempt to 4-byte-align HW breakpoint addresses for Thumb. gdbserver/ChangeLog: * linux-arm-low.c (arm_linux_hw_point_initialize): Do not attempt to 4-byte-align HW breakpoint addresses for Thumb. --- gdb/gdbserver/ChangeLog | 5 +++++ gdb/gdbserver/linux-arm-low.c | 6 +++--- 2 files changed, 8 insertions(+), 3 deletions(-) (limited to 'gdb/gdbserver') diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog index 9875796..08a8d3a 100644 --- a/gdb/gdbserver/ChangeLog +++ b/gdb/gdbserver/ChangeLog @@ -1,3 +1,8 @@ +2012-07-30 Ulrich Weigand + + * linux-arm-low.c (arm_linux_hw_point_initialize): Do not attempt + to 4-byte-align HW breakpoint addresses for Thumb. + 2012-07-27 Yao Qi PR remote/14161. diff --git a/gdb/gdbserver/linux-arm-low.c b/gdb/gdbserver/linux-arm-low.c index c4d2000..1037083 100644 --- a/gdb/gdbserver/linux-arm-low.c +++ b/gdb/gdbserver/linux-arm-low.c @@ -474,17 +474,17 @@ arm_linux_hw_point_initialize (char type, CORE_ADDR addr, int len, { case 2: /* 16-bit Thumb mode breakpoint */ case 3: /* 32-bit Thumb mode breakpoint */ - mask = 0x3 << (addr & 2); + mask = 0x3; + addr &= ~1; break; case 4: /* 32-bit ARM mode breakpoint */ mask = 0xf; + addr &= ~3; break; default: /* Unsupported. */ return -1; } - - addr &= ~3; } else { -- cgit v1.1