diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2015-04-25 21:35:19 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2015-04-25 21:35:19 (GMT) |
commit | ee0ff01247738e847ae3faa44dcb5168d7b758ba (patch) | |
tree | e945f95a84a97237debf0b16ee11ed95d6862afb /src/arch/link.h | |
parent | 2a1dd967d3b4e06f504431f9d3d613992095b2c3 (diff) |
Registered suitable linkage hooks and defined right links between instructions.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@519 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/arch/link.h')
-rw-r--r-- | src/arch/link.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/arch/link.h b/src/arch/link.h index 1923e0b..319b3a0 100644 --- a/src/arch/link.h +++ b/src/arch/link.h @@ -35,7 +35,19 @@ void handle_jump_as_link(GArchInstruction *, GArchProcessor *, GProcContext *, GBinFormat *); /* Etablit un lien d'appel selon une instruction donnée. */ -void handle_branch_if_true_as_link(GArchInstruction *, GArchProcessor *, GProcContext *, GBinFormat *); +void handle_branch_as_link(GArchInstruction *, GArchProcessor *, GProcContext *, GBinFormat *, size_t); + + +static inline void handle_branch_if_true_as_link(GArchInstruction *ins, GArchProcessor *proc, GProcContext *ctx, GBinFormat *fmt) +{ + handle_branch_as_link(ins, proc, ctx, fmt, 0); +} + +static inline void handle_comp_and_branch_if_true_as_link(GArchInstruction *ins, GArchProcessor *proc, GProcContext *ctx, GBinFormat *fmt) +{ + handle_branch_as_link(ins, proc, ctx, fmt, 1); +} + /* Etablit un lien d'appel selon une instruction donnée. */ void handle_call_as_link(GArchInstruction *, GArchProcessor *, GProcContext *, GBinFormat *); |