8214063: OpenJDK will not build on AIX while using the xlc 13.1 compiler
Reviewed-by: simonis, erikj, ihse, stuefe, mbaesken
--- a/make/launcher/Launcher-jdk.pack.gmk Mon Dec 03 22:27:24 2018 -0800
+++ b/make/launcher/Launcher-jdk.pack.gmk Tue Dec 04 09:08:03 2018 +0100
@@ -39,7 +39,7 @@
# On Mac, we have always exported all symbols, probably due to oversight
# and/or misunderstanding. To emulate this, don't hide any symbols
# by default.
-# On AIX/xlc we need at least xlc 13.1 for the symbol hiding
+# On AIX/xlc we need at least xlc 13.1 for the symbol hiding (see JDK-8214063)
# Also provide an override for non-conformant libraries.
ifeq ($(TOOLCHAIN_TYPE), gcc)
CXXFLAGS_JDKEXE += -fvisibility=hidden
@@ -50,10 +50,6 @@
endif
else ifeq ($(TOOLCHAIN_TYPE), solstudio)
CXXFLAGS_JDKEXE += -xldscope=hidden
-else ifeq ($(TOOLCHAIN_TYPE), xlc)
- ifneq ($(CC_VERSION_NUMBER), 12.1)
- CXXFLAGS_JDKEXE += -qvisibility=hidden
- endif
endif
UNPACKEXE_SRC := $(TOPDIR)/src/jdk.pack/share/native/common-unpack \
--- a/make/launcher/LauncherCommon.gmk Mon Dec 03 22:27:24 2018 -0800
+++ b/make/launcher/LauncherCommon.gmk Tue Dec 04 09:08:03 2018 +0100
@@ -33,7 +33,7 @@
# On Mac, we have always exported all symbols, probably due to oversight
# and/or misunderstanding. To emulate this, don't hide any symbols
# by default.
-# On AIX/xlc we need at least xlc 13.1 for the symbol hiding
+# On AIX/xlc we need at least xlc 13.1 for the symbol hiding (see JDK-8214063)
# Also provide an override for non-conformant libraries.
ifeq ($(TOOLCHAIN_TYPE), gcc)
LAUNCHER_CFLAGS += -fvisibility=hidden
@@ -42,10 +42,6 @@
LAUNCHER_CFLAGS += -fvisibility=hidden
else ifeq ($(TOOLCHAIN_TYPE), solstudio)
LAUNCHER_CFLAGS += -xldscope=hidden
-else ifeq ($(TOOLCHAIN_TYPE), xlc)
- ifneq ($(CC_VERSION_NUMBER), 12.1)
- CXXFLAGS_JDKEXE += -qvisibility=hidden
- endif
endif
LAUNCHER_SRC := $(TOPDIR)/src/java.base/share/native/launcher
--- a/make/lib/LibCommon.gmk Mon Dec 03 22:27:24 2018 -0800
+++ b/make/lib/LibCommon.gmk Tue Dec 04 09:08:03 2018 +0100
@@ -38,7 +38,7 @@
# On Mac, we have always exported all symbols, probably due to oversight
# and/or misunderstanding. To emulate this, don't hide any symbols
# by default.
-# On AIX/xlc we need at least xlc 13.1 for the symbol hiding
+# On AIX/xlc we need at least xlc 13.1 for the symbol hiding (see JDK-8214063)
# Also provide an override for non-conformant libraries.
ifeq ($(TOOLCHAIN_TYPE), gcc)
CFLAGS_JDKLIB += -fvisibility=hidden
@@ -53,12 +53,6 @@
CFLAGS_JDKLIB += -xldscope=hidden
CXXFLAGS_JDKLIB += -xldscope=hidden
EXPORT_ALL_SYMBOLS := -xldscope=global
-else ifeq ($(TOOLCHAIN_TYPE), xlc)
- ifneq ($(CC_VERSION_NUMBER), 12.1)
- CFLAGS_JDKLIB += -qvisibility=hidden
- CXXFLAGS_JDKLIB += -qvisibility=hidden
- EXPORT_ALL_SYMBOLS := -qvisibility=default
- endif
endif
# Put the libraries here.