--- /dev/null
+# DP: Fix build failures with -Wl,--as-needed, don't explicitly link with -lc
+
+--- a/jdk/make/CompileLaunchers.gmk
++++ b/jdk/make/CompileLaunchers.gmk
+@@ -464,7 +464,7 @@ endif
+ # binary (at least on linux) which causes the size to differ between old and new build.
+ ifeq ($(USE_EXTERNAL_LIBZ), true)
+ UNPACKEXE_CFLAGS := -DSYSTEM_ZLIB
+- UNPACKEXE_ZIPOBJS := -lz
++ UNPACKEXE_LIBS := -lz
+ else
+ UNPACKEXE_CFLAGS := -I$(JDK_TOPDIR)/src/share/native/java/util/zip/zlib
+ UNPACKEXE_ZIPOBJS := $(JDK_OUTPUTDIR)/objs/libzip/zcrc32$(OBJ_SUFFIX) \
+@@ -524,9 +524,9 @@ $(eval $(call SetupNativeCompilation,BUI
+ LDFLAGS_posix := $(LDFLAGS_JDKEXE) $(LDFLAGS_CXX_JDK) \
+ $(call SET_SHARED_LIBRARY_NAME,$(LIBRARY_PREFIX)unpack$(SHARED_LIBRARY_SUFFIX)) \
+ $(call SET_SHARED_LIBRARY_ORIGIN), \
+- LDFLAGS_linux := -lc, \
++ LDFLAGS_linux := , \
+ LDFLAGS_solaris := $(UNPACKEXE_LDFLAGS_solaris) -lc, \
+- LDFLAGS_SUFFIX := $(LIBCXX), \
++ LDFLAGS_SUFFIX := $(UNPACKEXE_LIBS) $(LIBCXX), \
+ OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/unpackexe$(OUTPUT_SUBDIR), \
+ OUTPUT_DIR := $(JDK_OUTPUTDIR)/objs/unpackexe$(OUTPUT_SUBDIR), \
+ PROGRAM := unpack200, \
+--- a/jdk/make/lib/Awt2dLibraries.gmk
++++ b/jdk/make/lib/Awt2dLibraries.gmk
+@@ -759,10 +759,10 @@ $(eval $(call SetupNativeCompilation,BUI
+ $(BUILD_LIBJAVAJPEG_CLOSED_INCLUDES) \
+ $(BUILD_LIBJAVAJPEG_HEADERS), \
+ MAPFILE := $(BUILD_LIBJAVAJPEG_MAPFILE), \
+- LDFLAGS := $(LDFLAGS_JDKLIB) $(LIBJPEG_LIBS) \
++ LDFLAGS := $(LDFLAGS_JDKLIB) \
+ $(call SET_SHARED_LIBRARY_ORIGIN), \
+ LDFLAGS_windows := $(WIN_JAVA_LIB) jvm.lib, \
+- LDFLAGS_SUFFIX := $(LDFLAGS_JDKLIB_SUFFIX), \
++ LDFLAGS_SUFFIX := $(LIBJPEG_LIBS) $(LDFLAGS_JDKLIB_SUFFIX), \
+ VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
+ RC_FLAGS := $(RC_FLAGS) \
+ -D "JDK_FNAME=javajpeg.dll" \