RFR(XS): 8146979: Backport of 8046471 breaks ppc64 build in jdk8u because 8072383 was badly backported before

Erik Joelsson erik.joelsson at oracle.com
Wed Jan 13 12:09:21 UTC 2016


Looks good to me.

/Erik

On 2016-01-13 12:57, david buck wrote:
> Approved with the condition that peer code review is approved before 
> pushing. If the review is done on a different OpenJDK alias, please 
> send a link for that review thread to this thread before pushing.
>
> Cheers,
> -Buck
>
> On 2016/01/13 20:40, Volker Simonis wrote:
>> Hi,
>>
>> I please need an urgent review for this little patch in jdk8u-dev
>> which fixes a build problem on ppc64.
>>
>> Can I push this myself directly to
>> http://hg.openjdk.java.net/jdk8u/jdk8u-dev/hotspot ?
>>
>> http://cr.openjdk.java.net/~simonis/webrevs/2016/8146979/
>> https://bugs.openjdk.java.net/browse/JDK-8146979
>>
>> Recently the change "8046471: Use OPENJDK_TARGET_CPU_ARCH instead of
>> legacy value for hotspot ARCH" was backporeted to jdk8u. It changes
>> the ARCH value which is passed from the top-level configure to the
>> hotspot make via the hotspot-spec.gmk file. For the ppc64 architecture
>> this changes the reported value for ARCH from 'ppc64' to 'ppc'.
>>
>> In jdk9 this is no problem, because the hotspot makefiles correctly
>> handle this value. Unfortunately in jdk8u this is not the case,
>> because the change "8072383: resolve conflicts between open and closed
>> ports" hasn't been correctly downported from jdk9 to jdk8u before.
>>
>> In jdk9 it contains the following lines:
>>
>> - SRCARCH = $(ARCH/$(filter sparc sparc64 ia64 amd64 x86_64 arm ppc
>> ppc64 aarch64 zero,$(ARCH)))
>> + SRCARCH ?= $(ARCH/$(filter sparc sparc64 ia64 amd64 x86_64 ppc ppc64
>> aarch64 zero,$(ARCH)))
>>
>>     ARCH/ppc64 = ppc
>>     ARCH/ppc = ppc
>> - ARCH/arm = arm
>>     ARCH/aarch64= aarch64
>>
>> but in the downport this was for whatever reason changed to:
>>
>> - SRCARCH = $(ARCH/$(filter sparc sparc64 ia64 amd64 x86_64 arm ppc
>> ppc64 zero,$(ARCH)))
>> + SRCARCH ?= $(ARCH/$(filter sparc sparc64 ia64 amd64 x86_64 ppc64
>> zero,$(ARCH)))
>>
>>     ARCH/ppc64 = ppc
>> - ARCH/ppc = ppc
>> - ARCH/arm = arm
>>     ARCH/zero = zero
>>
>> Notice how in jdk8u 'ppc' was removed from SRCARCH and how the line
>> 'ARCH/ppc = ppc' was completely deleted in jdk8u.
>>
>> We need to fix these two line in jdk8u in order to make the build work
>> again on ppc64.
>>
>> Regards,
>> Volker
>>



More information about the jdk8u-dev mailing list