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 11:40:45 UTC 2016


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