RFR (M): 8036767 PPC64: Support for little endian execution model
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
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.)
> 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