hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hudson (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HADOOP-11484) hadoop-mapreduce-client-nativetask fails to build on ARM AARCH64 due to x86 asm statements
Date Thu, 22 Jan 2015 14:21:38 GMT

    [ https://issues.apache.org/jira/browse/HADOOP-11484?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14287483#comment-14287483
] 

Hudson commented on HADOOP-11484:
---------------------------------

FAILURE: Integrated in Hadoop-Hdfs-trunk-Java8 #78 (See [https://builds.apache.org/job/Hadoop-Hdfs-trunk-Java8/78/])
HADOOP-11484. hadoop-mapreduce-client-nativetask fails to build on ARM AARCH64 due to x86
asm statements (Edward Nevill via Colin P. McCabe) (cmccabe: rev 220a49de479a632068ad37f11c6cdd17327dacd9)
* hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/src/main/native/src/util/Checksum.cc
* hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/src/main/native/src/lib/primitives.h
* hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
HADOOP-11484: move CHANGES.txt entry to 3.0 (cmccabe: rev 39c1bcf7d9c9331d25ca0aded85a293df04e0b52)
* hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt


> hadoop-mapreduce-client-nativetask fails to build on ARM AARCH64 due to x86 asm statements
> ------------------------------------------------------------------------------------------
>
>                 Key: HADOOP-11484
>                 URL: https://issues.apache.org/jira/browse/HADOOP-11484
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: native
>         Environment: ARM aarch64 development board
>            Reporter: Edward Nevill
>            Assignee: Edward Nevill
>            Priority: Minor
>             Fix For: 3.0.0
>
>         Attachments: HADOOP-11484.001.patch
>
>
> Hadoop fails to build on ARM aarch64 (or any non x86 platform) because of the following
in
> hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/src/main/native/src/lib/primitives.h
> {noformat}
> /**
>  * little-endian to big-endian or vice versa
>  */
> inline uint32_t bswap(uint32_t val) {
>   __asm__("bswap %0" : "=r" (val) : "0" (val));
>   return val;
> }
> inline uint64_t bswap64(uint64_t val) {
> #ifdef __X64
>   __asm__("bswapq %0" : "=r" (val) : "0" (val));
> #else
>   uint64_t lower = val & 0xffffffffU;
>   uint32_t higher = (val >> 32) & 0xffffffffU;
>   lower = bswap(lower);
>   higher = bswap(higher);
>   return (lower << 32) + higher;
> #endif
>   return val;
> }
> {noformat}
> The following also fails in
> hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/src/main/native/src/util/Checksum.cc
> {noformat}
> static uint32_t cpuid(uint32_t eax_in) {
>   uint32_t eax, ebx, ecx, edx;
> #  if defined(__PIC__) && !defined(__LP64__)
> // 32-bit PIC code uses the ebx register for the base offset --
> // have to save and restore it on the stack
>   asm("pushl %%ebx\n\t"
>       "cpuid\n\t"
>       "movl %%ebx, %[ebx]\n\t"
>       "popl %%ebx" : "=a" (eax), [ebx] "=r"(ebx), "=c"(ecx), "=d"(edx) : "a" (eax_in)

>       : "cc");
> #  else
>   asm("cpuid" : "=a" (eax), "=b"(ebx), "=c"(ecx), "=d"(edx) : "a"(eax_in)
>       : "cc");
> #  endif
>   return ecx;
> }
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message