Signed-off-by: Lennert Buytenhek <buyt...@marvell.com>
--
The LE check is obviously buggy (as easily triggered during some
testing), but I didn't audit the rest of the cases.

diff --git a/src/target/arm_simulator.c b/src/target/arm_simulator.c
index 7c610a5..93fb3dd 100644
--- a/src/target/arm_simulator.c
+++ b/src/target/arm_simulator.c
@@ -243,9 +243,9 @@ int pass_condition(uint32_t cpsr, uint32_t opcode)
                        else
                                return 0;
                case 0xd:       /* LE */
-                       if ((cpsr & 0x40000000) &&
-                               (((cpsr & 0x80000000) && !(cpsr & 0x10000000))
-                               || (!(cpsr & 0x80000000) && (cpsr & 
0x10000000))))
+                       if ((cpsr & 0x40000000) ||
+                               ((cpsr & 0x80000000) && !(cpsr & 0x10000000))
+                               || (!(cpsr & 0x80000000) && (cpsr & 
0x10000000)))
                                return 1;
                        else
                                return 0;
_______________________________________________
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to