8196516: libfontmanager must be built with LDFLAGS allowing unresolved symbols
authorsgehwolf
Mon, 09 Apr 2018 13:28:47 +0200
changeset 49693 fa23ea24dade
parent 49692 55ec43275ff2
child 49694 69f7e3ed043c
8196516: libfontmanager must be built with LDFLAGS allowing unresolved symbols Summary: Fixes build failures on some sustems with custom LDFLAGS settings. Reviewed-by: erikj, ihse, serb
make/lib/Awt2dLibraries.gmk
--- a/make/lib/Awt2dLibraries.gmk	Tue Apr 10 13:58:47 2018 -0700
+++ b/make/lib/Awt2dLibraries.gmk	Mon Apr 09 13:28:47 2018 +0200
@@ -623,6 +623,10 @@
   BUILD_LIBFONTMANAGER_ExtensionSubtables.cpp_CXXFLAGS := -fno-strict-aliasing
 endif
 
+# LDFLAGS clarification:
+#   Filter relevant linker flags disallowing unresolved symbols as we cannot
+#   build-time decide to which library to link against (libawt_headless or
+#   libawt_xawt). See JDK-8196516 for details.
 $(eval $(call SetupJdkLibrary, BUILD_LIBFONTMANAGER, \
     NAME := fontmanager, \
     SRC := $(LIBFONTMANAGER_SRC), \
@@ -648,7 +652,8 @@
         truncwarn wvarhidenmem wvarhidemem wbadlkginit identexpected \
         hidevf w_novirtualdescr arrowrtn2, \
     DISABLED_WARNINGS_microsoft := 4267 4244 4018 4090 4996 4146 4334 4819 4101, \
-    LDFLAGS := $(subst -Wl$(COMMA)-z$(COMMA)defs,,$(LDFLAGS_JDKLIB)) $(LDFLAGS_CXX_JDK) \
+    LDFLAGS := $(subst -Xlinker -z -Xlinker defs,, \
+        $(subst -Wl$(COMMA)-z$(COMMA)defs,,$(LDFLAGS_JDKLIB))) $(LDFLAGS_CXX_JDK) \
         $(call SET_SHARED_LIBRARY_ORIGIN), \
     LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \
     LIBS := $(BUILD_LIBFONTMANAGER_FONTLIB), \