8202322: AIX: symbol visibility flags not support on xlc 12.1

Reviewed-by: erikj, clanger
This commit is contained in:
Matthias Baesken 2018-04-26 13:55:16 +02:00
parent 2bd15814dc
commit e757890eec
3 changed files with 14 additions and 5 deletions

View File

@ -39,6 +39,7 @@ $(eval $(call SetupBuildLauncher, pack200, \
# 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), clang)
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 \

View File

@ -45,6 +45,7 @@ endif
# 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), clang)
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

View File

@ -41,6 +41,7 @@ WIN_JAVA_LIB := $(SUPPORT_OUTPUTDIR)/native/java.base/libjava/java.lib
# 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 @@ else ifeq ($(TOOLCHAIN_TYPE), solstudio)
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
################################################################################