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

Volker Simonis volker.simonis at gmail.com
Wed Jan 13 13:58:00 UTC 2016


Thanks David and Erik!


On Wed, Jan 13, 2016 at 1:09 PM, Erik Joelsson <erik.joelsson at oracle.com> wrote:
> 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 build-dev mailing list