Skip to content

Commit

Permalink
Merge pull request #33 from draperlaboratory/main
Browse files Browse the repository at this point in the history
LLVM 19 aarch64 now supports preserve_none
  • Loading branch information
DennyDai authored Aug 3, 2024
2 parents 657f748 + 874b56d commit 84d6271
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 4 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ InsertDataPatch | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 |
RemoveDataPatch | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | ⬜ | ⬜ |
ModifyDataPatch | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | ⬜ | ⬜ |
InsertInstructionPatch (ASM) | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | ⬜ | ⬜ |
InsertInstructionPatch (C) | 🟥 | 🟩 | 🟥 | 🟨 | 🟥 | 🟥 | 🟥 | 🟥 | 🟥 | 🟥 | 🟥 | 🟥 | 🟥 |
InsertInstructionPatch (C) | 🟥 | 🟩 | 🟥 | 🟩 | 🟥 | 🟥 | 🟥 | 🟥 | 🟥 | 🟥 | 🟥 | 🟥 | 🟥 |
RemoveInstructionPatch | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | ⬜ | ⬜ |
ModifyInstructionPatch | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | ⬜ | ⬜ |
InsertFunctionPatch | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | 🟩 | ⬜ | ⬜ |
Expand Down
28 changes: 25 additions & 3 deletions src/patcherex2/components/archinfo/aarch64.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,9 +50,31 @@ class Aarch64Info:

cc = {
"Linux": ["x0", "x1", "x2", "x3", "x4", "x5", "x6", "x7"],
# TODO: update LinuxPreserveNone once aarch64 support lands
# in LLVM for preserve_none, currently defaults to Linux
"LinuxPreserveNone": ["x0", "x1", "x2", "x3", "x4", "x5", "x6", "x7"],
"LinuxPreserveNone": [
"x20",
"x21",
"x22",
"x23",
"x24",
"x25",
"x26",
"x27",
"x28",
"x0",
"x1",
"x2",
"x3",
"x4",
"x5",
"x6",
"x7",
"x10",
"x11",
"x12",
"x13",
"x14",
"x9",
],
}
callee_saved = {
"Linux": [
Expand Down

0 comments on commit 84d6271

Please sign in to comment.