8202322: AIX: symbol visibility flags not support on xlc 12.1
authormbaesken
Thu, 26 Apr 2018 13:55:16 +0200
changeset 50126 98f57dff16f3
parent 50125 2d9dd2b876a0
child 50127 4bf83d5c3a63
8202322: AIX: symbol visibility flags not support on xlc 12.1 Reviewed-by: erikj, clanger
make/launcher/Launcher-jdk.pack.gmk
make/launcher/LauncherCommon.gmk
make/lib/LibCommon.gmk
--- a/make/launcher/Launcher-jdk.pack.gmk	Tue May 15 15:36:46 2018 +0200
+++ b/make/launcher/Launcher-jdk.pack.gmk	Thu Apr 26 13:55:16 2018 +0200
@@ -39,6 +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
 # Also provide an override for non-conformant libraries.
 ifeq ($(TOOLCHAIN_TYPE), gcc)
   CXXFLAGS_JDKEXE += -fvisibility=hidden
@@ -50,7 +51,9 @@
 else ifeq ($(TOOLCHAIN_TYPE), solstudio)
   CXXFLAGS_JDKEXE += -xldscope=hidden
 else ifeq ($(TOOLCHAIN_TYPE), xlc)
-  CXXFLAGS_JDKEXE += -qvisibility=hidden
+  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	Tue May 15 15:36:46 2018 +0200
+++ b/make/launcher/LauncherCommon.gmk	Thu Apr 26 13:55:16 2018 +0200
@@ -45,6 +45,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
 # Also provide an override for non-conformant libraries.
 ifeq ($(TOOLCHAIN_TYPE), gcc)
   LAUNCHER_CFLAGS += -fvisibility=hidden
@@ -56,7 +57,9 @@
 else ifeq ($(TOOLCHAIN_TYPE), solstudio)
   LAUNCHER_CFLAGS += -xldscope=hidden
 else ifeq ($(TOOLCHAIN_TYPE), xlc)
-  LAUNCHER_CFLAGS += -qvisibility=hidden
+  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	Tue May 15 15:36:46 2018 +0200
+++ b/make/lib/LibCommon.gmk	Thu Apr 26 13:55:16 2018 +0200
@@ -41,6 +41,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
 # Also provide an override for non-conformant libraries.
 ifeq ($(TOOLCHAIN_TYPE), gcc)
   CFLAGS_JDKLIB += -fvisibility=hidden
@@ -58,9 +59,11 @@
   CXXFLAGS_JDKLIB += -xldscope=hidden
   EXPORT_ALL_SYMBOLS := -xldscope=global
 else ifeq ($(TOOLCHAIN_TYPE), xlc)
-  CFLAGS_JDKLIB += -qvisibility=hidden
-  CXXFLAGS_JDKLIB += -qvisibility=hidden
-  EXPORT_ALL_SYMBOLS := -qvisibility=default
+  ifneq ($(CC_VERSION_NUMBER), 12.1)
+    CFLAGS_JDKLIB += -qvisibility=hidden
+    CXXFLAGS_JDKLIB += -qvisibility=hidden
+    EXPORT_ALL_SYMBOLS := -qvisibility=default
+  endif
 endif
 
 ################################################################################