Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixes ARM/Thumb movt semantics #1391

Merged
merged 20 commits into from
Jan 5, 2022
Merged
Changes from 18 commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
06ee098
Update LLVM backend to work with version 12
bmourad01 Oct 23, 2021
c3f1f26
Merge branch 'BinaryAnalysisPlatform:master' into master
bmourad01 Nov 3, 2021
3b8b06c
Merge branch 'BinaryAnalysisPlatform:master' into master
bmourad01 Nov 4, 2021
53677fc
Merge branch 'BinaryAnalysisPlatform:master' into master
bmourad01 Nov 6, 2021
4695b07
Merge branch 'BinaryAnalysisPlatform:master' into master
bmourad01 Nov 13, 2021
c6c89c1
Merge branch 'BinaryAnalysisPlatform:master' into master
bmourad01 Nov 16, 2021
a1fb592
Merge branch 'BinaryAnalysisPlatform:master' into master
bmourad01 Nov 19, 2021
fa3c6da
Merge branch 'BinaryAnalysisPlatform:master' into master
bmourad01 Nov 20, 2021
d5dc07f
Merge branch 'BinaryAnalysisPlatform:master' into master
bmourad01 Nov 25, 2021
896a34d
Merge branch 'BinaryAnalysisPlatform:master' into master
bmourad01 Dec 1, 2021
3cce21b
Merge branch 'BinaryAnalysisPlatform:master' into master
bmourad01 Dec 2, 2021
96874e4
Merge branch 'BinaryAnalysisPlatform:master' into master
bmourad01 Dec 3, 2021
c25c801
Merge branch 'BinaryAnalysisPlatform:master' into master
bmourad01 Dec 3, 2021
cf3352a
Merge branch 'BinaryAnalysisPlatform:master' into master
bmourad01 Dec 8, 2021
9cc0b14
Merge branch 'BinaryAnalysisPlatform:master' into master
bmourad01 Dec 8, 2021
5a38191
Merge branch 'BinaryAnalysisPlatform:master' into master
bmourad01 Dec 9, 2021
542ba10
Merge branch 'BinaryAnalysisPlatform:master' into master
bmourad01 Dec 9, 2021
d96d508
Fixes ARM/Thumb `movt` semantics
Dec 30, 2021
59a4889
Use bit-wise operations instead of casts
bmourad01 Jan 4, 2022
0dbce6e
Fix error
bmourad01 Jan 4, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion lib/arm/arm_lifter.ml
Original file line number Diff line number Diff line change
Expand Up @@ -227,7 +227,8 @@ let lift_move ~encoding mem ops (insn : move_insn) : stmt list =

| `MOVTi16, [|`Reg dest; _; src; cond; _wflag|] ->
let dest = Env.of_reg dest in
bmourad01 marked this conversation as resolved.
Show resolved Hide resolved
[Bil.move dest Bil.(var dest lor exp_of_op src lsl int32 16)] |>
let src16 = Bil.(cast unsigned 32 (cast low 16 (var dest))) in
[Bil.move dest Bil.(src16 lor exp_of_op src lsl int32 16)] |>
bmourad01 marked this conversation as resolved.
Show resolved Hide resolved
fun ins -> exec ins cond
| insn,ops ->
fail [%here] "ops %s doesn't match move insn %s"
Expand Down