This is an automated email from Gerrit.

Jon Burgess ([email protected]) just uploaded a new patch set to Gerrit, 
which you can find at http://openocd.zylin.com/2312

-- gerrit

commit db5106f23e4cdf7f350415cff048890ce40a2b0a
Author: Jon Burgess <[email protected]>
Date:   Sun Sep 21 20:40:01 2014 +0100

    cortex_m.c: Use two byte breakpoint for 32bit Thumb-2 request
    
    When GDB requests a breakpoint on a 32bit Thumb-2 instruction it
    sends a length of 3 which the current code rejects. Using the
    existing two byte breakpoint for this case appears to work fine.
    
    The use of length==3 for this case is mentioned in a few places:
    https://sourceware.org/gdb/onlinedocs/gdb/ARM-Breakpoint-Kinds.html
    http://sourceforge.net/p/openocd/mailman/message/30012280/
    
    Change-Id: I59cd69ba4d1bc9a37b86569738c6bb2a67c3eb7a
    Signed-off-by: Jon Burgess <[email protected]>

diff --git a/src/target/cortex_m.c b/src/target/cortex_m.c
index 72dbe9e..a5230b7 100644
--- a/src/target/cortex_m.c
+++ b/src/target/cortex_m.c
@@ -1262,6 +1262,11 @@ int cortex_m_add_breakpoint(struct target *target, 
struct breakpoint *breakpoint
                return ERROR_TARGET_RESOURCE_NOT_AVAILABLE;
        }
 
+       if (breakpoint->length == 3) {
+               LOG_DEBUG("Using a two byte breakpoint for 32bit Thumb-2 
request");
+               breakpoint->length = 2;
+       }
+
        if ((breakpoint->length != 2)) {
                LOG_INFO("only breakpoints of two bytes length supported");
                return ERROR_TARGET_RESOURCE_NOT_AVAILABLE;

-- 

------------------------------------------------------------------------------
Slashdot TV.  Video for Nerds.  Stuff that Matters.
http://pubads.g.doubleclick.net/gampad/clk?id=160591471&iu=/4140/ostg.clktrk
_______________________________________________
OpenOCD-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openocd-devel

Reply via email to