HADOOP-11484. hadoop-mapreduce-client-nativetask fails to build on ARM AARCH64 due to x86 asm statements (Edward Nevill via Colin P. McCabe)

This commit is contained in:
Colin Patrick Mccabe 2015-01-21 11:24:09 -08:00
parent 07b0806036
commit 220a49de47
3 changed files with 16 additions and 0 deletions

View File

@ -753,6 +753,9 @@ Release 2.7.0 - UNRELEASED
HDFS-7610. Fix removal of dynamically added DN volumes (Lei (Eddy) Xu via
Colin P. McCabe)
HADOOP-11484. hadoop-mapreduce-client-nativetask fails to build on ARM
AARCH64 due to x86 asm statements (Edward Nevill via Colin P. McCabe)
Release 2.6.1 - UNRELEASED
INCOMPATIBLE CHANGES

View File

@ -97,11 +97,18 @@ inline void simple_memcpy(void * dest, const void * src, size_t len) {
* little-endian to big-endian or vice versa
*/
inline uint32_t bswap(uint32_t val) {
#ifdef __aarch64__
__asm__("rev %w[dst], %w[src]" : [dst]"=r"(val) : [src]"r"(val));
#else
__asm__("bswap %0" : "=r" (val) : "0" (val));
#endif
return val;
}
inline uint64_t bswap64(uint64_t val) {
#ifdef __aarch64__
__asm__("rev %[dst], %[src]" : [dst]"=r"(val) : [src]"r"(val));
#else
#ifdef __X64
__asm__("bswapq %0" : "=r" (val) : "0" (val));
#else
@ -114,6 +121,7 @@ inline uint64_t bswap64(uint64_t val) {
return (lower << 32) + higher;
#endif
#endif
return val;
}

View File

@ -579,6 +579,11 @@ const uint32_t CRC32C_T8_7[256] = {0x00000000, 0x493C7D27, 0x9278FA4E, 0xDB44876
0xCF56CE31, 0x14124958, 0x5D2E347F, 0xE54C35A1, 0xAC704886, 0x7734CFEF, 0x3E08B2C8, 0xC451B7CC,
0x8D6DCAEB, 0x56294D82, 0x1F1530A5};
#ifdef __aarch64__
// Awaiting HW implementation
#define SOFTWARE_CRC
#endif
#ifndef SOFTWARE_CRC
#define USE_HARDWARE_CRC32C 1
#endif