unicorn: patch endian.h for aarch64-darwin

This commit is contained in:
Alexandre Iooss 2022-11-05 09:39:06 +01:00
parent 14c1762e07
commit 58ca173fd6
2 changed files with 33 additions and 0 deletions

View file

@ -18,6 +18,12 @@ stdenv.mkDerivation rec {
hash = "sha256-D8kwrHo58zksVjB13VtzoVqmz++FRfJ4zI2CT+YeBVE=";
};
patches = [
# Fix compilation on aarch64-darwin
# See https://github.com/unicorn-engine/unicorn/issues/1730
./tests_unit_endian_aarch64.patch
];
nativeBuildInputs = [
cmake
pkg-config
@ -29,6 +35,13 @@ stdenv.mkDerivation rec {
IOKit
];
cmakeFlags = lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [
# Some x86 tests are interrupted by signal 10
"-DCMAKE_CTEST_ARGUMENTS=--exclude-regex;test_x86"
];
doCheck = true;
meta = with lib; {
description = "Lightweight multi-platform CPU emulator library";
homepage = "https://www.unicorn-engine.org";

View file

@ -0,0 +1,20 @@
diff --git a/tests/unit/endian.h b/tests/unit/endian.h
index 5bc86308..b455899e 100644
--- a/tests/unit/endian.h
+++ b/tests/unit/endian.h
@@ -54,6 +54,7 @@
|| defined(_POWER) || defined(__powerpc__) \
|| defined(__ppc__) || defined(__hpux) || defined(__hppa) \
|| defined(_MIPSEB) || defined(_POWER) \
+ || defined(__ARMEB__) || defined(__AARCH64EB__) \
|| defined(__s390__)
# define BOOST_BIG_ENDIAN
# define BOOST_BYTE_ORDER 4321
@@ -63,6 +64,7 @@
|| defined(_M_ALPHA) || defined(__amd64) \
|| defined(__amd64__) || defined(_M_AMD64) \
|| defined(__x86_64) || defined(__x86_64__) \
+ || defined(__ARMEL__) || defined(__AARCH64EL__) \
|| defined(_M_X64) || defined(__bfin__)
# define BOOST_LITTLE_ENDIAN