已开启
add support for loongarch64 #141
dpdwaj创建于 6月29日
add support for loongarch64 #141
已开启
共 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 | + 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 | + 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 | ||
| 14 | Name: hadoop | 14 | Name: hadoop |
| 15 | Version: 3.3.6 | 15 | Version: 3.3.6 |
| 16 | -Release: 7 | 16 | +Release: 8 |
| 17 | Summary: A software platform for processing vast amounts of data | 17 | Summary: A software platform for processing vast amounts of data |
| 18 | # The BSD license file is missing | 18 | # The BSD license file is missing |
| 19 | # https://issues.apache.org/jira/browse/HADOOP-9849 | 19 | # https://issues.apache.org/jira/browse/HADOOP-9849 |
| @@ -38,12 +38,16 @@ Source15: node-12.22.1-linux-x64.tar.gz | |||
| 38 | Source16: node-v12.22.1-linux-arm64.tar.gz | 38 | Source16: node-v12.22.1-linux-arm64.tar.gz |
| 39 | Source17: protoc-3.7.1-linux-riscv64.exe | 39 | Source17: protoc-3.7.1-linux-riscv64.exe |
| 40 | Source18: protoc-gen-grpc-java-1.26.0-linux-riscv_64.exe | 40 | Source18: 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 | ||
| 42 | Patch0: 01-lock-triple-beam-version-to-1.3.0.patch | 45 | Patch0: 01-lock-triple-beam-version-to-1.3.0.patch |
| 43 | Patch1: 02-Upgrade-os-maven-plugin-to-1.7.1.patch | 46 | Patch1: 02-Upgrade-os-maven-plugin-to-1.7.1.patch |
| 44 | Patch2: 03-Fix-build-on-riscv.patch | 47 | Patch2: 03-Fix-build-on-riscv.patch |
| 45 | Patch3: 04-Enhance-access-control-for-RunJar.patch | 48 | Patch3: 04-Enhance-access-control-for-RunJar.patch |
| 46 | Patch4: 05-c-code-adapt-to-gcc14.patch | 49 | Patch4: 05-c-code-adapt-to-gcc14.patch |
| 50 | +Patch5: 06-hadoop-mapreduce-client-nativetask-add-support-for-loongarch64.patch | ||
| 47 | 51 | ||
| 48 | BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root | 52 | BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root |
| 49 | BuildRequires: java-1.8.0-openjdk-devel maven hostname maven-local tomcat cmake snappy openssl-devel | 53 | BuildRequires: 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 | |||
| 267 | mvn install:install-file -DgroupId=com.google.protobuf -DartifactId=protoc -Dversion=3.7.1 -Dclassifier=linux-riscv64 -Dpackaging=exe -Dfile=%{SOURCE17} | 271 | mvn install:install-file -DgroupId=com.google.protobuf -DartifactId=protoc -Dversion=3.7.1 -Dclassifier=linux-riscv64 -Dpackaging=exe -Dfile=%{SOURCE17} |
| 268 | mvn install:install-file -DgroupId=io.grpc -DartifactId=protoc-gen-grpc-java -Dversion=1.26.0 -Dclassifier=linux-riscv64 -Dpackaging=exe -Dfile=%{SOURCE18} | 272 | mvn install:install-file -DgroupId=io.grpc -DartifactId=protoc-gen-grpc-java -Dversion=1.26.0 -Dclassifier=linux-riscv64 -Dpackaging=exe -Dfile=%{SOURCE18} |
| 269 | %endif | 273 | %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 | + | ||
| 270 | mvn install:install-file -DgroupId=org.fusesource.leveldbjni -DartifactId=leveldbjni-all -Dversion=1.8 -Dpackaging=jar -Dfile=/usr/lib/java/leveldbjni-all.jar | 280 | mvn install:install-file -DgroupId=org.fusesource.leveldbjni -DartifactId=leveldbjni-all -Dversion=1.8 -Dpackaging=jar -Dfile=/usr/lib/java/leveldbjni-all.jar |
| 271 | mvn install:install-file -DgroupId=org.fusesource.leveldbjni -DartifactId=leveldbjni -Dversion=1.8 -Dpackaging=jar -Dfile=/usr/lib/java/leveldbjni/leveldbjni.jar | 281 | mvn install:install-file -DgroupId=org.fusesource.leveldbjni -DartifactId=leveldbjni -Dversion=1.8 -Dpackaging=jar -Dfile=/usr/lib/java/leveldbjni/leveldbjni.jar |
| 272 | mvn install:install-file -DgroupId=org.iq80.leveldb -DartifactId=leveldb-api -Dversion=0.7 -Dpackaging=jar -Dfile=/usr/share/java/leveldb-java/leveldb-api.jar | 282 | mvn 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-tools | 309 | %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.xml | 310 | %pom_disable_module hadoop-yarn-server-timelineservice-hbase-tests hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/pom.xml |
| 301 | 311 | ||
| 302 | -%ifarch riscv64 | 312 | +%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.xml | 313 | %pom_disable_module hadoop-yarn-applications-catalog-webapp hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-catalog/pom.xml |
| 304 | %endif | 314 | %endif |
| 305 | 315 | ||
| @@ -1163,6 +1173,9 @@ fi | |||
| 1163 | %config(noreplace) %{_sysconfdir}/%{name}/container-executor.cfg | 1173 | %config(noreplace) %{_sysconfdir}/%{name}/container-executor.cfg |
| 1164 | 1174 | ||
| 1165 | %changelog | 1175 | %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-7 | 1179 | * Fri Nov 07 2025 laokz <zhangkai@iscas.ac.cn> - 3.3.6-7 |
| 1167 | - C code adapt to gcc14 | 1180 | - 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