aboutsummaryrefslogtreecommitdiff
path: root/lib/jump-dis.c
diff options
context:
space:
mode:
authorcomex2015-01-17 20:09:42 -0500
committercomex2015-01-17 20:09:42 -0500
commit17d4d47511fe1a51ffeb83f0fe923993680304dd (patch)
tree17934be6219f5ec8d870d79c15a7d7516a83f42f /lib/jump-dis.c
parenttransform-dis stuff - compiles for arm, so far (diff)
downloadsubstitute-17d4d47511fe1a51ffeb83f0fe923993680304dd.tar.gz
IT, BX LR - untested
Diffstat (limited to 'lib/jump-dis.c')
-rw-r--r--lib/jump-dis.c38
1 files changed, 20 insertions, 18 deletions
diff --git a/lib/jump-dis.c b/lib/jump-dis.c
index aa3b5f3..b6ddd13 100644
--- a/lib/jump-dis.c
+++ b/lib/jump-dis.c
@@ -18,24 +18,26 @@ enum {
};
struct jump_dis_ctx {
- /* outputs */
- bool bad_insn;
- bool continue_after_this_insn;
-
- uintptr_t pc;
- uintptr_t pc_patch_start;
- uintptr_t pc_patch_end;
- bool pc_low_bit;
- unsigned op;
- const void *ptr;
- int op_size;
- uint8_t seen_mask[JUMP_ANALYSIS_MAX_INSNS / 8];
- /* queue of instructions to visit */
- uintptr_t *queue;
- size_t queue_write_off;
- size_t queue_read_off;
- size_t queue_size;
- size_t queue_count;
+ /* outputs */
+ bool bad_insn;
+ bool continue_after_this_insn;
+
+ uintptr_t pc;
+ uintptr_t pc_patch_start;
+ uintptr_t pc_patch_end;
+ bool pc_low_bit;
+ unsigned op;
+ const void *ptr;
+ int op_size;
+ uint8_t seen_mask[JUMP_ANALYSIS_MAX_INSNS / 8];
+ /* queue of instructions to visit */
+ uintptr_t *queue;
+ size_t queue_write_off;
+ size_t queue_read_off;
+ size_t queue_size;
+ size_t queue_count;
+
+ struct arch_dis_ctx arch;
};
#undef P