yrp604 / bad64 Goto Github PK
View Code? Open in Web Editor NEWBinja Arm64 Disassembler
License: Apache License 2.0
Binja Arm64 Disassembler
License: Apache License 2.0
$ cargo run --example decode 0x00f18ed2
Updating crates.io index
Downloaded shlex v1.2.0
Downloaded xmas-elf v0.8.0
Downloaded bindgen v0.59.2
Downloaded bad64-sys v0.5.0
Downloaded 4 crates (1.3 MB) in 1.66s (largest was `bad64-sys` at 1024.3 KB)
Compiling libc v0.2.150
Compiling cfg-if v1.0.0
Compiling proc-macro2 v1.0.69
Compiling unicode-ident v1.0.12
Compiling glob v0.3.1
Compiling minimal-lexical v0.2.1
Compiling memchr v2.6.4
Compiling regex-syntax v0.8.2
Compiling libloading v0.7.4
Compiling bindgen v0.59.2
Compiling shlex v1.2.0
Compiling lazycell v1.3.0
Compiling bitflags v1.3.2
Compiling lazy_static v1.4.0
Compiling rustc-hash v1.1.0
Compiling nom v7.1.3
Compiling peeking_take_while v0.1.2
Compiling clang-sys v1.6.1
Compiling autocfg v1.1.0
Compiling syn v1.0.109
Compiling num-traits v0.2.17
Compiling cty v0.2.2
Compiling ppv-lite86 v0.2.17
Compiling cstr_core v0.2.6
Compiling zero v0.1.3
Compiling regex-automata v0.4.3
Compiling static_assertions v1.1.0
Compiling xmas-elf v0.8.0
Compiling quote v1.0.33
Compiling cexpr v0.6.0
Compiling cc v1.0.84
Compiling getrandom v0.2.11
Compiling rand_core v0.6.4
Compiling rand_chacha v0.3.1
Compiling rand v0.8.5
Compiling regex v1.10.2
Compiling num-derive v0.3.3
Compiling bad64-sys v0.5.0
The following warnings were emitted during compilation:
warning: arch-arm64/disassembler/decode_scratchpad.c:476:55: warning: unused parameter 'uimm5' [-Wunused-parameter]
warning: const char* pattern_lookup(unsigned pattern, unsigned uimm5)
warning: ^
warning: arch-arm64/disassembler/decode_scratchpad.c:1261:37: warning: unused parameter 'r' [-Wunused-parameter]
warning: unsigned rwwwx_0123x_reg(int x, int r)
warning: ^
warning: arch-arm64/disassembler/decode_scratchpad.c:4388:12: warning: variable 'INDEX1' set but not used [-Wunused-but-set-variable]
warning: uint64_t INDEX1 = 0, INDEX2 = 0;
warning: ^
warning: arch-arm64/disassembler/decode_scratchpad.c:4388:24: warning: variable 'INDEX2' set but not used [-Wunused-but-set-variable]
warning: uint64_t INDEX1 = 0, INDEX2 = 0;
warning: ^
warning: arch-arm64/disassembler/decode_scratchpad.c:7907:12: warning: variable 'factor' set but not used [-Wunused-but-set-variable]
warning: unsigned factor;
warning: ^
warning: arch-arm64/disassembler/decode_scratchpad.c:2448:4: warning: variable 'd' is used uninitialized whenever switch default is taken [-Wsometimes-uninitialized]
warning: default: break;
warning: ^~~~~~~
warning: arch-arm64/disassembler/decode_scratchpad.c:2450:24: note: uninitialized use occurs here
warning: ADD_OPERAND_SME_TILE(d, ctx->V, as, REG_W0+12+ctx->Rs, imm);
warning: ^
warning: arch-arm64/disassembler/decode_scratchpad.c:1243:29: note: expanded from macro 'ADD_OPERAND_SME_TILE'
warning: instr->operands[i].tile = (TILE_NUM); \
warning: ^~~~~~~~
warning: arch-arm64/disassembler/decode_scratchpad.c:2441:18: note: initialize the variable 'd' to silence this warning
warning: uint64_t imm, d;
warning: ^
warning: = 0
warning: arch-arm64/disassembler/decode_scratchpad.c:2448:4: warning: variable 'imm' is used uninitialized whenever switch default is taken [-Wsometimes-uninitialized]
warning: default: break;
warning: ^~~~~~~
warning: arch-arm64/disassembler/decode_scratchpad.c:2450:58: note: uninitialized use occurs here
warning: ADD_OPERAND_SME_TILE(d, ctx->V, as, REG_W0+12+ctx->Rs, imm);
warning: ^~~
warning: arch-arm64/disassembler/decode_scratchpad.c:1247:34: note: expanded from macro 'ADD_OPERAND_SME_TILE'
warning: instr->operands[i].immediate = (OFFSET); \
warning: ^~~~~~
warning: arch-arm64/disassembler/decode_scratchpad.c:2441:15: note: initialize the variable 'imm' to silence this warning
warning: uint64_t imm, d;
warning: ^
warning: = 0
warning: arch-arm64/disassembler/decode_scratchpad.c:2426:4: warning: variable 'n' is used uninitialized whenever switch default is taken [-Wsometimes-uninitialized]
warning: default: break;
warning: ^~~~~~~
warning: arch-arm64/disassembler/decode_scratchpad.c:2430:24: note: uninitialized use occurs here
warning: ADD_OPERAND_SME_TILE(n, ctx->V, as, REG_W0+12+ctx->Rs, imm);
warning: ^
warning: arch-arm64/disassembler/decode_scratchpad.c:1243:29: note: expanded from macro 'ADD_OPERAND_SME_TILE'
warning: instr->operands[i].tile = (TILE_NUM); \
warning: ^~~~~~~~
warning: arch-arm64/disassembler/decode_scratchpad.c:2419:18: note: initialize the variable 'n' to silence this warning
warning: uint64_t imm, n;
warning: ^
warning: = 0
warning: arch-arm64/disassembler/decode_scratchpad.c:2426:4: warning: variable 'imm' is used uninitialized whenever switch default is taken [-Wsometimes-uninitialized]
warning: default: break;
warning: ^~~~~~~
warning: arch-arm64/disassembler/decode_scratchpad.c:2430:58: note: uninitialized use occurs here
warning: ADD_OPERAND_SME_TILE(n, ctx->V, as, REG_W0+12+ctx->Rs, imm);
warning: ^~~
warning: arch-arm64/disassembler/decode_scratchpad.c:1247:34: note: expanded from macro 'ADD_OPERAND_SME_TILE'
warning: instr->operands[i].immediate = (OFFSET); \
warning: ^~~~~~
warning: arch-arm64/disassembler/decode_scratchpad.c:2419:15: note: initialize the variable 'imm' to silence this warning
warning: uint64_t imm, n;
warning: ^
warning: = 0
warning: arch-arm64/disassembler/pcode.c:149:36: warning: unused parameter 'imm13' [-Wunused-parameter]
warning: bool SVEMoveMaskPreferred(uint32_t imm13)
warning: ^
warning: arch-arm64/disassembler/pcode.c:507:32: warning: unused parameter 'a' [-Wunused-parameter]
warning: void SystemAccessTrap(uint32_t a, uint32_t b)
warning: ^
warning: arch-arm64/disassembler/pcode.c:507:44: warning: unused parameter 'b' [-Wunused-parameter]
warning: void SystemAccessTrap(uint32_t a, uint32_t b)
warning: ^
warning: arch-arm64/disassembler/pcode.c:514:32: warning: unused parameter 'a' [-Wunused-parameter]
warning: void CheckSystemAccess(uint8_t a, uint8_t b, uint8_t c, uint8_t d, uint8_t e, uint8_t f, uint8_t g)
warning: ^
warning: arch-arm64/disassembler/pcode.c:514:43: warning: unused parameter 'b' [-Wunused-parameter]
warning: void CheckSystemAccess(uint8_t a, uint8_t b, uint8_t c, uint8_t d, uint8_t e, uint8_t f, uint8_t g)
warning: ^
warning: arch-arm64/disassembler/pcode.c:514:54: warning: unused parameter 'c' [-Wunused-parameter]
warning: void CheckSystemAccess(uint8_t a, uint8_t b, uint8_t c, uint8_t d, uint8_t e, uint8_t f, uint8_t g)
warning: ^
warning: arch-arm64/disassembler/pcode.c:514:65: warning: unused parameter 'd' [-Wunused-parameter]
warning: void CheckSystemAccess(uint8_t a, uint8_t b, uint8_t c, uint8_t d, uint8_t e, uint8_t f, uint8_t g)
warning: ^
warning: arch-arm64/disassembler/pcode.c:514:76: warning: unused parameter 'e' [-Wunused-parameter]
warning: void CheckSystemAccess(uint8_t a, uint8_t b, uint8_t c, uint8_t d, uint8_t e, uint8_t f, uint8_t g)
warning: ^
warning: arch-arm64/disassembler/pcode.c:514:87: warning: unused parameter 'f' [-Wunused-parameter]
warning: void CheckSystemAccess(uint8_t a, uint8_t b, uint8_t c, uint8_t d, uint8_t e, uint8_t f, uint8_t g)
warning: ^
warning: arch-arm64/disassembler/pcode.c:514:98: warning: unused parameter 'g' [-Wunused-parameter]
warning: void CheckSystemAccess(uint8_t a, uint8_t b, uint8_t c, uint8_t d, uint8_t e, uint8_t f, uint8_t g)
warning: ^
warning: arch-arm64/disassembler/pcode.c:556:29: warning: unused parameter 'x' [-Wunused-parameter]
warning: bool ELUsingAArch32(uint8_t x)
warning: ^
warning: arch-arm64/disassembler/pcode.c:585:9: warning: variable 'F' set but not used [-Wunused-but-set-variable]
warning: int E, F, exp;
warning: ^
warning: 12 warnings generated.
warning: arch-arm64/disassembler/decode2.c:44809:32: warning: unused parameter 'ctx' [-Wunused-parameter]
warning: int shared_pseudocode(context *ctx, Instruction *instr)
warning: ^
warning: arch-arm64/disassembler/decode2.c:44809:50: warning: unused parameter 'instr' [-Wunused-parameter]
warning: int shared_pseudocode(context *ctx, Instruction *instr)
warning: ^
warning: 9 warnings generated.
warning: 2 warnings generated.
error: failed to run custom build command for `bad64-sys v0.5.0`
Caused by:
process didn't exit successfully: `/Users/brandon/Desktop/bad64/target/debug/build/bad64-sys-4d2da8a0f5498b62/build-script-build` (exit status: 101)
--- stdout
TARGET = Some("aarch64-apple-darwin")
OPT_LEVEL = Some("0")
HOST = Some("aarch64-apple-darwin")
cargo:rerun-if-env-changed=CC_aarch64-apple-darwin
CC_aarch64-apple-darwin = None
cargo:rerun-if-env-changed=CC_aarch64_apple_darwin
CC_aarch64_apple_darwin = None
cargo:rerun-if-env-changed=HOST_CC
HOST_CC = None
cargo:rerun-if-env-changed=CC
CC = None
running: "cc" "--version"
exit status: 0
cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
CRATE_CC_NO_DEFAULTS = None
DEBUG = Some("true")
RUSTC = Some("/Users/brandon/.rustup/toolchains/stable-aarch64-apple-darwin/bin/rustc")
cargo:rerun-if-env-changed=CFLAGS_aarch64-apple-darwin
CFLAGS_aarch64-apple-darwin = None
cargo:rerun-if-env-changed=CFLAGS_aarch64_apple_darwin
CFLAGS_aarch64_apple_darwin = None
cargo:rerun-if-env-changed=HOST_CFLAGS
HOST_CFLAGS = None
cargo:rerun-if-env-changed=CFLAGS
CFLAGS = None
running: "cc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-gdwarf-2" "-fno-omit-frame-pointer" "--target=arm64-apple-darwin" "-mmacosx-version-min=11.0" "-I" "arch-arm64/disassembler" "-Wall" "-Wextra" "-o" "/Users/brandon/Desktop/bad64/target/debug/build/bad64-sys-81a7836c4f38c5b6/out/arch-arm64/disassembler/decode.o" "-c" "arch-arm64/disassembler/decode.c"
running: "cc" "--version"
exit status: 0
running: "cc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-gdwarf-2" "-fno-omit-frame-pointer" "--target=arm64-apple-darwin" "-mmacosx-version-min=11.0" "-I" "arch-arm64/disassembler" "-Wall" "-Wextra" "-o" "/Users/brandon/Desktop/bad64/target/debug/build/bad64-sys-81a7836c4f38c5b6/out/arch-arm64/disassembler/decode0.o" "-c" "arch-arm64/disassembler/decode0.c"
running: "cc" "--version"
exit status: 0
running: "cc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-gdwarf-2" "-fno-omit-frame-pointer" "--target=arm64-apple-darwin" "-mmacosx-version-min=11.0" "-I" "arch-arm64/disassembler" "-Wall" "-Wextra" "-o" "/Users/brandon/Desktop/bad64/target/debug/build/bad64-sys-81a7836c4f38c5b6/out/arch-arm64/disassembler/decode1.o" "-c" "arch-arm64/disassembler/decode1.c"
running: "cc" "--version"
exit status: 0
running: "cc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-gdwarf-2" "-fno-omit-frame-pointer" "--target=arm64-apple-darwin" "-mmacosx-version-min=11.0" "-I" "arch-arm64/disassembler" "-Wall" "-Wextra" "-o" "/Users/brandon/Desktop/bad64/target/debug/build/bad64-sys-81a7836c4f38c5b6/out/arch-arm64/disassembler/decode2.o" "-c" "arch-arm64/disassembler/decode2.c"
running: "cc" "--version"
exit status: 0
running: "cc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-gdwarf-2" "-fno-omit-frame-pointer" "--target=arm64-apple-darwin" "-mmacosx-version-min=11.0" "-I" "arch-arm64/disassembler" "-Wall" "-Wextra" "-o" "/Users/brandon/Desktop/bad64/target/debug/build/bad64-sys-81a7836c4f38c5b6/out/arch-arm64/disassembler/decode_fields32.o" "-c" "arch-arm64/disassembler/decode_fields32.c"
running: "cc" "--version"
exit status: 0
running: "cc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-gdwarf-2" "-fno-omit-frame-pointer" "--target=arm64-apple-darwin" "-mmacosx-version-min=11.0" "-I" "arch-arm64/disassembler" "-Wall" "-Wextra" "-o" "/Users/brandon/Desktop/bad64/target/debug/build/bad64-sys-81a7836c4f38c5b6/out/arch-arm64/disassembler/decode_scratchpad.o" "-c" "arch-arm64/disassembler/decode_scratchpad.c"
running: "cc" "--version"
exit status: 0
running: "cc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-gdwarf-2" "-fno-omit-frame-pointer" "--target=arm64-apple-darwin" "-mmacosx-version-min=11.0" "-I" "arch-arm64/disassembler" "-Wall" "-Wextra" "-o" "/Users/brandon/Desktop/bad64/target/debug/build/bad64-sys-81a7836c4f38c5b6/out/arch-arm64/disassembler/encodings_dec.o" "-c" "arch-arm64/disassembler/encodings_dec.c"
running: "cc" "--version"
cargo:warning=arch-arm64/disassembler/decode_scratchpad.c:476:55: warning: unused parameter 'uimm5' [-Wunused-parameter]
cargo:warning=const char* pattern_lookup(unsigned pattern, unsigned uimm5)
cargo:warning= ^
cargo:warning=arch-arm64/disassembler/decode_scratchpad.c:1261:37: warning: unused parameter 'r' [-Wunused-parameter]
cargo:warning=unsigned rwwwx_0123x_reg(int x, int r)
cargo:warning= ^
exit status: 0
running: "cc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-gdwarf-2" "-fno-omit-frame-pointer" "--target=arm64-apple-darwin" "-mmacosx-version-min=11.0" "-I" "arch-arm64/disassembler" "-Wall" "-Wextra" "-o" "/Users/brandon/Desktop/bad64/target/debug/build/bad64-sys-81a7836c4f38c5b6/out/arch-arm64/disassembler/operations.o" "-c" "arch-arm64/disassembler/operations.c"
cargo:warning=arch-arm64/disassembler/decode_scratchpad.c:4388:12: warning: variable 'INDEX1' set but not used [-Wunused-but-set-variable]
cargo:warning= uint64_t INDEX1 = 0, INDEX2 = 0;
cargo:warning= ^
cargo:warning=arch-arm64/disassembler/decode_scratchpad.c:4388:24: warning: variable 'INDEX2' set but not used [-Wunused-but-set-variable]
cargo:warning= uint64_t INDEX1 = 0, INDEX2 = 0;
cargo:warning= ^
running: "cc" "--version"
cargo:warning=arch-arm64/disassembler/decode_scratchpad.c:7907:12: warning: variable 'factor' set but not used [-Wunused-but-set-variable]
cargo:warning= unsigned factor;
cargo:warning= ^
exit status: 0
running: "cc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-gdwarf-2" "-fno-omit-frame-pointer" "--target=arm64-apple-darwin" "-mmacosx-version-min=11.0" "-I" "arch-arm64/disassembler" "-Wall" "-Wextra" "-o" "/Users/brandon/Desktop/bad64/target/debug/build/bad64-sys-81a7836c4f38c5b6/out/arch-arm64/disassembler/pcode.o" "-c" "arch-arm64/disassembler/pcode.c"
running: "cc" "--version"
exit status: 0
cargo:warning=arch-arm64/disassembler/decode_scratchpad.c:2448:4: warning: variable 'd' is used uninitialized whenever switch default is taken [-Wsometimes-uninitialized]
cargo:warning= default: break;
cargo:warning= ^~~~~~~
cargo:warning=arch-arm64/disassembler/decode_scratchpad.c:2450:24: note: uninitialized use occurs here
cargo:warning= ADD_OPERAND_SME_TILE(d, ctx->V, as, REG_W0+12+ctx->Rs, imm);
cargo:warning= ^
cargo:warning=arch-arm64/disassembler/decode_scratchpad.c:1243:29: note: expanded from macro 'ADD_OPERAND_SME_TILE'
cargo:warning= instr->operands[i].tile = (TILE_NUM); \
cargo:warning= ^~~~~~~~
cargo:warning=arch-arm64/disassembler/decode_scratchpad.c:2441:18: note: initialize the variable 'd' to silence this warning
cargo:warning= uint64_t imm, d;
cargo:warning= ^
cargo:warning= = 0
cargo:warning=arch-arm64/disassembler/decode_scratchpad.c:2448:4: warning: variable 'imm' is used uninitialized whenever switch default is taken [-Wsometimes-uninitialized]
cargo:warning= default: break;
cargo:warning= ^~~~~~~
cargo:warning=arch-arm64/disassembler/decode_scratchpad.c:2450:58: note: uninitialized use occurs here
cargo:warning= ADD_OPERAND_SME_TILE(d, ctx->V, as, REG_W0+12+ctx->Rs, imm);
cargo:warning= ^~~
cargo:warning=arch-arm64/disassembler/decode_scratchpad.c:1247:34: note: expanded from macro 'ADD_OPERAND_SME_TILE'
cargo:warning= instr->operands[i].immediate = (OFFSET); \
cargo:warning= ^~~~~~
cargo:warning=arch-arm64/disassembler/decode_scratchpad.c:2441:15: note: initialize the variable 'imm' to silence this warning
cargo:warning= uint64_t imm, d;
cargo:warning= ^
cargo:warning= = 0
cargo:warning=arch-arm64/disassembler/decode_scratchpad.c:2426:4: warning: variable 'n' is used uninitialized whenever switch default is taken [-Wsometimes-uninitialized]
cargo:warning= default: break;
cargo:warning= ^~~~~~~
cargo:warning=arch-arm64/disassembler/decode_scratchpad.c:2430:24: note: uninitialized use occurs here
cargo:warning= ADD_OPERAND_SME_TILE(n, ctx->V, as, REG_W0+12+ctx->Rs, imm);
cargo:warning= ^
cargo:warning=arch-arm64/disassembler/decode_scratchpad.c:1243:29: note: expanded from macro 'ADD_OPERAND_SME_TILE'
cargo:warning= instr->operands[i].tile = (TILE_NUM); \
cargo:warning= ^~~~~~~~
cargo:warning=arch-arm64/disassembler/decode_scratchpad.c:2419:18: note: initialize the variable 'n' to silence this warning
cargo:warning= uint64_t imm, n;
cargo:warning= ^
cargo:warning= = 0
cargo:warning=arch-arm64/disassembler/decode_scratchpad.c:2426:4: warning: variable 'imm' is used uninitialized whenever switch default is taken [-Wsometimes-uninitialized]
cargo:warning= default: break;
cargo:warning= ^~~~~~~
cargo:warning=arch-arm64/disassembler/decode_scratchpad.c:2430:58: note: uninitialized use occurs here
cargo:warning= ADD_OPERAND_SME_TILE(n, ctx->V, as, REG_W0+12+ctx->Rs, imm);
cargo:warning= ^~~
cargo:warning=arch-arm64/disassembler/decode_scratchpad.c:1247:34: note: expanded from macro 'ADD_OPERAND_SME_TILE'
cargo:warning= instr->operands[i].immediate = (OFFSET); \
cargo:warning= ^~~~~~
cargo:warning=arch-arm64/disassembler/decode_scratchpad.c:2419:15: note: initialize the variable 'imm' to silence this warning
cargo:warning= uint64_t imm, n;
cargo:warning= ^
cargo:warning= = 0
running: "cc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-gdwarf-2" "-fno-omit-frame-pointer" "--target=arm64-apple-darwin" "-mmacosx-version-min=11.0" "-I" "arch-arm64/disassembler" "-Wall" "-Wextra" "-o" "/Users/brandon/Desktop/bad64/target/debug/build/bad64-sys-81a7836c4f38c5b6/out/arch-arm64/disassembler/regs.o" "-c" "arch-arm64/disassembler/regs.c"
cargo:warning=arch-arm64/disassembler/pcode.c:149:36: warning: unused parameter 'imm13' [-Wunused-parameter]
cargo:warning=bool SVEMoveMaskPreferred(uint32_t imm13)
cargo:warning= ^
running: "cc" "--version"
cargo:warning=arch-arm64/disassembler/pcode.c:507:32: warning: unused parameter 'a' [-Wunused-parameter]
cargo:warning=void SystemAccessTrap(uint32_t a, uint32_t b)
cargo:warning= ^
cargo:warning=arch-arm64/disassembler/pcode.c:507:44: warning: unused parameter 'b' [-Wunused-parameter]
cargo:warning=void SystemAccessTrap(uint32_t a, uint32_t b)
cargo:warning= ^
cargo:warning=arch-arm64/disassembler/pcode.c:514:32: warning: unused parameter 'a' [-Wunused-parameter]
cargo:warning=void CheckSystemAccess(uint8_t a, uint8_t b, uint8_t c, uint8_t d, uint8_t e, uint8_t f, uint8_t g)
cargo:warning= ^
cargo:warning=arch-arm64/disassembler/pcode.c:514:43: warning: unused parameter 'b' [-Wunused-parameter]
cargo:warning=void CheckSystemAccess(uint8_t a, uint8_t b, uint8_t c, uint8_t d, uint8_t e, uint8_t f, uint8_t g)
cargo:warning= ^
cargo:warning=arch-arm64/disassembler/pcode.c:514:54: warning: unused parameter 'c' [-Wunused-parameter]
cargo:warning=void CheckSystemAccess(uint8_t a, uint8_t b, uint8_t c, uint8_t d, uint8_t e, uint8_t f, uint8_t g)
cargo:warning= ^
cargo:warning=arch-arm64/disassembler/pcode.c:514:65: warning: unused parameter 'd' [-Wunused-parameter]
cargo:warning=void CheckSystemAccess(uint8_t a, uint8_t b, uint8_t c, uint8_t d, uint8_t e, uint8_t f, uint8_t g)
cargo:warning= ^
cargo:warning=arch-arm64/disassembler/pcode.c:514:76: warning: unused parameter 'e' [-Wunused-parameter]
cargo:warning=void CheckSystemAccess(uint8_t a, uint8_t b, uint8_t c, uint8_t d, uint8_t e, uint8_t f, uint8_t g)
cargo:warning= ^
cargo:warning=arch-arm64/disassembler/pcode.c:514:87: warning: unused parameter 'f' [-Wunused-parameter]
cargo:warning=void CheckSystemAccess(uint8_t a, uint8_t b, uint8_t c, uint8_t d, uint8_t e, uint8_t f, uint8_t g)
cargo:warning= ^
cargo:warning=arch-arm64/disassembler/pcode.c:514:98: warning: unused parameter 'g' [-Wunused-parameter]
cargo:warning=void CheckSystemAccess(uint8_t a, uint8_t b, uint8_t c, uint8_t d, uint8_t e, uint8_t f, uint8_t g)
cargo:warning= ^
cargo:warning=arch-arm64/disassembler/pcode.c:556:29: warning: unused parameter 'x' [-Wunused-parameter]
cargo:warning=bool ELUsingAArch32(uint8_t x)
cargo:warning= ^
cargo:warning=arch-arm64/disassembler/pcode.c:585:9: warning: variable 'F' set but not used [-Wunused-but-set-variable]
cargo:warning= int E, F, exp;
cargo:warning= ^
exit status: 0
cargo:warning=12 warnings generated.
running: "cc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-gdwarf-2" "-fno-omit-frame-pointer" "--target=arm64-apple-darwin" "-mmacosx-version-min=11.0" "-I" "arch-arm64/disassembler" "-Wall" "-Wextra" "-o" "/Users/brandon/Desktop/bad64/target/debug/build/bad64-sys-81a7836c4f38c5b6/out/arch-arm64/disassembler/sysregs.o" "-c" "arch-arm64/disassembler/sysregs.c"
cargo:warning=arch-arm64/disassembler/decode2.c:44809:32: warning: unused parameter 'ctx' [-Wunused-parameter]
cargo:warning=int shared_pseudocode(context *ctx, Instruction *instr)
cargo:warning= ^
cargo:warning=arch-arm64/disassembler/decode2.c:44809:50: warning: unused parameter 'instr' [-Wunused-parameter]
cargo:warning=int shared_pseudocode(context *ctx, Instruction *instr)
cargo:warning= ^
exit status: 0
exit status: 0
exit status: 0
exit status: 0
exit status: 0
exit status: 0
exit status: 0
exit status: 0
cargo:warning=9 warnings generated.
cargo:warning=2 warnings generated.
exit status: 0
exit status: 0
exit status: 0
cargo:rerun-if-env-changed=AR_aarch64-apple-darwin
AR_aarch64-apple-darwin = None
cargo:rerun-if-env-changed=AR_aarch64_apple_darwin
AR_aarch64_apple_darwin = None
cargo:rerun-if-env-changed=HOST_AR
HOST_AR = None
cargo:rerun-if-env-changed=AR
AR = None
cargo:rerun-if-env-changed=ARFLAGS_aarch64-apple-darwin
ARFLAGS_aarch64-apple-darwin = None
cargo:rerun-if-env-changed=ARFLAGS_aarch64_apple_darwin
ARFLAGS_aarch64_apple_darwin = None
cargo:rerun-if-env-changed=HOST_ARFLAGS
HOST_ARFLAGS = None
cargo:rerun-if-env-changed=ARFLAGS
ARFLAGS = None
running: ZERO_AR_DATE="1" "ar" "cq" "/Users/brandon/Desktop/bad64/target/debug/build/bad64-sys-81a7836c4f38c5b6/out/libarm64decode.a" "/Users/brandon/Desktop/bad64/target/debug/build/bad64-sys-81a7836c4f38c5b6/out/arch-arm64/disassembler/decode.o" "/Users/brandon/Desktop/bad64/target/debug/build/bad64-sys-81a7836c4f38c5b6/out/arch-arm64/disassembler/decode0.o" "/Users/brandon/Desktop/bad64/target/debug/build/bad64-sys-81a7836c4f38c5b6/out/arch-arm64/disassembler/decode1.o" "/Users/brandon/Desktop/bad64/target/debug/build/bad64-sys-81a7836c4f38c5b6/out/arch-arm64/disassembler/decode2.o" "/Users/brandon/Desktop/bad64/target/debug/build/bad64-sys-81a7836c4f38c5b6/out/arch-arm64/disassembler/decode_fields32.o" "/Users/brandon/Desktop/bad64/target/debug/build/bad64-sys-81a7836c4f38c5b6/out/arch-arm64/disassembler/decode_scratchpad.o" "/Users/brandon/Desktop/bad64/target/debug/build/bad64-sys-81a7836c4f38c5b6/out/arch-arm64/disassembler/encodings_dec.o" "/Users/brandon/Desktop/bad64/target/debug/build/bad64-sys-81a7836c4f38c5b6/out/arch-arm64/disassembler/operations.o" "/Users/brandon/Desktop/bad64/target/debug/build/bad64-sys-81a7836c4f38c5b6/out/arch-arm64/disassembler/pcode.o" "/Users/brandon/Desktop/bad64/target/debug/build/bad64-sys-81a7836c4f38c5b6/out/arch-arm64/disassembler/regs.o" "/Users/brandon/Desktop/bad64/target/debug/build/bad64-sys-81a7836c4f38c5b6/out/arch-arm64/disassembler/sysregs.o"
exit status: 0
running: "ar" "s" "/Users/brandon/Desktop/bad64/target/debug/build/bad64-sys-81a7836c4f38c5b6/out/libarm64decode.a"
exit status: 0
cargo:rustc-link-lib=static=arm64decode
cargo:rustc-link-search=native=/Users/brandon/Desktop/bad64/target/debug/build/bad64-sys-81a7836c4f38c5b6/out
cargo:rustc-link-lib=arm64decode
cargo:rerun-if-changed=wrapper.h
--- stderr
./arch-arm64/disassembler/decode.h:6:10: fatal error: 'string.h' file not found
./arch-arm64/disassembler/decode.h:6:10: fatal error: 'string.h' file not found, err: true
thread 'main' panicked at /Users/brandon/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bad64-sys-0.5.0/build.rs:51:10:
Unable to generate bindings: ()
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
I've noticed some cases where an orr
with xzr
or wzr
does not disassemble as a mov
. Changing tiny details makes a mov
or a mvn
as expected.
I'm not sure this is an incorrect disassembly. I have seen similar cases where the orr
form is being used because the mov
form would assemble to a different instruction. However, I can't explain the following cases:
orr w0, wzr, w1, lsl #0x15 // orn is fine.
orr x0, xzr, x1, lsl #0x15 // orn is fine.
orr x0, xzr, #0x3333333333333333 // 32-bit is fine.
Of course, this is not a serious problem. All these disassemblies would assemble back to the correct instruction. The issue is only that the disassembly is not using the mov
alias.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.