mirror of
https://github.com/keystone-engine/keystone.git
synced 2026-10-12 02:17:10 +00:00
The aarch64 target is actually little endian.
This commit is contained in:
@@ -35,7 +35,7 @@ if __name__ == '__main__':
|
||||
test_ks(KS_ARCH_ARM, KS_MODE_THUMB + KS_MODE_BIG_ENDIAN, b"movs r4, #0xf0")
|
||||
|
||||
# ARM64
|
||||
test_ks(KS_ARCH_ARM64, KS_MODE_BIG_ENDIAN, b"ldr w1, [sp, #0x8]")
|
||||
test_ks(KS_ARCH_ARM64, KS_MODE_LITTLE_ENDIAN, b"ldr w1, [sp, #0x8]")
|
||||
|
||||
# Hexagon
|
||||
test_ks(KS_ARCH_HEXAGON, KS_MODE_BIG_ENDIAN, b"v23.w=vavg(v11.w,v2.w):rnd")
|
||||
|
||||
@@ -36,7 +36,7 @@ test_ks(KS_ARCH_ARM, KS_MODE_THUMB, "movs r4, #0xf0")
|
||||
test_ks(KS_ARCH_ARM, KS_MODE_THUMB + KS_MODE_BIG_ENDIAN, "movs r4, #0xf0")
|
||||
|
||||
# ARM64
|
||||
test_ks(KS_ARCH_ARM64, KS_MODE_BIG_ENDIAN, "ldr w1, [sp, #0x8]")
|
||||
test_ks(KS_ARCH_ARM64, KS_MODE_LITTLE_ENDIAN, "ldr w1, [sp, #0x8]")
|
||||
|
||||
# Hexagon
|
||||
test_ks(KS_ARCH_HEXAGON, KS_MODE_BIG_ENDIAN, "v23.w=vavg(v11.w,v2.w):rnd")
|
||||
|
||||
+2
-2
@@ -146,8 +146,8 @@ int main(int argc, char **argv)
|
||||
err = ks_open(KS_ARCH_ARM, KS_MODE_THUMB+KS_MODE_BIG_ENDIAN, &ks);
|
||||
}
|
||||
|
||||
if (!strcmp(mode, "arm64be") || !strcmp(mode, "arm64")) {
|
||||
err = ks_open(KS_ARCH_ARM64, KS_MODE_BIG_ENDIAN, &ks);
|
||||
if (!strcmp(mode, "arm64")) {
|
||||
err = ks_open(KS_ARCH_ARM64, KS_MODE_LITTLE_ENDIAN, &ks);
|
||||
}
|
||||
|
||||
if (!strcmp(mode, "hex") || !strcmp(mode, "hexagon")) {
|
||||
|
||||
@@ -278,7 +278,7 @@ ks_err ks_open(ks_arch arch, int mode, ks_engine **result)
|
||||
|
||||
#ifdef LLVM_ENABLE_ARCH_AArch64
|
||||
case KS_ARCH_ARM64:
|
||||
if (mode != KS_MODE_BIG_ENDIAN) {
|
||||
if (mode != KS_MODE_LITTLE_ENDIAN) {
|
||||
delete ks;
|
||||
return KS_ERR_MODE;
|
||||
}
|
||||
|
||||
+1
-1
@@ -60,7 +60,7 @@ int main(int argc, char **argv)
|
||||
test_ks(KS_ARCH_ARM, KS_MODE_THUMB + KS_MODE_BIG_ENDIAN, "movs r4, #0xf0", 0);
|
||||
|
||||
// ARM64
|
||||
test_ks(KS_ARCH_ARM64, KS_MODE_BIG_ENDIAN, "ldr w1, [sp, #0x8]", 0);
|
||||
test_ks(KS_ARCH_ARM64, KS_MODE_LITTLE_ENDIAN, "ldr w1, [sp, #0x8]", 0);
|
||||
|
||||
// Hexagon
|
||||
test_ks(KS_ARCH_HEXAGON, KS_MODE_BIG_ENDIAN, "v23.w=vavg(v11.w,v2.w):rnd", 0);
|
||||
|
||||
Reference in New Issue
Block a user