diff --git a/BuildNative b/BuildNative index 91250c4..36e3f66 100755 --- a/BuildNative +++ b/BuildNative @@ -8,6 +8,11 @@ export DYNCALL_HOME=$BASE_DIR/dyncall DYNCALL_DIFF=$BASE_DIR/src/main/cpp/bridj/dyncall.diff +function failed() { + echo "$@" + exit 1 +} + if [[ ! -d "$DYNCALL_HOME" ]] then $BASE_DIR/admin/checkout_and_patch_dyncall.sh $DYNCALL_DIFF || failed "Failed to checkout and patch dyncall" @@ -40,7 +45,7 @@ function get_arch() { x86_64|amd64) echo x64 ;; - aarch64) + aarch64|arm64) echo arm64 ;; arm*) diff --git a/src/main/java/org/bridj/Platform.java b/src/main/java/org/bridj/Platform.java index f04f5e6..8777107 100644 --- a/src/main/java/org/bridj/Platform.java +++ b/src/main/java/org/bridj/Platform.java @@ -525,6 +525,9 @@ public static String getMachine() { return "i386"; // we are running a 32 bits JVM on a 64 bits platform } } + if (isMacOSX() && arch.equals("aarch64")) { + return "arm64"; + } return arch; } diff --git a/src/test/java/org/bridj/DemanglingTest.java b/src/test/java/org/bridj/DemanglingTest.java index 6af7df2..26c1822 100644 --- a/src/test/java/org/bridj/DemanglingTest.java +++ b/src/test/java/org/bridj/DemanglingTest.java @@ -549,6 +549,7 @@ static void checkSymbol(String demanglerName, String str, MemberRef symbol, Type } @Test + @Ignore("Can’t work in JVM 12+: https://bugs.openjdk.org/browse/JDK-8210522") public void testIntVsPointer_32bits() throws NoSuchFieldException, IllegalArgumentException, IllegalAccessException { force32Bits(); @@ -562,6 +563,7 @@ public void testIntVsPointer_32bits() throws NoSuchFieldException, IllegalArgume } @Test + @Ignore("Can’t work in JVM 12+: https://bugs.openjdk.org/browse/JDK-8210522") public void testIntVsPointer_64bits() throws NoSuchFieldException, IllegalArgumentException, IllegalAccessException { force64Bits();