aboutsummaryrefslogtreecommitdiff
path: root/lib/substitute.h
diff options
context:
space:
mode:
authorYifan Lu2016-11-23 17:24:50 -0600
committerYifan Lu2016-11-23 17:24:50 -0600
commitf1df6fbca8975ceb0eebd51519eb5f753ff75fa4 (patch)
treecc82fdacbe5c5a5dbceaf5107a5b961dffd6b188 /lib/substitute.h
parentMerge branch 'master' of https://github.com/comex/substitute (diff)
downloadsubstitute-f1df6fbca8975ceb0eebd51519eb5f753ff75fa4.tar.gz
Fixed defination of CC_CBXZ collides with other bits
Fixed incorrect pc value in tdctx_to_actx Fixed ARM32 handling of CC_CBXZ (uses incorrect field in ctx->base) Fixed ARM32 transform_dis_branch incorrectly trashing LR for non-call based jumps Fixed ARM32 make_jump_patch not updated to use new assemble_ctx Added new option SUBSTITUTE_RELAXED to relax the disassembly engine Currently SUBSTITUTE_RELAXED only disables TRANSFORM_DIS_REL_JUMPS so jumps at the beginning of functions are allowed
Diffstat (limited to 'lib/substitute.h')
-rw-r--r--lib/substitute.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/substitute.h b/lib/substitute.h
index 8cc2a4d..023a728 100644
--- a/lib/substitute.h
+++ b/lib/substitute.h
@@ -119,6 +119,7 @@ struct substitute_function_hook_record {
#ifndef NO_PTHREADS
enum {
SUBSTITUTE_NO_THREAD_SAFETY = 1,
+ SUBSTITUTE_RELAXED = 2,
};
#endif
@@ -141,6 +142,9 @@ enum {
*
* You can disable the main thread check and all synchronization by passing
* SUBSTITUTE_NO_THREAD_SAFETY.
+ *
+ * You can relax the disassembly engine (at the risk of possible incorrect
+ * results) to be compatible with more functions by passing SUBSTITUTE_RELAXED.
*
* Why not just use a mutex to prevent deadlock? That would work between
* multiple calls into libsubstitute, but there may be other libraries that