[aarch64-port-dev ] VAR_CPU_ARCH for ARM platforms

Andrew Haley aph at redhat.com
Wed Dec 23 16:55:56 UTC 2015


On 23/12/15 14:55, Bob Vandette wrote:

> In my push to the mobile/dev forest, I changed VAR_CPU_ARCH on arm
> platforms to always use arm for both 32 and 64 bit arm builds to be
> consistent with the setting for x86/x86_64.

This isn't a similar situation, IMO.

> http://cr.openjdk.java.net/~bobv/8145936/webrev.00/ <http://cr.openjdk.java.net/~bobv/8145936/webrev.00/>
> 
> My assumption which is confirmed by most of the usage in the
> makefiles is that VAR_CPU_ARCH should be set to the generic ARCH
> family (x86, arm) for both 32 and 64 bit builds.
> 
> My motivation for doing this was initially for the selection of the
> Socket and UnixConstant template files used in cross compilation
> since these files contain the same content for arm and aarch64.

I'm not convinced this makes any sense.  The only thing the ARM
architectures have in common is that they come from the same company.
This is not true of x86_64, which is a rather elaborate 64-bit
extension of x86.  For examples of how the ARM/AArch64 split is
handled elsewhere, note that the Linux kernel, GCC, and GNU binutils
arches are all separate.

> There are a lot of hacks in both open and closed makefiles to set
> various variable based on ARCH in order to end up with the correct
> variables.
> 
> In hotspot/make/defs.make, we undo the VAR_CPU_ARCH setting of x86
> for x86_64 builds by checking for LP64!  This is not done for arm.

It really should not need to be.  AArch64 is not ARM.

Andrew.


More information about the aarch64-port-dev mailing list