From fc6ff81e80008cb1ce691942c021dc0d60aea25a Mon Sep 17 00:00:00 2001 From: Ingmar Steen <iksteen@gmail.com> Date: Mon, 23 May 2016 17:22:26 +0200 Subject: [PATCH] The aarch64 target is actually little endian. --- bindings/python/sample.py | 2 +- bindings/ruby/sample.rb | 2 +- kstool/kstool.cpp | 4 ++-- llvm/keystone/ks.cpp | 2 +- samples/sample.c | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/bindings/python/sample.py b/bindings/python/sample.py index 7a22b2a..cf9c6f4 100755 --- a/bindings/python/sample.py +++ b/bindings/python/sample.py @@ -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") diff --git a/bindings/ruby/sample.rb b/bindings/ruby/sample.rb index 61411db..9839fb1 100755 --- a/bindings/ruby/sample.rb +++ b/bindings/ruby/sample.rb @@ -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") diff --git a/kstool/kstool.cpp b/kstool/kstool.cpp index 5ef71e7..d8b3700 100644 --- a/kstool/kstool.cpp +++ b/kstool/kstool.cpp @@ -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")) { diff --git a/llvm/keystone/ks.cpp b/llvm/keystone/ks.cpp index 3b1f7bc..95d768e 100644 --- a/llvm/keystone/ks.cpp +++ b/llvm/keystone/ks.cpp @@ -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; } diff --git a/samples/sample.c b/samples/sample.c index 51088ab..0077a3d 100644 --- a/samples/sample.c +++ b/samples/sample.c @@ -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); -- GitLab