RFR (M): 8036767 PPC64: Support for little endian execution model

Lindenmaier, Goetz goetz.lindenmaier at sap.com
Mon Mar 17 13:36:07 UTC 2014

Hi Magnus,

The change keeps target cpu and target cpu arch as is.  The C-code uses
-DLITTLE_ENDIAN to distinguish implementation differences.

As I understand, we discuss the setting of BUILDARCH in the makefiles.
Indirectly it is set from uname, which returns ppc64le on these machines.

This affects the following namings:
  1. the build path:    linux_ppc64le-compiler2 
  2. which makefiles used:  platform_ppc64le and ppc64le.make

1.) would allow to build ppc64 and ppc64le from the same repo without setting ALT_OUTPUTDIR
2.) BUILDARCH=ppc64le means two new files, where platform_ppc64 and platform_ppc64le
      are the same.
     BUILDARCH=ppc64  means no new files, but lots of platform checks in ppc64.make, 
     which is uncommon.  So far these files are just settings.

I don't think setting 
  LIBARCH=ppc64le  ==>  jre/lib/ppc64le/server/libjvm.so
and the settings in os_linux.cpp are questioned.

Best regards,


-----Original Message-----
From: hotspot-dev [mailto:hotspot-dev-bounces at openjdk.java.net] On Behalf Of Magnus Ihse Bursie
Sent: Montag, 17. März 2014 12:36
To: David Holmes
Cc: build-dev; HotSpot Open Source Developers; Alexander Smundak
Subject: Re: RFR (M): 8036767 PPC64: Support for little endian execution model

On 2014-03-17 05:13, David Holmes wrote:
> On 15/03/2014 7:11 AM, Alexander Smundak wrote:
>> Ping.
> My position hasn't changed. I don't think this needs to be, or should 
> be, a distinct architecture.
> I've added build-dev to cc list to see what our build experts think.

I'm not sure I've completely understood the discussion (it has jumped 
around a bit between mailing lists), but I think I agree with David 
here. Architecture is a term that implies general common features, not 
specific differences.

While hotspot and the rest of the jdk build is not currently in sync 
with this terminology, in the common configure and makefiles we use the 
terminology "target cpu" (which can be for instance "x86_64" or 
"sparcv9" and "target cpu arch" (which can be for instance "x86" or 

Regarding ppc, we currently define the target cpu arch "ppc" and two 
target cpus, "ppc" and "ppc64".

Perhaps it would be more approriate to consider this a separate target 
cpu ("ppc64le"), but not a separate target cpu architecture? But that 
would be on the top-level -- I'm not sure how that would map properly to 
the current hotspot build system.


More information about the hotspot-dev mailing list