RFR: JDK-8137013 ar (static linker) broken since JDK-8065912
Magnus Ihse Bursie
magnus.ihse.bursie at oracle.com
Wed Sep 23 13:16:34 UTC 2015
(I'm resending this as it does not seem to have reached build-dev; I apologize it this is a dup.)
Unfortunately JDK-8065912 broke ar, at least on solaris. In spec.gmk on posix platforms, we find
AR_OUT_OPTION:=rcs$(SPACE)
However, in JDK-8065912, the definition of SPACE moved from spec.gmk to MakeBase.gmk. But since spec.gmk typically is included ahead of MakeBase.gmk, SPACE will be undefined when AR_OUT_OPTION is evaluated.
The short-term fix is to restore the definition of SPACE to spec.gmk.
Bug: https://bugs.openjdk.java.net/browse/JDK-8137013
Patch inline:
diff --git a/common/autoconf/spec.gmk.in b/common/autoconf/spec.gmk.in
--- a/common/autoconf/spec.gmk.in
+++ b/common/autoconf/spec.gmk.in
@@ -36,6 +36,11 @@
# A self-referential reference to this file.
SPEC:=@SPEC@
+# SPACE is defined in MakeBase.gmk, but it is also used in := rules here for some
+# toolchains, and is needed if MakeBase.gmk is not included before this file.
+X:=
+SPACE:=$(X) $(X)
+
# What make to use for main processing, after bootstrapping top-level Makefile.
MAKE := @MAKE@
/Magnus
More information about the build-dev
mailing list