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

David Holmes david.holmes at oracle.com
Fri Mar 21 03:57:23 UTC 2014


On 21/03/2014 1:42 PM, Alexander Smundak wrote:
> On Thu, Mar 20, 2014 at 7:39 PM, David Holmes <david.holmes at oracle.com> wrote:
>> The build changes look much cleaner to me - thanks.
> It's at the expense of platform directory being ppc64/ instead of the
> conventional ppc64le/, and having rather ugly check in the ppc64.make file.
>
>
>> Why are you not using OPENJDK_TARGET_CPU_ENDIAN directly? Ah! Because it
>> doesn't reach down into the <arch>.make files. ZERO_ENDIANNESS does but
>> seems inappropriate if this is not Zero specific. (I'm also not seeing how
>> ZERO_ENDIANNESS reaches down that far either ??).
> configure script writes hotspot-spec.gmk file to the top-level build directory,
> and it contains
> ZERO_ENDIANNESS=$(OPENJDK_TARGET_CPU_ENDIAN)

Yes but my query was how does ZERO_ENDIANNESS become visible in 
ppc64.make? The answer to which is that the generated flags.make file 
has an explicit include of hotspot-spec.gmk. In which case you don't 
need to use ZERO_ENDIANNESS you can just use 
$(OPENJDK_TARGET_CPU_ENDIAN) directly. (Which now begs the question as 
to why ZERO_ENDIANNESS even exists - perhaps it predates the integration 
with the new build.)

David
-----

> The patch contains the fuse in ppc64.make, the build will fail unless
> ZERO_ENDIANNESS is set.
>
>>> jdk: http://cr.openjdk.java.net/~martin/asmundak/8036767/jdk/webrev.01
>>
>>
>> This change:
>>
>> -      LDFLAGS_SUFFIX := $(ALSA_LIBS) -ljava -ljvm, \
>> +      LDFLAGS_SUFFIX := $(ALSA_LIBS) $(LIBDL) $(LIBM) -lpthread -ljava
>> -ljvm, \
>>
>> seems unrelated to endianness. Why is it needed, and why is it being applied
>> to all platforms?
> Sorry, this is not needed, it's the problem with the toolchain I am using.
>
> Please ignore this patch.
>



More information about the build-dev mailing list