已开启
add support for loongarch64 #141
add support for loongarch64 #141
已开启
dpdwaj创建于 6月29日
5 个文件变更+50-2
@@ -0,0 +1,35 @@
1+From 04f5fce64211389ea3ad09d66b76818e4d1edaa5 Mon Sep 17 00:00:00 2001
2+From: doupengda <doupengda@loongson.cn>
3+Date: Thu, 25 Jun 2026 19:45:41 +0800
4+Subject: [PATCH] hadoop-mapreduce-client-nativetask add support for
5+ loongarch64
6+ 
7+---
8+ .../src/main/native/src/lib/primitives.h | 4 ++--
9+ 1 file changed, 2 insertions(+), 2 deletions(-)
10+ 
11+diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/src/main/native/src/lib/primitives.h b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/src/main/native/src/lib/primitives.h
12+index 70e94487..c7eb2066 100644
13+--- a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/src/main/native/src/lib/primitives.h
14++++ b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/src/main/native/src/lib/primitives.h
15+@@ -99,7 +99,7 @@ inline void simple_memcpy(void * dest, const void * src, size_t len) {
16+ inline uint32_t bswap(uint32_t val) {
17+ #ifdef __aarch64__
18+ __asm__("rev %w[dst], %w[src]" : [dst]"=r"(val) : [src]"r"(val));
19+-#elif defined(__ppc64__)||(__PPC64__)||(__powerpc64__)||(__riscv)
20++#elif defined(__ppc64__)||(__PPC64__)||(__powerpc64__)||(__riscv)||(__loongarch64)
21+ return __builtin_bswap32(val);
22+ #else
23+ __asm__("bswap %0" : "=r" (val) : "0" (val));
24+@@ -110,7 +110,7 @@ inline uint32_t bswap(uint32_t val) {
25+ inline uint64_t bswap64(uint64_t val) {
26+ #ifdef __aarch64__
27+ __asm__("rev %[dst], %[src]" : [dst]"=r"(val) : [src]"r"(val));
28+-#elif defined(__ppc64__)||(__PPC64__)||(__powerpc64__)||(__riscv)
29++#elif defined(__ppc64__)||(__PPC64__)||(__powerpc64__)||(__riscv)||(__loongarch64)
30+ return __builtin_bswap64(val);
31+ #else
32+ #ifdef __X64
33+--
34+2.54.0
35+ 
@@ -13,7 +13,7 @@
13 13 
14Name: hadoop14Name: hadoop
15Version: 3.3.615Version: 3.3.6
16-Release: 716+Release: 8
17Summary: A software platform for processing vast amounts of data17Summary: A software platform for processing vast amounts of data
18# The BSD license file is missing18# The BSD license file is missing
19# https://issues.apache.org/jira/browse/HADOOP-984919# https://issues.apache.org/jira/browse/HADOOP-9849
@@ -38,12 +38,16 @@ Source15: node-12.22.1-linux-x64.tar.gz
38Source16: node-v12.22.1-linux-arm64.tar.gz38Source16: node-v12.22.1-linux-arm64.tar.gz
39Source17: protoc-3.7.1-linux-riscv64.exe39Source17: protoc-3.7.1-linux-riscv64.exe
40Source18: protoc-gen-grpc-java-1.26.0-linux-riscv_64.exe40Source18: protoc-gen-grpc-java-1.26.0-linux-riscv_64.exe
41+Source19: protoc-2.5.0-linux-loongarch_64.exe
42+Source20: protoc-3.7.1-linux-loongarch_64.exe
43+Source21: protoc-gen-grpc-java-1.26.0-linux-loongarch_64.exe
41 44 
42Patch0: 01-lock-triple-beam-version-to-1.3.0.patch45Patch0: 01-lock-triple-beam-version-to-1.3.0.patch
43Patch1: 02-Upgrade-os-maven-plugin-to-1.7.1.patch46Patch1: 02-Upgrade-os-maven-plugin-to-1.7.1.patch
44Patch2: 03-Fix-build-on-riscv.patch47Patch2: 03-Fix-build-on-riscv.patch
45Patch3: 04-Enhance-access-control-for-RunJar.patch48Patch3: 04-Enhance-access-control-for-RunJar.patch
46Patch4: 05-c-code-adapt-to-gcc14.patch49Patch4: 05-c-code-adapt-to-gcc14.patch
50+Patch5: 06-hadoop-mapreduce-client-nativetask-add-support-for-loongarch64.patch
47 51 
48BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root52BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
49BuildRequires: java-1.8.0-openjdk-devel maven hostname maven-local tomcat cmake snappy openssl-devel53BuildRequires: java-1.8.0-openjdk-devel maven hostname maven-local tomcat cmake snappy openssl-devel
@@ -267,6 +271,12 @@ mvn install:install-file -DgroupId=com.google.protobuf -DartifactId=protoc -Dver
267mvn install:install-file -DgroupId=com.google.protobuf -DartifactId=protoc -Dversion=3.7.1 -Dclassifier=linux-riscv64 -Dpackaging=exe -Dfile=%{SOURCE17}271mvn install:install-file -DgroupId=com.google.protobuf -DartifactId=protoc -Dversion=3.7.1 -Dclassifier=linux-riscv64 -Dpackaging=exe -Dfile=%{SOURCE17}
268mvn install:install-file -DgroupId=io.grpc -DartifactId=protoc-gen-grpc-java -Dversion=1.26.0 -Dclassifier=linux-riscv64 -Dpackaging=exe -Dfile=%{SOURCE18}272mvn install:install-file -DgroupId=io.grpc -DartifactId=protoc-gen-grpc-java -Dversion=1.26.0 -Dclassifier=linux-riscv64 -Dpackaging=exe -Dfile=%{SOURCE18}
269%endif273%endif
274+%ifarch loongarch64
275+mvn install:install-file -DgroupId=com.google.protobuf -DartifactId=protoc -Dversion=2.5.0 -Dclassifier=linux-loongarch_64 -Dpackaging=exe -Dfile=%{SOURCE19}
276+mvn install:install-file -DgroupId=com.google.protobuf -DartifactId=protoc -Dversion=3.7.1 -Dclassifier=linux-loongarch_64 -Dpackaging=exe -Dfile=%{SOURCE20}
277+mvn install:install-file -DgroupId=io.grpc -DartifactId=protoc-gen-grpc-java -Dversion=1.26.0 -Dclassifier=linux-loongarch_64 -Dpackaging=exe -Dfile=%{SOURCE21}
278+%endif
279+ 
270mvn install:install-file -DgroupId=org.fusesource.leveldbjni -DartifactId=leveldbjni-all -Dversion=1.8 -Dpackaging=jar -Dfile=/usr/lib/java/leveldbjni-all.jar280mvn install:install-file -DgroupId=org.fusesource.leveldbjni -DartifactId=leveldbjni-all -Dversion=1.8 -Dpackaging=jar -Dfile=/usr/lib/java/leveldbjni-all.jar
271mvn install:install-file -DgroupId=org.fusesource.leveldbjni -DartifactId=leveldbjni -Dversion=1.8 -Dpackaging=jar -Dfile=/usr/lib/java/leveldbjni/leveldbjni.jar281mvn install:install-file -DgroupId=org.fusesource.leveldbjni -DartifactId=leveldbjni -Dversion=1.8 -Dpackaging=jar -Dfile=/usr/lib/java/leveldbjni/leveldbjni.jar
272mvn install:install-file -DgroupId=org.iq80.leveldb -DartifactId=leveldb-api -Dversion=0.7 -Dpackaging=jar -Dfile=/usr/share/java/leveldb-java/leveldb-api.jar282mvn install:install-file -DgroupId=org.iq80.leveldb -DartifactId=leveldb-api -Dversion=0.7 -Dpackaging=jar -Dfile=/usr/share/java/leveldb-java/leveldb-api.jar
@@ -299,7 +309,7 @@ ${HOME}/.m2/repository/com/github/eirslett/yarn/1.22.5/yarn-v1.22.5/bin/yarn con
299%pom_disable_module hadoop-azure hadoop-tools309%pom_disable_module hadoop-azure hadoop-tools
300%pom_disable_module hadoop-yarn-server-timelineservice-hbase-tests hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/pom.xml310%pom_disable_module hadoop-yarn-server-timelineservice-hbase-tests hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/pom.xml
301 311 
302-%ifarch riscv64312+%ifarch riscv64 loongarch64
303%pom_disable_module hadoop-yarn-applications-catalog-webapp hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-catalog/pom.xml313%pom_disable_module hadoop-yarn-applications-catalog-webapp hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-catalog/pom.xml
304%endif314%endif
305 315 
@@ -1163,6 +1173,9 @@ fi
1163%config(noreplace) %{_sysconfdir}/%{name}/container-executor.cfg1173%config(noreplace) %{_sysconfdir}/%{name}/container-executor.cfg
1164 1174 
1165%changelog1175%changelog
1176+* Mon Jun 29 2026 doupengda <doupengda@loongson.cn> - 3.3.6-8
1177+- add support for loongarch64
1178+ 
1166* Fri Nov 07 2025 laokz <zhangkai@iscas.ac.cn> - 3.3.6-71179* Fri Nov 07 2025 laokz <zhangkai@iscas.ac.cn> - 3.3.6-7
1167- C code adapt to gcc141180- C code adapt to gcc14
1168 1181 
Binary files do not support preview
Binary files do not support preview
Binary files do not support preview