aboutsummaryrefslogtreecommitdiff
path: root/lib/arm
diff options
context:
space:
mode:
authorcomex2015-02-08 22:06:56 -0500
committercomex2015-02-08 22:06:56 -0500
commitfdad44c4ccb219454c698645d4f2cb9726826c06 (patch)
tree6c4fd37dd9181f7ba336a16637999da714e17b23 /lib/arm
parentright, going to bed (diff)
downloadsubstitute-fdad44c4ccb219454c698645d4f2cb9726826c06.tar.gz
starting x86 support
Diffstat (limited to 'lib/arm')
-rw-r--r--lib/arm/misc.h6
-rw-r--r--lib/arm/transform-dis-arm-multi.inc.h1
2 files changed, 4 insertions, 3 deletions
diff --git a/lib/arm/misc.h b/lib/arm/misc.h
index 02b06fe..ef11a05 100644
--- a/lib/arm/misc.h
+++ b/lib/arm/misc.h
@@ -50,10 +50,10 @@ static inline void advance_it_cond(struct arch_dis_ctx *ctx) {
/* Types of conditionals for 'branch' */
/* a regular old branch-with-condition */
-#define CC_ARMCC (CC_CONDITIONAL | 0x200)
+#define CC_ARMCC (CC_CONDITIONAL | 0x400)
/* already in an IT block - in transform_dis this will be rewritten to a branch
* anyway, so it can be treated as unconditional; in jump_dis we have to know
* to keep going */
-#define CC_ALREADY_IN_IT (CC_CONDITIONAL | 0x400)
+#define CC_ALREADY_IN_IT (CC_CONDITIONAL | 0x800)
/* CBZ/CBNZ is rewritten */
-#define CC_CBXZ (CC_CONDITIONAL | 0x800)
+#define CC_CBXZ (CC_CONDITIONAL | 0xc00)
diff --git a/lib/arm/transform-dis-arm-multi.inc.h b/lib/arm/transform-dis-arm-multi.inc.h
index e080866..6e91ff5 100644
--- a/lib/arm/transform-dis-arm-multi.inc.h
+++ b/lib/arm/transform-dis-arm-multi.inc.h
@@ -1,3 +1,4 @@
+/* TODO fix BL incl MOV LR, PC */
#include "arm/assemble.h"
static struct assemble_ctx tdctx_to_actx(const struct transform_dis_ctx *ctx) {