[OpenAFS-devel] Re: Compiling openafs on arm64/aarch64 architecture

Micheal Waltz mwaltz@qualcomm.com
Fri, 17 Oct 2014 14:07:31 -0700


On 10/17/14 10:01, Benjamin Kaduk wrote:
> The github copy is updated automatically from the official repo; it's 
> a fine place to start from. 

I forked the openafs github repo and added the changes into the aarch64 
branch from master here,

https://github.com/ecliptik/openafs/tree/aarch64

It's making it into the module phase again after putting in the 
src/config/param.arm64_linux26.h back in, and the module build now 
errors with:

CC [M] 
/home/mwaltz/git/openafs/src/libafs/MODLOAD-3.13.0-34-generic-MP/rand-fortuna-kernel.o
/home/mwaltz/git/openafs/src/libafs/MODLOAD-3.13.0-34-generic-MP/rand-fortuna-kernel.c: 
In function 'fortuna_add':
/home/mwaltz/git/openafs/src/libafs/MODLOAD-3.13.0-34-generic-MP/rand-fortuna-kernel.c:619:1: 
sorry, unimplemented: '-mgeneral-regs-only' and floating point code
  fortuna_add(const void *indata, int size, double entropi)
  ^

Doing some search for the -mgeneral-regs-only flag, this option is "only 
valid with the aarch64-arm-none-eabi target." [1] and "you can prevent 
the use of floating-point instructions or floating-point registers for 
the aarch64-arm-none-eabi target with the -mgeneral-regs-only option." [2].

Reading the ARM docs it appears we should use the aarch64-arm-none-eabi 
target, as using the armv8a-arm-none-eabi target is the 32-bit state of 
armv8 [3]. I also am assuming we would want to not disable fpu registers 
in order to avoid performance hits.

Unfortuantely I'm not sure where I can disable the use of the 
-mgeneral-regs-only flag, as I don't see it in the Makefile or configure 
as an option.

[1] - 
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0774a/chr1392305446662.html
[2] - 
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0774a/chr1392305424052.html
[3] - 
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0774a/chr1383664654486.html

-- 
Micheal Waltz
Unix Configuration Management (go/ucm)
Qualcomm Inc.
Phone: 858-845-6083
Cell: 858-882-7079