add riscv64 support

This commit is contained in:
laokz 2023-10-08 15:10:03 +08:00 committed by laokz
parent 4736fd852b
commit d8e2480863
2 changed files with 66 additions and 1 deletions

View File

@ -0,0 +1,58 @@
From ea30e748f7fb066f958ff064bcde7574dd1c6e68 Mon Sep 17 00:00:00 2001
From: "Manuel A. Fernandez Montecelo" <mafm@debian.org>
Date: Fri, 9 Dec 2022 08:19:34 -0500
Subject: [PATCH] Add support for riscv64
---
src/main/java/com/kenai/jffi/Platform.java | 5 +++++
src/main/java/com/kenai/jffi/internal/StubLoader.java | 4 ++++
2 files changed, 9 insertions(+)
diff --git a/src/main/java/com/kenai/jffi/Platform.java b/src/main/java/com/kenai/jffi/Platform.java
index 3d44d57..5881ac4 100644
--- a/src/main/java/com/kenai/jffi/Platform.java
+++ b/src/main/java/com/kenai/jffi/Platform.java
@@ -110,6 +110,8 @@ public abstract class Platform {
AARCH64(64),
/** MIPS64EL */
MIPS64EL(64),
+ /** RISCV64 */
+ RISCV64(64),
/** Unknown CPU */
UNKNOWN(64);
@@ -255,6 +257,9 @@ public abstract class Platform {
} else if (Util.equalsIgnoreCase("mips64", archString, LOCALE) || Util.equalsIgnoreCase("mips64el", archString, LOCALE)) {
return CPU.MIPS64EL;
+
+ } else if (Util.equalsIgnoreCase("riscv64", archString, LOCALE)) {
+ return CPU.RISCV64;
}
diff --git a/src/main/java/com/kenai/jffi/internal/StubLoader.java b/src/main/java/com/kenai/jffi/internal/StubLoader.java
index 3ca1d6d..ac78a2a 100644
--- a/src/main/java/com/kenai/jffi/internal/StubLoader.java
+++ b/src/main/java/com/kenai/jffi/internal/StubLoader.java
@@ -165,6 +165,8 @@ public class StubLoader {
AARCH64,
/** MIPS 64-bit little endian */
MIPS64EL,
+ /** RISC-V 64-bit little endian */
+ RISCV64,
/** Unknown CPU */
UNKNOWN;
@@ -237,6 +239,8 @@ public class StubLoader {
return CPU.AARCH64;
} else if (Util.equalsIgnoreCase("mips64", archString, LOCALE) || Util.equalsIgnoreCase("mips64el", archString, LOCALE)) {
return CPU.MIPS64EL;
+ } else if (Util.equalsIgnoreCase("riscv64", archString, LOCALE)) {
+ return CPU.RISCV64;
}
--
2.40.1

View File

@ -2,7 +2,7 @@
%global sover 1.2
Name: jffi
Version: 1.3.0
Release: 1
Release: 2
Summary: Java Foreign Function Interface
License: LGPL-3.0-or-later OR Apache-2.0
URL: http://github.com/jnr/jffi
@ -14,6 +14,7 @@ Patch2: jffi-fix-compilation-flags.patch
Patch3: jffi-1.2.12-no_javah.patch
Patch4: jffi-fix-system-ffi.patch
Patch5: add-loongarch64-support-for-jffi.patch
Patch6: Add-support-for-riscv64.patch
BuildRequires: ant ant-junit fdupes gcc libffi-devel make maven-local unzip mvn(junit:junit)
BuildRequires: mvn(org.apache.felix:maven-bundle-plugin)
BuildRequires: mvn(org.apache.maven.plugins:maven-antrun-plugin)
@ -46,6 +47,9 @@ This package contains the API documentation for %{name}.
%ifarch loongarch64
%patch5 -p1
%endif
%ifarch riscv64
%patch6 -p1
%endif
sed -i.cpu -e '/m\$(MODEL)/d' jni/GNUmakefile libtest/GNUmakefile
rm -rf archive/* jni/libffi/ jni/win32/ lib/CopyLibs/ lib/junit*
find ./ -name '*.jar' -exec rm -f '{}' \;
@ -89,6 +93,9 @@ ant -Duse.system.libffi=1 test
%doc COPYING.GPL COPYING.LESSER LICENSE
%changelog
* Sun Oct 08 2023 laokz <zhangkai@iscas.ac.cn> - 1.3.0-2
- Backport v1.3.11 patch to support riscv64
* Tue Sep 26 2023 Ge Wang <wang__ge@126.com> - 1.3.0-1
- update to version 1.3.0