openjdk-11/fix-memcpy-compile-warning-when-building-on-linux-x86.patch

551 lines
22 KiB
Diff
Raw Normal View History

From 7a3481adb5e52f1fadb6c8a1e16093d9c1082868 Mon Sep 17 00:00:00 2001
From: s00478819 <sunjianye@huawei.com>
Date: Thu, 28 Oct 2021 11:54:21 +0800
Subject: [PATCH 2/3] fix memcpy compile warning when building on linux x86
---
make/hotspot/lib/CompileJvm.gmk | 7 +++++++
make/launcher/Launcher-java.base.gmk | 9 ++-------
make/launcher/Launcher-jdk.pack.gmk | 7 +------
make/lib/Awt2dLibraries.gmk | 17 ++++++++---------
make/lib/CoreLibraries.gmk | 17 ++++++-----------
make/lib/Lib-java.base.gmk | 7 +------
make/lib/Lib-java.desktop.gmk | 7 +------
make/lib/Lib-java.instrument.gmk | 7 +------
make/lib/Lib-jdk.crypto.cryptoki.gmk | 7 +------
make/lib/Lib-jdk.crypto.ec.gmk | 7 +------
make/lib/Lib-jdk.crypto.kaeprovider.gmk | 7 +------
make/lib/Lib-jdk.hotspot.agent.gmk | 7 +------
make/lib/Lib-jdk.jdwp.agent.gmk | 7 +------
make/lib/Lib-jdk.pack.gmk | 7 +------
make/lib/Lib-jdk.sctp.gmk | 7 +------
src/hotspot/share/runtime/memcpy.cpp | 2 +-
16 files changed, 35 insertions(+), 94 deletions(-)
diff --git a/make/hotspot/lib/CompileJvm.gmk b/make/hotspot/lib/CompileJvm.gmk
index 594254014..fdb228c3f 100644
--- a/make/hotspot/lib/CompileJvm.gmk
+++ b/make/hotspot/lib/CompileJvm.gmk
@@ -179,6 +179,13 @@ $(eval $(call SetupNativeCompilation, BUILD_LIBJVM, \
PRECOMPILED_HEADER_EXCLUDE := $(JVM_PRECOMPILED_HEADER_EXCLUDE), \
))
+MEMCPY_OBJECT_FILE := $(JVM_OUTPUTDIR)/objs/memcpy$(OBJ_SUFFIX)
+$(eval $(call SetupCopyFiles, COPY_MEMCPY_OBJECT_FILE, \
+ DEST := $(SUPPORT_OUTPUTDIR), \
+ FILES :=$(MEMCPY_OBJECT_FILE), \
+))
+TARGETS += $(COPY_MEMCPY_OBJECT_FILE)
+
# Always recompile abstract_vm_version.cpp if libjvm needs to be relinked. This ensures
# that the internal vm version is updated as it relies on __DATE__ and __TIME__
# macros.
diff --git a/make/launcher/Launcher-java.base.gmk b/make/launcher/Launcher-java.base.gmk
index d511c0be5..e7f6b04d8 100644
--- a/make/launcher/Launcher-java.base.gmk
+++ b/make/launcher/Launcher-java.base.gmk
@@ -30,11 +30,6 @@ $(eval $(call IncludeCustomExtension, launcher/Launcher-java.base.gmk))
JAVA_RC_FLAGS += -I$(TOPDIR)/src/java.base/windows/native/common
JAVA_RC_FLAGS += -I$(TOPDIR)/src/java.base/windows/native/launcher/icons
-LIBMEMCPY_FILES += \
- $(addprefix $(TOPDIR)/src/hotspot/share/runtime/, \
- memcpy.cpp \
- )
-
################################################################################
$(eval $(call SetupBuildLauncher, java, \
@@ -84,10 +79,10 @@ ifneq ($(findstring $(OPENJDK_TARGET_OS), macosx solaris aix linux), )
$(eval $(call SetupJdkExecutable, BUILD_JSPAWNHELPER, \
NAME := jspawnhelper, \
SRC := $(TOPDIR)/src/$(MODULE)/unix/native/jspawnhelper, \
- EXTRA_FILES := $(LIBMEMCPY_FILES), \
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKEXE) -I$(TOPDIR)/src/$(MODULE)/unix/native/libjava, \
- EXTRA_OBJECT_FILES := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libjava/childproc.o, \
+ EXTRA_OBJECT_FILES := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libjava/childproc.o \
+ $(SUPPORT_OUTPUTDIR)/memcpy$(OBJ_SUFFIX), \
LDFLAGS := $(LDFLAGS_JDKEXE), \
OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/modules_libs/$(MODULE), \
))
diff --git a/make/launcher/Launcher-jdk.pack.gmk b/make/launcher/Launcher-jdk.pack.gmk
index 2e0bc7a5b..0f4b47174 100644
--- a/make/launcher/Launcher-jdk.pack.gmk
+++ b/make/launcher/Launcher-jdk.pack.gmk
@@ -30,11 +30,6 @@ $(eval $(call SetupBuildLauncher, pack200, \
MAIN_CLASS := com.sun.java.util.jar.pack.Driver, \
))
-LIBMEMCPY_FILES += \
- $(addprefix $(TOPDIR)/src/hotspot/share/runtime/, \
- memcpy.cpp \
- )
-
################################################################################
# The order of the object files on the link command line affects the size of the resulting
# binary (at least on linux) which causes the size to differ between old and new build.
@@ -86,7 +81,6 @@ $(eval $(call SetupJdkExecutable, BUILD_UNPACKEXE, \
SRC := $(UNPACKEXE_SRC), \
TOOLCHAIN := TOOLCHAIN_LINK_CXX, \
OPTIMIZATION := LOW, \
- EXTRA_FILES := $(LIBMEMCPY_FILES), \
CFLAGS := $(UNPACKEXE_CFLAGS) $(CXXFLAGS_JDKEXE) -DFULL, \
CFLAGS_release := -DPRODUCT, \
CFLAGS_linux := -fPIC, \
@@ -99,6 +93,7 @@ $(eval $(call SetupJdkExecutable, BUILD_UNPACKEXE, \
MANIFEST := $(TOPDIR)/src/jdk.pack/windows/native/unpack200/unpack200_proto.exe.manifest, \
MANIFEST_VERSION := $(VERSION_NUMBER_FOUR_POSITIONS), \
EXTRA_OBJECT_FILES := $(UNPACKEXE_ZIPOBJS) \
+ $(SUPPORT_OUTPUTDIR)/memcpy$(OBJ_SUFFIX) \
))
TARGETS += $(BUILD_UNPACKEXE)
diff --git a/make/lib/Awt2dLibraries.gmk b/make/lib/Awt2dLibraries.gmk
index ff4dead2a..f66cd6617 100644
--- a/make/lib/Awt2dLibraries.gmk
+++ b/make/lib/Awt2dLibraries.gmk
@@ -35,11 +35,6 @@ LIBAWT_DEFAULT_HEADER_DIRS := \
libawt/java2d/pipe \
#
-LIBMEMCPY_FILES += \
- $(addprefix $(TOPDIR)/src/hotspot/share/runtime/, \
- memcpy.cpp \
- )
-
################################################################################
# We must not include java.desktop/unix/native/libmlib_image, which is only
@@ -55,8 +50,8 @@ endif
$(eval $(call SetupJdkLibrary, BUILD_LIBMLIB_IMAGE, \
NAME := mlib_image, \
EXTRA_SRC := common/awt/medialib, \
- EXTRA_FILES := $(LIBMEMCPY_FILES), \
EXCLUDE_FILES := mlib_c_ImageBlendTable.c, \
+ EXTRA_OBJECT_FILES := $(SUPPORT_OUTPUTDIR)/memcpy$(OBJ_SUFFIX), \
EXCLUDE_SRC_PATTERNS := $(BUILD_LIBMLIB_EXCLUDE_SRC_PATTERNS), \
OPTIMIZATION := HIGHEST, \
CFLAGS := $(CFLAGS_JDKLIB) \
@@ -225,12 +220,12 @@ endif
$(eval $(call SetupJdkLibrary, BUILD_LIBAWT, \
NAME := awt, \
EXTRA_SRC := $(LIBAWT_EXTRA_SRC), \
- EXTRA_FILES := $(LIBMEMCPY_FILES), \
EXCLUDES := $(LIBAWT_EXCLUDES), \
EXCLUDE_FILES := $(LIBAWT_EXFILES), \
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_CFLAGS), \
EXTRA_HEADER_DIRS := $(LIBAWT_EXTRA_HEADER_DIRS), \
+ EXTRA_OBJECT_FILES := $(SUPPORT_OUTPUTDIR)/memcpy$(OBJ_SUFFIX), \
DISABLED_WARNINGS_gcc := sign-compare unused-result maybe-uninitialized \
format-nonliteral parentheses, \
DISABLED_WARNINGS_clang := logical-op-parentheses extern-initializer, \
@@ -334,6 +329,7 @@ ifeq ($(findstring $(OPENJDK_TARGET_OS), windows macosx), )
EXTRA_SRC := $(LIBAWT_XAWT_EXTRA_SRC), \
EXTRA_HEADER_DIRS := $(LIBAWT_XAWT_EXTRA_HEADER_DIRS), \
EXCLUDES := $(LIBAWT_XAWT_EXCLUDES), \
+ EXTRA_OBJECT_FILES := $(SUPPORT_OUTPUTDIR)/memcpy$(OBJ_SUFFIX), \
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_XAWT_CFLAGS) \
$(X_CFLAGS), \
@@ -396,6 +392,7 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBLCMS, \
common/awt/debug \
libawt/java2d, \
HEADERS_FROM_SRC := $(LIBLCMS_HEADERS_FROM_SRC), \
+ EXTRA_OBJECT_FILES := $(SUPPORT_OUTPUTDIR)/memcpy$(OBJ_SUFFIX), \
DISABLED_WARNINGS_gcc := format-nonliteral type-limits misleading-indentation stringop-truncation, \
DISABLED_WARNINGS_clang := tautological-compare, \
DISABLED_WARNINGS_solstudio := E_STATEMENT_NOT_REACHED, \
@@ -437,7 +434,7 @@ endif
$(eval $(call SetupJdkLibrary, BUILD_LIBJAVAJPEG, \
NAME := javajpeg, \
INCLUDE_FILES := $(BUILD_LIBJAVAJPEG_INCLUDE_FILES), \
- EXTRA_FILES := $(LIBMEMCPY_FILES), \
+ EXTRA_OBJECT_FILES := $(SUPPORT_OUTPUTDIR)/memcpy$(OBJ_SUFFIX), \
OPTIMIZATION := HIGHEST, \
CFLAGS := $(CFLAGS_JDKLIB), \
HEADERS_FROM_SRC := $(LIBJPEG_HEADERS_FROM_SRC), \
@@ -528,6 +525,7 @@ else
OPTIMIZATION := HIGHEST, \
CFLAGS := $(CFLAGS_JDKLIB) \
$(BUILD_LIBFREETYPE_CFLAGS), \
+ EXTRA_OBJECT_FILES := $(SUPPORT_OUTPUTDIR)/memcpy$(OBJ_SUFFIX), \
EXTRA_HEADER_DIRS := $(BUILD_LIBFREETYPE_HEADER_DIRS), \
DISABLED_WARNINGS_solstudio := \
E_STATEMENT_NOT_REACHED \
@@ -642,6 +640,7 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBFONTMANAGER, \
OPTIMIZATION := $(LIBFONTMANAGER_OPTIMIZATION), \
CFLAGS_windows = -DCC_NOEX, \
EXTRA_HEADER_DIRS := $(LIBFONTMANAGER_EXTRA_HEADER_DIRS), \
+ EXTRA_OBJECT_FILES := $(SUPPORT_OUTPUTDIR)/memcpy$(OBJ_SUFFIX), \
EXTRA_SRC := $(LIBFONTMANAGER_EXTRA_SRC), \
WARNINGS_AS_ERRORS_xlc := false, \
DISABLED_WARNINGS_gcc := sign-compare unused-function int-to-pointer-cast $(HARFBUZZ_DISABLED_WARNINGS_gcc), \
@@ -867,10 +866,10 @@ ifeq ($(ENABLE_HEADLESS_ONLY), false)
NAME := splashscreen, \
EXTRA_SRC := $(LIBSPLASHSCREEN_EXTRA_SRC), \
EXCLUDE_SRC_PATTERNS := $(LIBSPLASHSCREEN_EXCLUDE_SRC_PATTERNS), \
- EXTRA_FILES := $(LIBMEMCPY_FILES), \
EXCLUDE_FILES := imageioJPEG.c jpegdecoder.c pngtest.c, \
EXCLUDES := $(LIBSPLASHSCREEN_EXCLUDES), \
OPTIMIZATION := LOW, \
+ EXTRA_OBJECT_FILES := $(SUPPORT_OUTPUTDIR)/memcpy$(OBJ_SUFFIX), \
CFLAGS := $(CFLAGS_JDKLIB) $(LIBSPLASHSCREEN_CFLAGS) \
$(GIFLIB_CFLAGS) $(LIBJPEG_CFLAGS) $(PNG_CFLAGS) $(LIBZ_CFLAGS), \
EXTRA_HEADER_DIRS := $(LIBSPLASHSCREEN_HEADER_DIRS), \
diff --git a/make/lib/CoreLibraries.gmk b/make/lib/CoreLibraries.gmk
index f180a28c3..2f2f46240 100644
--- a/make/lib/CoreLibraries.gmk
+++ b/make/lib/CoreLibraries.gmk
@@ -28,11 +28,6 @@ WIN_VERIFY_LIB := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libverify/verify.lib
# Hook to include the corresponding custom file, if present.
$(eval $(call IncludeCustomExtension, lib/CoreLibraries.gmk))
-LIBMEMCPY_FILES += \
- $(addprefix $(TOPDIR)/src/hotspot/share/runtime/, \
- memcpy.cpp \
- )
-
##########################################################################################
# libfdlibm is statically linked with libjava below and not delivered into the
@@ -80,8 +75,8 @@ endif
$(eval $(call SetupJdkLibrary, BUILD_LIBVERIFY, \
NAME := verify, \
+ EXTRA_OBJECT_FILES := $(SUPPORT_OUTPUTDIR)/memcpy$(OBJ_SUFFIX), \
OPTIMIZATION := $(LIBVERIFY_OPTIMIZATION), \
- EXTRA_FILES := $(LIBMEMCPY_FILES), \
CFLAGS := $(CFLAGS_JDKLIB), \
DISABLED_WARNINGS_gcc := implicit-fallthrough, \
DISABLED_WARNINGS_microsoft := 4244 4267, \
@@ -102,16 +97,15 @@ ifeq ($(OPENJDK_TARGET_OS), macosx)
BUILD_LIBJAVA_java_props_macosx.c_CFLAGS := -x objective-c
endif
-
$(eval $(call SetupJdkLibrary, BUILD_LIBJAVA, \
NAME := java, \
OPTIMIZATION := HIGH, \
- EXTRA_FILES := $(LIBMEMCPY_FILES), \
CFLAGS := $(CFLAGS_JDKLIB) \
$(LIBJAVA_CFLAGS), \
System.c_CFLAGS := $(VERSION_CFLAGS), \
jdk_util.c_CFLAGS := $(VERSION_CFLAGS), \
EXTRA_HEADER_DIRS := libfdlibm, \
+ EXTRA_OBJECT_FILES := $(SUPPORT_OUTPUTDIR)/memcpy$(OBJ_SUFFIX), \
WARNINGS_AS_ERRORS_xlc := false, \
DISABLED_WARNINGS_gcc := unused-result, \
DISABLED_WARNINGS_solstudio := E_STATEMENT_NOT_REACHED, \
@@ -152,8 +146,8 @@ endif
$(eval $(call SetupJdkLibrary, BUILD_LIBZIP, \
NAME := zip, \
OPTIMIZATION := LOW, \
- EXTRA_FILES := $(LIBMEMCPY_FILES), \
EXCLUDES := $(LIBZIP_EXCLUDES), \
+ EXTRA_OBJECT_FILES := $(SUPPORT_OUTPUTDIR)/memcpy$(OBJ_SUFFIX), \
CFLAGS := $(CFLAGS_JDKLIB) \
$(LIBZ_CFLAGS), \
CFLAGS_unix := $(BUILD_LIBZIP_MMAP) -UDEBUG, \
@@ -173,8 +167,8 @@ TARGETS += $(BUILD_LIBZIP)
$(eval $(call SetupJdkLibrary, BUILD_LIBJIMAGE, \
NAME := jimage, \
TOOLCHAIN := TOOLCHAIN_LINK_CXX, \
+ EXTRA_OBJECT_FILES := $(SUPPORT_OUTPUTDIR)/memcpy$(OBJ_SUFFIX), \
OPTIMIZATION := LOW, \
- EXTRA_FILES := $(LIBMEMCPY_FILES), \
CFLAGS := $(CFLAGS_JDKLIB), \
CXXFLAGS := $(CXXFLAGS_JDKLIB), \
CFLAGS_unix := -UDEBUG, \
@@ -246,7 +240,8 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBJLI, \
NAME := jli, \
OUTPUT_DIR := $(LIBJLI_OUTPUT_DIR), \
EXCLUDE_FILES := $(LIBJLI_EXCLUDE_FILES), \
- EXTRA_FILES := $(LIBJLI_EXTRA_FILES) $(LIBMEMCPY_FILES), \
+ EXTRA_FILES := $(LIBJLI_EXTRA_FILES), \
+ EXTRA_OBJECT_FILES := $(SUPPORT_OUTPUTDIR)/memcpy$(OBJ_SUFFIX), \
OPTIMIZATION := HIGH, \
CFLAGS := $(CFLAGS_JDKLIB) $(LIBJLI_CFLAGS), \
DISABLED_WARNINGS_gcc := unused-function implicit-fallthrough, \
diff --git a/make/lib/Lib-java.base.gmk b/make/lib/Lib-java.base.gmk
index 0c888b65c..6f21969d0 100644
--- a/make/lib/Lib-java.base.gmk
+++ b/make/lib/Lib-java.base.gmk
@@ -36,18 +36,13 @@ $(call FillFindCache, $(wildcard $(TOPDIR)/src/java.base/*/native))
include CoreLibraries.gmk
-LIBMEMCPY_FILES += \
- $(addprefix $(TOPDIR)/src/hotspot/share/runtime/, \
- memcpy.cpp \
- )
-
################################################################################
# Create the network library
$(eval $(call SetupJdkLibrary, BUILD_LIBNET, \
NAME := net, \
OPTIMIZATION := LOW, \
- EXTRA_FILES := $(LIBMEMCPY_FILES), \
+ EXTRA_OBJECT_FILES := $(SUPPORT_OUTPUTDIR)/memcpy$(OBJ_SUFFIX), \
CFLAGS := $(CFLAGS_JDKLIB), \
DISABLED_WARNINGS_gcc := format-nonliteral, \
DISABLED_WARNINGS_clang := parentheses-equality constant-logical-operand, \
diff --git a/make/lib/Lib-java.desktop.gmk b/make/lib/Lib-java.desktop.gmk
index 932e0b3e8..e7f8d9208 100644
--- a/make/lib/Lib-java.desktop.gmk
+++ b/make/lib/Lib-java.desktop.gmk
@@ -36,11 +36,6 @@ $(call FillFindCache, $(wildcard $(TOPDIR)/src/java.desktop/*/native))
include Awt2dLibraries.gmk
-LIBMEMCPY_FILES += \
- $(addprefix $(TOPDIR)/src/hotspot/share/runtime/, \
- memcpy.cpp \
- )
-
################################################################################
# Create the libjsound library
@@ -68,7 +63,7 @@ ifneq ($(OPENJDK_TARGET_OS), aix)
NAME := jsound, \
TOOLCHAIN := $(LIBJSOUND_TOOLCHAIN), \
OPTIMIZATION := LOW, \
- EXTRA_FILES := $(LIBMEMCPY_FILES), \
+ EXTRA_OBJECT_FILES := $(SUPPORT_OUTPUTDIR)/memcpy$(OBJ_SUFFIX), \
CFLAGS := $(CFLAGS_JDKLIB) \
$(LIBJSOUND_CFLAGS), \
CXXFLAGS := $(CXXFLAGS_JDKLIB) $(LIBJSOUND_CFLAGS), \
diff --git a/make/lib/Lib-java.instrument.gmk b/make/lib/Lib-java.instrument.gmk
index 6e679b500..012893a11 100644
--- a/make/lib/Lib-java.instrument.gmk
+++ b/make/lib/Lib-java.instrument.gmk
@@ -36,19 +36,14 @@ ifeq ($(OPENJDK_TARGET_OS), windows)
WINDOWS_JLI_LIB := $(SUPPORT_OUTPUTDIR)/native/java.base/libjli/jli.lib
endif
-LIBMEMCPY_FILES += \
- $(addprefix $(TOPDIR)/src/hotspot/share/runtime/, \
- memcpy.cpp \
- )
-
$(eval $(call SetupJdkLibrary, BUILD_LIBINSTRUMENT, \
NAME := instrument, \
OPTIMIZATION := LOW, \
- EXTRA_FILES := $(LIBMEMCPY_FILES), \
CFLAGS := $(CFLAGS_JDKLIB) $(LIBINSTRUMENT_CFLAGS), \
CFLAGS_debug := -DJPLIS_LOGGING, \
CFLAGS_release := -DNO_JPLIS_LOGGING, \
EXTRA_HEADER_DIRS := java.base:libjli, \
+ EXTRA_OBJECT_FILES := $(SUPPORT_OUTPUTDIR)/memcpy$(OBJ_SUFFIX), \
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN) \
$(LIBINSTRUMENT_LDFLAGS), \
diff --git a/make/lib/Lib-jdk.crypto.cryptoki.gmk b/make/lib/Lib-jdk.crypto.cryptoki.gmk
index 6c23857e1..e37b2632e 100644
--- a/make/lib/Lib-jdk.crypto.cryptoki.gmk
+++ b/make/lib/Lib-jdk.crypto.cryptoki.gmk
@@ -25,17 +25,12 @@
include LibCommon.gmk
-LIBMEMCPY_FILES += \
- $(addprefix $(TOPDIR)/src/hotspot/share/runtime/, \
- memcpy.cpp \
- )
-
################################################################################
$(eval $(call SetupJdkLibrary, BUILD_LIBJ2PKCS11, \
NAME := j2pkcs11, \
OPTIMIZATION := LOW, \
- EXTRA_FILES := $(LIBMEMCPY_FILES), \
+ EXTRA_OBJECT_FILES := $(SUPPORT_OUTPUTDIR)/memcpy$(OBJ_SUFFIX), \
CFLAGS := $(CFLAGS_JDKLIB), \
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
diff --git a/make/lib/Lib-jdk.crypto.ec.gmk b/make/lib/Lib-jdk.crypto.ec.gmk
index 4137a371d..50eede676 100644
--- a/make/lib/Lib-jdk.crypto.ec.gmk
+++ b/make/lib/Lib-jdk.crypto.ec.gmk
@@ -25,11 +25,6 @@
include LibCommon.gmk
-LIBMEMCPY_FILES += \
- $(addprefix $(TOPDIR)/src/hotspot/share/runtime/, \
- memcpy.cpp \
- )
-
################################################################################
ifeq ($(ENABLE_INTREE_EC), true)
@@ -47,7 +42,7 @@ ifeq ($(ENABLE_INTREE_EC), true)
NAME := sunec, \
TOOLCHAIN := TOOLCHAIN_LINK_CXX, \
OPTIMIZATION := LOW, \
- EXTRA_FILES := $(LIBMEMCPY_FILES), \
+ EXTRA_OBJECT_FILES := $(SUPPORT_OUTPUTDIR)/memcpy$(OBJ_SUFFIX), \
CFLAGS := $(BUILD_LIBSUNEC_CFLAGS_JDKLIB) \
-DMP_API_COMPATIBLE -DNSS_ECC_MORE_THAN_SUITE_B, \
CXXFLAGS := $(BUILD_LIBSUNEC_CXXFLAGS_JDKLIB), \
diff --git a/make/lib/Lib-jdk.crypto.kaeprovider.gmk b/make/lib/Lib-jdk.crypto.kaeprovider.gmk
index 516a957d0..627149944 100644
--- a/make/lib/Lib-jdk.crypto.kaeprovider.gmk
+++ b/make/lib/Lib-jdk.crypto.kaeprovider.gmk
@@ -25,11 +25,6 @@
include LibCommon.gmk
-LIBMEMCPY_FILES += \
- $(addprefix $(TOPDIR)/src/hotspot/share/runtime/, \
- memcpy.cpp \
- )
-
################################################################################
ifeq ($(ENABLE_KAE), true)
@@ -37,7 +32,7 @@ ifeq ($(ENABLE_KAE), true)
$(eval $(call SetupJdkLibrary, BUILD_LIBJ2KAE, \
NAME := j2kae, \
OPTIMIZATION := LOW, \
- EXTRA_FILES := $(LIBMEMCPY_FILES), \
+ EXTRA_OBJECT_FILES := $(SUPPORT_OUTPUTDIR)/memcpy$(OBJ_SUFFIX), \
CFLAGS := $(CFLAGS_JDKLIB), \
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
diff --git a/make/lib/Lib-jdk.hotspot.agent.gmk b/make/lib/Lib-jdk.hotspot.agent.gmk
index 64fb999a9..e0b21ec4f 100644
--- a/make/lib/Lib-jdk.hotspot.agent.gmk
+++ b/make/lib/Lib-jdk.hotspot.agent.gmk
@@ -27,11 +27,6 @@ include LibCommon.gmk
$(eval $(call IncludeCustomExtension, hotspot/lib/Lib-jdk.hotspot.agent.gmk))
-LIBMEMCPY_FILES += \
- $(addprefix $(TOPDIR)/src/hotspot/share/runtime/, \
- memcpy.cpp \
- )
-
################################################################################
ifeq ($(OPENJDK_TARGET_OS), linux)
@@ -63,13 +58,13 @@ endif
$(eval $(call SetupJdkLibrary, BUILD_LIBSA, \
NAME := saproc, \
OPTIMIZATION := HIGH, \
- EXTRA_FILES := $(LIBMEMCPY_FILES), \
DISABLED_WARNINGS_microsoft := 4267, \
DISABLED_WARNINGS_gcc := sign-compare, \
DISABLED_WARNINGS_CXX_solstudio := truncwarn unknownpragma, \
CFLAGS := $(CFLAGS_JDKLIB) $(SA_CFLAGS), \
CXXFLAGS := $(CXXFLAGS_JDKLIB) $(SA_CFLAGS) $(SA_CXXFLAGS), \
EXTRA_SRC := $(LIBSA_EXTRA_SRC), \
+ EXTRA_OBJECT_FILES := $(SUPPORT_OUTPUTDIR)/memcpy$(OBJ_SUFFIX), \
LDFLAGS := $(LDFLAGS_JDKLIB) $(SA_LDFLAGS), \
LIBS_linux := $(LIBDL), \
LIBS_solaris := -ldl -ldemangle -lthread -lproc, \
diff --git a/make/lib/Lib-jdk.jdwp.agent.gmk b/make/lib/Lib-jdk.jdwp.agent.gmk
index 1081b1f30..eb5d22142 100644
--- a/make/lib/Lib-jdk.jdwp.agent.gmk
+++ b/make/lib/Lib-jdk.jdwp.agent.gmk
@@ -25,11 +25,6 @@
include LibCommon.gmk
-LIBMEMCPY_FILES += \
- $(addprefix $(TOPDIR)/src/hotspot/share/runtime/, \
- memcpy.cpp \
- )
-
################################################################################
$(eval $(call SetupJdkLibrary, BUILD_LIBDT_SOCKET, \
@@ -58,11 +53,11 @@ TARGETS += $(BUILD_LIBDT_SOCKET)
$(eval $(call SetupJdkLibrary, BUILD_LIBJDWP, \
NAME := jdwp, \
OPTIMIZATION := LOW, \
- EXTRA_FILES := $(LIBMEMCPY_FILES), \
CFLAGS := $(CFLAGS_JDKLIB) -DJDWP_LOGGING, \
EXTRA_HEADER_DIRS := \
include \
libjdwp/export, \
+ EXTRA_OBJECT_FILES := $(SUPPORT_OUTPUTDIR)/memcpy$(OBJ_SUFFIX), \
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
LIBS := $(JDKLIB_LIBS), \
diff --git a/make/lib/Lib-jdk.pack.gmk b/make/lib/Lib-jdk.pack.gmk
index 23c87a07d..bfe362b4a 100644
--- a/make/lib/Lib-jdk.pack.gmk
+++ b/make/lib/Lib-jdk.pack.gmk
@@ -25,11 +25,6 @@
include LibCommon.gmk
-LIBMEMCPY_FILES += \
- $(addprefix $(TOPDIR)/src/hotspot/share/runtime/, \
- memcpy.cpp \
- )
-
################################################################################
$(eval $(call SetupJdkLibrary, BUILD_LIBUNPACK, \
@@ -37,11 +32,11 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBUNPACK, \
EXTRA_SRC := common-unpack, \
TOOLCHAIN := TOOLCHAIN_LINK_CXX, \
OPTIMIZATION := LOW, \
- EXTRA_FILES := $(LIBMEMCPY_FILES), \
CFLAGS := $(CXXFLAGS_JDKLIB) \
-DNO_ZLIB -DUNPACK_JNI -DFULL, \
CFLAGS_release := -DPRODUCT, \
EXTRA_HEADER_DIRS := $(call GetJavaHeaderDir, java.base), \
+ EXTRA_OBJECT_FILES := $(SUPPORT_OUTPUTDIR)/memcpy$(OBJ_SUFFIX), \
DISABLED_WARNINGS_gcc := implicit-fallthrough, \
LDFLAGS := $(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
diff --git a/make/lib/Lib-jdk.sctp.gmk b/make/lib/Lib-jdk.sctp.gmk
index f2c1dc0b9..28ae5c463 100644
--- a/make/lib/Lib-jdk.sctp.gmk
+++ b/make/lib/Lib-jdk.sctp.gmk
@@ -25,11 +25,6 @@
include LibCommon.gmk
-LIBMEMCPY_FILES += \
- $(addprefix $(TOPDIR)/src/hotspot/share/runtime/, \
- memcpy.cpp \
- )
-
################################################################################
ifeq ($(OPENJDK_TARGET_OS_TYPE), unix)
@@ -38,12 +33,12 @@ ifeq ($(OPENJDK_TARGET_OS_TYPE), unix)
$(eval $(call SetupJdkLibrary, BUILD_LIBSCTP, \
NAME := sctp, \
OPTIMIZATION := LOW, \
- EXTRA_FILES := $(LIBMEMCPY_FILES), \
CFLAGS := $(CFLAGS_JDKLIB), \
EXTRA_HEADER_DIRS := \
$(call GetJavaHeaderDir, java.base) \
java.base:libnet \
java.base:libnio/ch, \
+ EXTRA_OBJECT_FILES := $(SUPPORT_OUTPUTDIR)/memcpy$(OBJ_SUFFIX), \
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
LIBS_unix := -lnio -lnet -ljava -ljvm, \
diff --git a/src/hotspot/share/runtime/memcpy.cpp b/src/hotspot/share/runtime/memcpy.cpp
index ed8330679..0fe4fa3f3 100644
--- a/src/hotspot/share/runtime/memcpy.cpp
+++ b/src/hotspot/share/runtime/memcpy.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) Huawei Technologies Co., Ltd. 2018-2019. All rights reserved.
+ * Copyright (c) Huawei Technologies Co., Ltd. 2018-2021. All rights reserved.
*/
#if defined( __GNUC__ ) && \
--
2.22.0