diff --git a/Jenkinsfile b/Jenkinsfile
index 0dfaabdae23..b07bce612cd 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -47,6 +47,17 @@ def getNativeJdkUrl(String os, String arch) { // To update the used JDK version
"""
}
return "file://${WORKSPACE}/repackage-win32.aarch64-jdk/jdk.tar.gz"
+ } else if ('linux'.equals(os) && 'riscv64'.equals(arch)) {
+ // Downloading jdk and renew it for riscv64 architecture on Linux
+ dir("${WORKSPACE}/repackage-linux.riscv64-jdk") {
+ sh """
+ curl -L 'https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.12%2B7/OpenJDK17U-jdk_riscv64_linux_hotspot_17.0.12_7.tar.gz' > jdk.tar.gz
+ tar -xzf jdk.tar.gz jdk-17.0.12+7/include/ jdk-17.0.12+7/lib/
+ cd jdk-17.0.12+7
+ tar -czf ../jdk.tar.gz include/ lib/
+ """
+ }
+ return "file://${WORKSPACE}/repackage-linux.riscv64-jdk/jdk.tar.gz"
}
return "https://download.eclipse.org/justj/jres/17/downloads/20230428_1804/org.eclipse.justj.openjdk.hotspot.jre.minimal.stripped-17.0.7-${os}-${arch}.tar.gz"
}
@@ -174,6 +185,7 @@ pipeline {
'cocoa.macosx.x86_64' ,\
'gtk.linux.aarch64' ,\
'gtk.linux.ppc64le' ,\
+ 'gtk.linux.riscv64',\
'gtk.linux.x86_64' ,\
'win32.win32.aarch64' ,\
'win32.win32.x86_64'
diff --git a/bundles/org.eclipse.equinox.launcher.gtk.linux.riscv64/.project b/bundles/org.eclipse.equinox.launcher.gtk.linux.riscv64/.project
new file mode 100644
index 00000000000..a919234491b
--- /dev/null
+++ b/bundles/org.eclipse.equinox.launcher.gtk.linux.riscv64/.project
@@ -0,0 +1,22 @@
+
+
+ org.eclipse.equinox.launcher.gtk.linux.riscv64
+
+
+
+
+
+ org.eclipse.pde.ManifestBuilder
+
+
+
+
+ org.eclipse.pde.SchemaBuilder
+
+
+
+
+
+ org.eclipse.pde.PluginNature
+
+
diff --git a/bundles/org.eclipse.equinox.launcher.gtk.linux.riscv64/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.launcher.gtk.linux.riscv64/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..fe2c8e213f3
--- /dev/null
+++ b/bundles/org.eclipse.equinox.launcher.gtk.linux.riscv64/META-INF/MANIFEST.MF
@@ -0,0 +1,10 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-Vendor: %providerName
+Bundle-SymbolicName: org.eclipse.equinox.launcher.gtk.linux.riscv64;singleton:=true
+Bundle-Version: 1.2.1200.qualifier
+Fragment-Host: org.eclipse.equinox.launcher;bundle-version="[1.6.0,1.7.0)"
+Eclipse-PlatformFilter: (& (osgi.ws=gtk) (osgi.os=linux) (osgi.arch=riscv64))
+Bundle-Localization: launcher.gtk.linux.riscv64
+Eclipse-BundleShape: dir
diff --git a/bundles/org.eclipse.equinox.launcher.gtk.linux.riscv64/about.html b/bundles/org.eclipse.equinox.launcher.gtk.linux.riscv64/about.html
new file mode 100644
index 00000000000..164f781a8fd
--- /dev/null
+++ b/bundles/org.eclipse.equinox.launcher.gtk.linux.riscv64/about.html
@@ -0,0 +1,36 @@
+
+
+
+
+About
+
+
+ About This Content
+
+ November 30, 2017
+ License
+
+
+ The Eclipse Foundation makes available all content in this plug-in
+ ("Content"). Unless otherwise indicated below, the Content
+ is provided to you under the terms and conditions of the Eclipse
+ Public License Version 2.0 ("EPL"). A copy of the EPL is
+ available at http://www.eclipse.org/legal/epl-2.0.
+ For purposes of the EPL, "Program" will mean the Content.
+
+
+
+ If you did not receive this Content directly from the Eclipse
+ Foundation, the Content is being redistributed by another party
+ ("Redistributor") and different terms and conditions may
+ apply to your use of any object code in the Content. Check the
+ Redistributor's license that was provided with the Content. If no such
+ license exists, contact the Redistributor. Unless otherwise indicated
+ below, the terms and conditions of the EPL still apply to any source
+ code in the Content and such source code may be obtained at http://www.eclipse.org.
+
+
+
+
\ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.launcher.gtk.linux.riscv64/build.properties b/bundles/org.eclipse.equinox.launcher.gtk.linux.riscv64/build.properties
new file mode 100644
index 00000000000..20a03dfc6cb
--- /dev/null
+++ b/bundles/org.eclipse.equinox.launcher.gtk.linux.riscv64/build.properties
@@ -0,0 +1,26 @@
+###############################################################################
+# Copyright (c) 2024 ISCAS(PLCT Lab). and others.
+#
+# This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/
+#
+# SPDX-License-Identifier: EPL-2.0
+#
+# Contributors:
+# Bo YU .
+# CHEN Xuan - initial API and implementation
+###############################################################################
+bin.includes = META-INF/,\
+ launcher.gtk.linux.riscv64.properties,\
+ about.html
+
+generateSourceBundle=false
+binaryTag=LBv1-1904
+
+# Maven properties, see https://github.com/eclipse/tycho/wiki/Tycho-Pomless
+tycho.pomless.parent = ../../launcher-binary-parent
+pom.model.property.os = linux
+pom.model.property.ws = gtk
+pom.model.property.arch = riscv64
diff --git a/bundles/org.eclipse.equinox.launcher.gtk.linux.riscv64/launcher.gtk.linux.riscv64.properties b/bundles/org.eclipse.equinox.launcher.gtk.linux.riscv64/launcher.gtk.linux.riscv64.properties
new file mode 100644
index 00000000000..eab68fbc567
--- /dev/null
+++ b/bundles/org.eclipse.equinox.launcher.gtk.linux.riscv64/launcher.gtk.linux.riscv64.properties
@@ -0,0 +1,16 @@
+###############################################################################
+# Copyright (c) 2024 ISCAS(PLCT Lab). and others.
+#
+# This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/
+#
+# SPDX-License-Identifier: EPL-2.0
+#
+# Contributors:
+# Bo YU .
+# CHEN Xuan . - initial API and implementation
+###############################################################################
+pluginName = Equinox Launcher Linux RISCV64 Fragment
+providerName = Eclipse.org - Equinox
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.a1/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.a1/META-INF/MANIFEST.MF
index 33659117d9e..4b408fe90b7 100644
--- a/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.a1/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.a1/META-INF/MANIFEST.MF
@@ -31,6 +31,10 @@ Bundle-NativeCode: nativefile1.txt;
processor=loongarch;
osname=Linux,
nativefile1.txt;
+ processor=riscv64;
+ processor=riscv;
+ osname=Linux,
+ nativefile1.txt;
processor=s390;
processor=s390x;
osname=Linux,
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.a2/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.a2/META-INF/MANIFEST.MF
index d471ccfb48f..fca5e1a071a 100644
--- a/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.a2/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.a2/META-INF/MANIFEST.MF
@@ -35,6 +35,10 @@ Bundle-NativeCode: nativefile2.txt;
processor=loongarch;
osname=Linux,
nativefile2.txt;
+ processor=riscv64;
+ processor=riscv;
+ osname=Linux,
+ nativefile2.txt;
processor=Sparc;
osname=Solaris;
osname=SunOS,
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.b1/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.b1/META-INF/MANIFEST.MF
index 65f1c762855..a7dd7609929 100644
--- a/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.b1/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.b1/META-INF/MANIFEST.MF
@@ -35,6 +35,10 @@ Bundle-NativeCode: nativefile.txt;
processor=loongarch;
osname=Linux,
nativefile.txt;
+ processor=riscv64;
+ processor=riscv;
+ osname=Linux,
+ nativefile.txt;
processor=Sparc;
osname=Solaris;
osname=SunOS,
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.b2/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.b2/META-INF/MANIFEST.MF
index 5068e95b585..130c69162f3 100644
--- a/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.b2/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.osgi.tests/bundles_src/nativetest.b2/META-INF/MANIFEST.MF
@@ -35,6 +35,10 @@ Bundle-NativeCode: nativefile.txt;
processor=loongarch;
osname=Linux,
nativefile.txt;
+ processor=riscv64;
+ processor=riscv;
+ osname=Linux,
+ nativefile.txt;
processor=Sparc;
osname=Solaris;
osname=SunOS,
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/processor.aliases b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/processor.aliases
index 8e2d55f7b90..2214764ef6c 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/processor.aliases
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/processor.aliases
@@ -18,7 +18,7 @@
68k # Motorola 68000 and up
ARM # Intel Strong ARM
-aarch64 arm64
+aarch64 arm64 # 64 bit ARM architecture
Alpha # Compaq (ex DEC)
Ignite psc1k # PTSC
Mips # SGI
@@ -29,7 +29,8 @@ PowerPC-64-LE ppc64le # IBM Power PC 64-bit Little Endian
Sparc # SUN
x86 pentium i386 i486 i586 i686 # Intel
s390 # IBM System 390
-s390x # IBM System 390 (64-bit)
+s390x # IBM System 390 (64-bit)
v850e # NEC V850E
x86-64 amd64 em64t x86_64 # 64 bit x86 architecture
loongarch64 LoongArch64 # 64 bit loongarch architecture
+riscv64 # 64 bit RISC-V architecture
diff --git a/features/org.eclipse.equinox.executable.feature/build.properties b/features/org.eclipse.equinox.executable.feature/build.properties
index 639806cc8b1..a39676fe381 100644
--- a/features/org.eclipse.equinox.executable.feature/build.properties
+++ b/features/org.eclipse.equinox.executable.feature/build.properties
@@ -41,3 +41,6 @@ root.macosx.cocoa.aarch64.permissions.755=Eclipse.app/Contents/MacOS/launcher
root.linux.gtk.x86_64=bin/gtk/linux/x86_64,gtk_root
root.linux.gtk.x86_64.permissions.755=launcher
+
+root.linux.gtk.riscv64=bin/gtk/linux/riscv64,gtk_root
+root.linux.gtk.riscv64.permissions.755=launcher
diff --git a/features/org.eclipse.equinox.executable.feature/feature.xml b/features/org.eclipse.equinox.executable.feature/feature.xml
index 09b4c6321b5..948bee8349d 100755
--- a/features/org.eclipse.equinox.executable.feature/feature.xml
+++ b/features/org.eclipse.equinox.executable.feature/feature.xml
@@ -58,6 +58,13 @@
arch="x86_64"
version="0.0.0"/>
+
+
"
;;
diff --git a/features/org.eclipse.equinox.executable.feature/pom.xml b/features/org.eclipse.equinox.executable.feature/pom.xml
index b648502224d..fe42d4ad31f 100644
--- a/features/org.eclipse.equinox.executable.feature/pom.xml
+++ b/features/org.eclipse.equinox.executable.feature/pom.xml
@@ -91,6 +91,20 @@
+
+
+ org.eclipse.tycho
+ target-platform-configuration
+
+
+
+ linux
+ gtk
+ riscv64
+
+
+
+
@@ -124,6 +138,7 @@
+
diff --git a/features/org.eclipse.equinox.executable.feature/resources/build.properties b/features/org.eclipse.equinox.executable.feature/resources/build.properties
index b938365beef..c1233014b23 100644
--- a/features/org.eclipse.equinox.executable.feature/resources/build.properties
+++ b/features/org.eclipse.equinox.executable.feature/resources/build.properties
@@ -37,3 +37,6 @@ root.linux.gtk.x86_64.permissions.755=libcairo-swt.so
root.linux.gtk.loongarch64=bin/gtk/linux/loongarch64,gtk_root
root.linux.gtk.loongarch64.permissions.755=launcher
+
+root.linux.gtk.riscv64=bin/gtk/linux/riscv64,gtk_root
+root.linux.gtk.riscv64.permissions.755=launcher
diff --git a/features/org.eclipse.equinox.executable.feature/resources/build.xml b/features/org.eclipse.equinox.executable.feature/resources/build.xml
index ecf01b4fd0d..0be2df1c88b 100644
--- a/features/org.eclipse.equinox.executable.feature/resources/build.xml
+++ b/features/org.eclipse.equinox.executable.feature/resources/build.xml
@@ -126,6 +126,14 @@
+
+
+
+
+
+
+
+
@@ -168,6 +176,7 @@
+
diff --git a/pom.xml b/pom.xml
index 5c2ba8607c5..e4e0459b2b6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -217,6 +217,7 @@
bundles/org.eclipse.equinox.launcher.cocoa.macosx.aarch64
bundles/org.eclipse.equinox.launcher.gtk.linux.aarch64
bundles/org.eclipse.equinox.launcher.gtk.linux.ppc64le
+ bundles/org.eclipse.equinox.launcher.gtk.linux.riscv64
bundles/org.eclipse.equinox.launcher.gtk.linux.x86_64
bundles/org.eclipse.equinox.launcher.win32.win32.aarch64
bundles/org.eclipse.equinox.launcher.win32.win32.x86_64