Experimental ARM64 support

Based on yaxpeax-arm, but with a heavy dose of
custom code to work around its limitations.

Please report any issues or unhandled relocations.
This commit is contained in:
2024-10-31 00:37:01 -06:00
parent 7f14b684bf
commit 424434edd6
13 changed files with 2930 additions and 20 deletions

66
Cargo.lock generated
View File

@@ -434,6 +434,18 @@ dependencies = [
"serde",
]
[[package]]
name = "bitvec"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c"
dependencies = [
"funty",
"radium",
"tap",
"wyz",
]
[[package]]
name = "block"
version = "0.1.6"
@@ -1514,6 +1526,12 @@ dependencies = [
"libc",
]
[[package]]
name = "funty"
version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c"
[[package]]
name = "futures-channel"
version = "0.3.30"
@@ -2861,7 +2879,7 @@ dependencies = [
[[package]]
name = "objdiff-cli"
version = "2.3.4"
version = "2.4.0"
dependencies = [
"anyhow",
"argp",
@@ -2883,7 +2901,7 @@ dependencies = [
[[package]]
name = "objdiff-core"
version = "2.3.4"
version = "2.4.0"
dependencies = [
"anyhow",
"arm-attr",
@@ -2919,11 +2937,13 @@ dependencies = [
"tsify-next",
"unarm",
"wasm-bindgen",
"yaxpeax-arch",
"yaxpeax-arm",
]
[[package]]
name = "objdiff-gui"
version = "2.3.4"
version = "2.4.0"
dependencies = [
"anyhow",
"bytes",
@@ -3495,6 +3515,12 @@ dependencies = [
"num_enum 0.5.11",
]
[[package]]
name = "radium"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09"
[[package]]
name = "rand"
version = "0.8.5"
@@ -4290,6 +4316,12 @@ dependencies = [
"futures-core",
]
[[package]]
name = "tap"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
[[package]]
name = "tauri-winres"
version = "0.1.1"
@@ -5525,6 +5557,15 @@ dependencies = [
"winapi",
]
[[package]]
name = "wyz"
version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed"
dependencies = [
"tap",
]
[[package]]
name = "x11-dl"
version = "2.21.0"
@@ -5598,6 +5639,25 @@ version = "0.8.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "af4e2e2f7cba5a093896c1e150fbfe177d1883e7448200efb81d40b9d339ef26"
[[package]]
name = "yaxpeax-arch"
version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "36274fcc5403da2a7636ffda4d02eca12a1b2b8267b9d2e04447bd2ccfc72082"
dependencies = [
"num-traits",
]
[[package]]
name = "yaxpeax-arm"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e1c6a2af41f88546a08df3bc77aadf7263884d6dffdac5b32dea7dc2df23f241"
dependencies = [
"bitvec",
"yaxpeax-arch",
]
[[package]]
name = "yeslogic-fontconfig-sys"
version = "6.0.0"