hadoop-3.1/0004-fix_build_issue_on_riscv.patch

21 lines
991 B
Diff
Raw Permalink Normal View History

--- hadoop-3.1.4-src/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/src/main/native/src/lib/primitives.h.ori 2020-07-21 01:17:58.000000000 +0800
+++ hadoop-3.1.4-src/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/src/main/native/src/lib/primitives.h 2022-09-03 12:43:35.309454600 +0800
@@ -99,6 +99,8 @@
inline uint32_t bswap(uint32_t val) {
#ifdef __aarch64__
__asm__("rev %w[dst], %w[src]" : [dst]"=r"(val) : [src]"r"(val));
+#elif defined(__ppc64__)||(__PPC64__)||(__powerpc64__)||(__riscv)
+ return __builtin_bswap32(val);
#else
__asm__("bswap %0" : "=r" (val) : "0" (val));
#endif
@@ -108,6 +110,8 @@
inline uint64_t bswap64(uint64_t val) {
#ifdef __aarch64__
__asm__("rev %[dst], %[src]" : [dst]"=r"(val) : [src]"r"(val));
+#elif defined(__ppc64__)||(__PPC64__)||(__powerpc64__)||(__riscv)
+ return __builtin_bswap64(val);
#else
#ifdef __X64
__asm__("bswapq %0" : "=r" (val) : "0" (val));