已开启
add support for loongarch64 #143
dpdwaj创建于 6月30日
add support for loongarch64 #143
已开启
共 5 个文件变更+49-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: 8 | 16 | +Release: 9 |
| 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 |
| @@ -41,11 +41,15 @@ Source18: https://github.com/grpc/grpc-java/archive/refs/tags/v1.26.0.tar.gz | |||
| 41 | Source19: https://services.gradle.org/distributions/gradle-5.6.2-bin.zip | 41 | Source19: https://services.gradle.org/distributions/gradle-5.6.2-bin.zip |
| 42 | Source20: https://github.com/google/protobuf/releases/download/v3.11.0/protobuf-all-3.11.0.tar.gz | 42 | Source20: https://github.com/google/protobuf/releases/download/v3.11.0/protobuf-all-3.11.0.tar.gz |
| 43 | Source21: https://github.com/protocolbuffers/protobuf/archive/refs/tags/v3.11.0.tar.gz | 43 | Source21: https://github.com/protocolbuffers/protobuf/archive/refs/tags/v3.11.0.tar.gz |
| 44 | +Source22: protoc-2.5.0-linux-loongarch_64.exe | ||
| 45 | +Source23: protoc-3.7.1-linux-loongarch_64.exe | ||
| 46 | +Source24: protoc-gen-grpc-java-1.26.0-linux-loongarch_64.exe | ||
| 44 | 47 | ||
| 45 | Patch0: 01-lock-triple-beam-version-to-1.3.0.patch | 48 | Patch0: 01-lock-triple-beam-version-to-1.3.0.patch |
| 46 | Patch1: 02-Upgrade-os-maven-plugin-to-1.7.1.patch | 49 | Patch1: 02-Upgrade-os-maven-plugin-to-1.7.1.patch |
| 47 | Patch2: 03-Fix-build-on-riscv.patch | 50 | Patch2: 03-Fix-build-on-riscv.patch |
| 48 | Patch3: 04-Enhance-access-control-for-RunJar.patch | 51 | Patch3: 04-Enhance-access-control-for-RunJar.patch |
| 52 | +Patch4: 05-hadoop-mapreduce-client-nativetask-add-support-for-loongarch64.patch | ||
| 49 | 53 | ||
| 50 | Patch1000: 1000-Added-support-for-building-the-riscv64-protoc-binari.patch | 54 | Patch1000: 1000-Added-support-for-building-the-riscv64-protoc-binari.patch |
| 51 | Patch1001: 1001-Added-support-for-building-the-riscv64-protoc-gen-gr.patch | 55 | Patch1001: 1001-Added-support-for-building-the-riscv64-protoc-gen-gr.patch |
| @@ -310,6 +314,11 @@ mvn install:install-file -DgroupId=com.google.protobuf -DartifactId=protoc -Dver | |||
| 310 | %setup -n %{name}-%{version}-src | 314 | %setup -n %{name}-%{version}-src |
| 311 | %autopatch -M999 -p1 | 315 | %autopatch -M999 -p1 |
| 312 | %endif | 316 | %endif |
| 317 | +%ifarch loongarch64 | ||
| 318 | +mvn install:install-file -DgroupId=com.google.protobuf -DartifactId=protoc -Dversion=2.5.0 -Dclassifier=linux-loongarch_64 -Dpackaging=exe -Dfile=%{SOURCE22} | ||
| 319 | +mvn install:install-file -DgroupId=com.google.protobuf -DartifactId=protoc -Dversion=3.7.1 -Dclassifier=linux-loongarch_64 -Dpackaging=exe -Dfile=%{SOURCE23} | ||
| 320 | +mvn install:install-file -DgroupId=io.grpc -DartifactId=protoc-gen-grpc-java -Dversion=1.26.0 -Dclassifier=linux-loongarch_64 -Dpackaging=exe -Dfile=%{SOURCE24} | ||
| 321 | +%endif | ||
| 313 | mvn install:install-file -DgroupId=org.fusesource.leveldbjni -DartifactId=leveldbjni-all -Dversion=1.8 -Dpackaging=jar -Dfile=/usr/lib/java/leveldbjni-all.jar | 322 | mvn install:install-file -DgroupId=org.fusesource.leveldbjni -DartifactId=leveldbjni-all -Dversion=1.8 -Dpackaging=jar -Dfile=/usr/lib/java/leveldbjni-all.jar |
| 314 | mvn install:install-file -DgroupId=org.fusesource.leveldbjni -DartifactId=leveldbjni -Dversion=1.8 -Dpackaging=jar -Dfile=/usr/lib/java/leveldbjni/leveldbjni.jar | 323 | mvn install:install-file -DgroupId=org.fusesource.leveldbjni -DartifactId=leveldbjni -Dversion=1.8 -Dpackaging=jar -Dfile=/usr/lib/java/leveldbjni/leveldbjni.jar |
| 315 | 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 | 324 | 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 |
| @@ -342,7 +351,7 @@ ${HOME}/.m2/repository/com/github/eirslett/yarn/1.22.5/yarn-v1.22.5/bin/yarn con | |||
| 342 | %pom_disable_module hadoop-azure hadoop-tools | 351 | %pom_disable_module hadoop-azure hadoop-tools |
| 343 | %pom_disable_module hadoop-yarn-server-timelineservice-hbase-tests hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/pom.xml | 352 | %pom_disable_module hadoop-yarn-server-timelineservice-hbase-tests hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/pom.xml |
| 344 | 353 | ||
| 345 | -%ifarch riscv64 | 354 | +%ifarch riscv64 loongarch64 |
| 346 | %pom_disable_module hadoop-yarn-applications-catalog-webapp hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-catalog/pom.xml | 355 | %pom_disable_module hadoop-yarn-applications-catalog-webapp hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-catalog/pom.xml |
| 347 | %endif | 356 | %endif |
| 348 | 357 | ||
| @@ -1206,6 +1215,9 @@ fi | |||
| 1206 | %config(noreplace) %{_sysconfdir}/%{name}/container-executor.cfg | 1215 | %config(noreplace) %{_sysconfdir}/%{name}/container-executor.cfg |
| 1207 | 1216 | ||
| 1208 | %changelog | 1217 | %changelog |
| 1218 | +* Tue Jun 30 2026 doupengda <doupengda@loongson.cn> - 3.3.6-9 | ||
| 1219 | +- add support for loongarch64 | ||
| 1220 | + | ||
| 1209 | * Mon Dec 16 2024 shenzhongwei <shenzhongwei@kylinos.cn> - 3.3.6-8 | 1221 | * Mon Dec 16 2024 shenzhongwei <shenzhongwei@kylinos.cn> - 3.3.6-8 |
| 1210 | - include all patches in the source package. | 1222 | - include all patches in the source package. |
| 1211 | 1223 | ||
Binary files do not support preview
Binary files do not support preview
Binary files do not support preview