FSvSn%dfoHTKKY9D$Ih1
zg(>O>1kiU21eKrwErOHrxGXM@%u!&LWTrBJ_RL=#3M`+oaxO)Qkl#n<2TCfde6xJj
z9uaw^1|L|!iEtRyUIcPMl!*$TYk9~WMC=Rk)xd>%T;<+sS4}m(OSppW5TzzsIhYn9
z!iy26R@V4EE>~{B_-n6D275t`eS`@GlT}m<;QakMr!CM`0;Tw>b!rjdJ!QAQB&z=bsVQ`d)(mC^H
zOrPVLS5k6w@qATIMbjuM(t=sYC^!a;LcbV*&x^Msf^QhuDGmt5{SYyA3?#(pK!6bg
zbP@4&QpSkk!A}t9!yr_|05L$E&)BYus9FTY5np5sV(GJ!0gzu~3>c3wWI)W3T?|AK
zZ^Z!VL4_z}kb#(tpJG5M1P?;A7%)EY@x9UjCgT!;P;TUxv11JE7hyG$439w(V+Z_1Hfmc#w>VYJWxyYbnL}Z6l2LaIOk{b}Ac4XZNXNiN1~C9Ua*qKK
z0fdZ@h}&bpL@+D^B%*E^pf7HXRB@B26H|@yWrjNX;u48yRWj_5fd_$>w4h-I(id0J
zrJ`b8L=l=g6D}h76ebyco#w7OW%x5g>?9uY$kG_AlNNL;uLAShRi{
z#IfA!l}p0zMMx3Lil>X!oj(xvau?N9B487uP4V1fclBbH>s{$bNs%I+6sIin
zVbw;kEIorbP`M#rm75C4yI@tA<%WGL@P8=ab%)(7*SA>gR9J4`CWYnp?QM8H?j@BT
z-0%Vw0hC^Z^Ax#sI0QSN6x+j#hUmKvwv>4HAujbkSfz5iC#m#q#(3o-dluh5RC)E@
zSfvLfJ05rWh3%r@qSrz#li|QqkDnE=sTt)biY*k*phgPZjo&*+t
z;dP7Qx(+#fP)X{q-dC&i=aO6Luj*0h0?_GOk;<$0+A1xQ<<0s_n0axdXoRWv-zt5I
zKwPSRbNl_EQTZ9fgiF0ASE>3wM&;=_%v_$%Ops0R7{xF3UQDIiRK=2xH(~rz=?diZ
z@+uy+O6Taox4^6HB&0BQyDYD8^?qKZ^xj6ll>Q2<#|_o5%B%PIDka*5cKludqlq?Swb0BW|cgZJ_(%eRsHHaLBAQIfZ~(I
zd0pzB(xdoM{rQy9E>%8xAW71Qmo7ausmSS*W&JDYLkKSXX%3pVCM94|-3nbjNM-
gdU&q5-K+{oimF#J(ws_F{(EJD<9Wp>Q*-(M0`ksYi2wiq
literal 0
HcmV?d00001
diff --git a/core/org.eclipse.cdt.core.linux.riscv64/plugin.properties b/core/org.eclipse.cdt.core.linux.riscv64/plugin.properties
new file mode 100644
index 00000000000..2f8f3047bca
--- /dev/null
+++ b/core/org.eclipse.cdt.core.linux.riscv64/plugin.properties
@@ -0,0 +1,2 @@
+fragmentName.linux.riscv64=C/C++ Development Tools Core for Linux riscv64
+providerName=Eclipse CDT
diff --git a/core/org.eclipse.cdt.core.linux.riscv64/pom.xml b/core/org.eclipse.cdt.core.linux.riscv64/pom.xml
new file mode 100644
index 00000000000..02e37578256
--- /dev/null
+++ b/core/org.eclipse.cdt.core.linux.riscv64/pom.xml
@@ -0,0 +1,71 @@
+
+
+
+ 4.0.0
+
+
+ org.eclipse.cdt
+ cdt-parent
+ 12.2.0-SNAPSHOT
+ ../../pom.xml
+
+
+ 12.2.0-SNAPSHOT
+ org.eclipse.cdt.core.linux.riscv64
+ eclipse-plugin
+
+
+
+
+ org.eclipse.tycho
+ target-platform-configuration
+
+ consider
+
+
+ linux
+ gtk
+ riscv64
+
+
+
+
+
+ org.eclipse.tycho
+ tycho-source-plugin
+
+
+ plugin-source
+ none
+
+
+ attach-source
+ none
+
+
+
+
+ org.eclipse.tycho
+ tycho-packaging-plugin
+
+
+ default
+
+
+
+
+
diff --git a/core/org.eclipse.cdt.core.linux/pom.xml b/core/org.eclipse.cdt.core.linux/pom.xml
index 0df4e06d444..0275c55734e 100644
--- a/core/org.eclipse.cdt.core.linux/pom.xml
+++ b/core/org.eclipse.cdt.core.linux/pom.xml
@@ -48,6 +48,11 @@
gtk
ppc64le
+
+ linux
+ gtk
+ riscv64
+
diff --git a/core/org.eclipse.cdt.core.native/META-INF/MANIFEST.MF b/core/org.eclipse.cdt.core.native/META-INF/MANIFEST.MF
index 4126ac9df52..7ced14ba6c4 100644
--- a/core/org.eclipse.cdt.core.native/META-INF/MANIFEST.MF
+++ b/core/org.eclipse.cdt.core.native/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.cdt.core.native;singleton:=true
-Bundle-Version: 6.4.0.qualifier
+Bundle-Version: 6.5.0.qualifier
Bundle-Activator: org.eclipse.cdt.internal.core.natives.CNativePlugin
Bundle-Vendor: %providerName
Bundle-Localization: plugin
diff --git a/core/org.eclipse.cdt.core.native/native_src/Makefile b/core/org.eclipse.cdt.core.native/native_src/Makefile
index 78c55db4989..8a27a82a562 100644
--- a/core/org.eclipse.cdt.core.native/native_src/Makefile
+++ b/core/org.eclipse.cdt.core.native/native_src/Makefile
@@ -1,5 +1,5 @@
#*******************************************************************************
-# Copyright (c) 2002, 2015, 2024 QNX Software Systems and others.
+# Copyright (c) 2002, 2015, 2025 QNX Software Systems and others.
#
# This program and the accompanying materials
# are made available under the terms of the Eclipse Public License 2.0
@@ -12,8 +12,9 @@
# QNX Software Systems - initial API and implementation
# Torbjörn Svensson - Bug 521515 - Adopted jenkins build
# Tue Ton - support for Windows on Arm64
+# Tue Ton - support for Linux riscv64
#*******************************************************************************/
-SHELL=/bin/bash -o pipefail
+SHELL=/usr/bin/env -S bash -o pipefail
ifeq ($(JAVA_HOME),)
$(error JAVA_HOME not set in environment)
endif
@@ -25,6 +26,7 @@ OS_DIR_WIN32_AARCH64 := ../../org.eclipse.cdt.core.win32.aarch64/os/win32/aarch6
OS_DIR_LINUX_X86_64 := ../../org.eclipse.cdt.core.linux.x86_64/os/linux/x86_64
OS_DIR_LINUX_AARCH64 := ../../org.eclipse.cdt.core.linux.aarch64/os/linux/aarch64
OS_DIR_LINUX_PPC64LE := ../../org.eclipse.cdt.core.linux.ppc64le/os/linux/ppc64le
+OS_DIR_LINUX_RISCV64 := ../../org.eclipse.cdt.core.linux.riscv64/os/linux/riscv64
OS_DIR_MACOS_X86_64 := ../../org.eclipse.cdt.core.macosx/os/macosx/x86_64
OS_DIR_MACOS_AARCH64 := ../../org.eclipse.cdt.core.macosx/os/macosx/aarch64
@@ -43,6 +45,8 @@ LIBS = \
$(OS_DIR_LINUX_AARCH64)/libpty.so \
$(OS_DIR_LINUX_PPC64LE)/libspawner.so \
$(OS_DIR_LINUX_PPC64LE)/libpty.so \
+ $(OS_DIR_LINUX_RISCV64)/libspawner.so \
+ $(OS_DIR_LINUX_RISCV64)/libpty.so \
$(OS_DIR_MACOS_X86_64)/libspawner.jnilib \
$(OS_DIR_MACOS_X86_64)/libpty.jnilib \
$(OS_DIR_MACOS_AARCH64)/libspawner.jnilib \
@@ -196,6 +200,21 @@ $(OS_DIR_LINUX_PPC64LE)/libpty.so: unix/openpty.c unix/pty.c unix/ptyio.c
$^ \
-shared -lc
+# Linux riscv64
+$(OS_DIR_LINUX_RISCV64)/libspawner.so: unix/spawner.c unix/io.c unix/exec_unix.c unix/exec_pty.c unix/openpty.c unix/pfind.c
+ mkdir -p $(dir $@) && \
+ riscv64-linux-gnu-gcc $(COMMON_CFLAGS) -o $@ -Wl,-soname,$(notdir $@) -Iinclude -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux -fpic \
+ -D_REENTRANT -D_GNU_SOURCE \
+ $^ \
+ -shared -lc
+
+$(OS_DIR_LINUX_RISCV64)/libpty.so: unix/openpty.c unix/pty.c unix/ptyio.c
+ mkdir -p $(dir $@) && \
+ riscv64-linux-gnu-gcc $(COMMON_CFLAGS) -o $@ -Wl,-soname,$(notdir $@) -Iinclude -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux -fpic \
+ -D_REENTRANT -D_GNU_SOURCE \
+ $^ \
+ -shared -lc
+
# macos x86_64
$(OS_DIR_MACOS_X86_64)/libspawner.jnilib: unix/spawner.c unix/io.c unix/exec_unix.c unix/exec_pty.c unix/openpty.c unix/pfind.c
mkdir -p $(dir $@) && \
diff --git a/core/org.eclipse.cdt.core.native/plugin.properties b/core/org.eclipse.cdt.core.native/plugin.properties
index a45e52d0e08..f6375a0f03a 100644
--- a/core/org.eclipse.cdt.core.native/plugin.properties
+++ b/core/org.eclipse.cdt.core.native/plugin.properties
@@ -1,5 +1,5 @@
###############################################################################
-# Copyright (c) 2003, 2024 IBM Corporation and others.
+# Copyright (c) 2003, 2025 IBM Corporation and others.
#
# This program and the accompanying materials
# are made available under the terms of the Eclipse Public License 2.0
@@ -12,6 +12,7 @@
# IBM Corporation - initial API and implementation
# Anton Leherbauer (Wind River Systems)
# Martin Oberhuber (Wind River) - [303083] Split out the Spawner
+# Tue Ton - support for Linux riscv64
###############################################################################
pluginName=C/C++ Development Tools Core Native Utilities
providerName=Eclipse CDT
@@ -22,6 +23,7 @@ fragmentName.linux = C/C++ Development Tools Core Native Utilities for Linux
fragmentName.linux.ppc64le = C/C++ Development Tools Core Native Utilities for Linux (ppc64le)
fragmentName.linux.x86_64 = C/C++ Development Tools Core Native Utilities for Linux (x86_64)
fragmentName.linux.aarch64 = C/C++ Development Tools Core Native Utilities for Linux (aarch64)
+fragmentName.linux.riscv64 = C/C++ Development Tools Core Native Utilities for Linux (riscv64)
fragmentName.win32 = C/C++ Development Tools Core Native Utilities for Windows
fragmentName.win32.x86_64 = C/C++ Development Tools Core Native Utilities for Windows (x86_64)
fragmentName.win32.aarch64 = C/C++ Development Tools Core Native Utilities for Windows (aarch64)
diff --git a/core/org.eclipse.cdt.core.native/pom.xml b/core/org.eclipse.cdt.core.native/pom.xml
index d46ab79bc44..8869bc333dd 100644
--- a/core/org.eclipse.cdt.core.native/pom.xml
+++ b/core/org.eclipse.cdt.core.native/pom.xml
@@ -23,7 +23,7 @@
../../pom.xml
- 6.4.0-SNAPSHOT
+ 6.5.0-SNAPSHOT
org.eclipse.cdt.core.native
eclipse-plugin
diff --git a/debug/org.eclipse.cdt.debug.application.product/pom.xml b/debug/org.eclipse.cdt.debug.application.product/pom.xml
index 0315c7f77ba..6136567661e 100644
--- a/debug/org.eclipse.cdt.debug.application.product/pom.xml
+++ b/debug/org.eclipse.cdt.debug.application.product/pom.xml
@@ -84,6 +84,11 @@
gtk
aarch64
+
+ linux
+ gtk
+ riscv64
+
win32
win32
diff --git a/native/org.eclipse.cdt.native.serial/native_src/Makefile b/native/org.eclipse.cdt.native.serial/native_src/Makefile
index b3e9e1245cd..5ab7aa6525a 100644
--- a/native/org.eclipse.cdt.native.serial/native_src/Makefile
+++ b/native/org.eclipse.cdt.native.serial/native_src/Makefile
@@ -1,5 +1,5 @@
#*******************************************************************************
-# Copyright (c) 2002, 2024 QNX Software Systems and others.
+# Copyright (c) 2002, 2025 QNX Software Systems and others.
#
# This program and the accompanying materials
# are made available under the terms of the Eclipse Public License 2.0
@@ -12,8 +12,9 @@
# QNX Software Systems - initial API and implementation
# Alex Blewitt - MacOSX with a 64-bit vm
# Tue Ton - support for Windows on Arm64
+# Tue Ton - support for Linux riscv64
#*******************************************************************************/
-SHELL=/bin/bash -o pipefail
+SHELL=/usr/bin/env -S bash -o pipefail
ifeq ($(JAVA_HOME),)
$(error Please define JAVA_HOME)
endif
@@ -32,6 +33,7 @@ LIBS = \
$(OS_DIR)/linux/x86_64/libserial.so \
$(OS_DIR)/linux/aarch64/libserial.so \
$(OS_DIR)/linux/ppc64le/libserial.so \
+ $(OS_DIR)/linux/riscv64/libserial.so \
$(OS_DIR)/macosx/x86_64/libserial.jnilib \
$(OS_DIR)/macosx/aarch64/libserial.jnilib
else
@@ -104,6 +106,10 @@ $(OS_DIR)/linux/ppc64le/libserial.so: serial.c
mkdir -p $(dir $@)
powerpc64le-linux-gnu-gcc $(COMMON_CFLAGS) -m64 -mcpu=power8 $(CFLAGS) -Iinclude -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux $(LDFLAGS) -shared -o $@ serial.c
+$(OS_DIR)/linux/riscv64/libserial.so: serial.c
+ mkdir -p $(dir $@) && \
+ riscv64-linux-gnu-gcc $(COMMON_CFLAGS) $(CFLAGS) -Iinclude -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux $(LDFLAGS) -shared -o $@ $^
+
$(OS_DIR)/macosx/x86_64/libserial.jnilib: serial.c
mkdir -p $(dir $@) && \
x86_64-apple-darwin21.1-clang $(COMMON_CFLAGS) $(CFLAGS) -Iinclude -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/darwin $(LDFLAGS) -dynamiclib -o $@ $^
diff --git a/native/org.eclipse.cdt.native.serial/os/linux/riscv64/libserial.so b/native/org.eclipse.cdt.native.serial/os/linux/riscv64/libserial.so
new file mode 100755
index 0000000000000000000000000000000000000000..457f6ad8c7583e25ada131d569c6ccabe434d247
GIT binary patch
literal 12624
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
G{r><1*D78B
literal 0
HcmV?d00001
diff --git a/pom.xml b/pom.xml
index e24cedd9232..638beedbaac 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,6 +1,6 @@