diff --git a/Add-KAE-implementation.patch b/Add-KAE-implementation.patch index 77e1ca751623cf89e7098a8818a89ed0f10158da..f364cbe80c79af8d3dfa68fdd1ead2e744e474ae 100755 --- a/Add-KAE-implementation.patch +++ b/Add-KAE-implementation.patch @@ -14,7 +14,7 @@ Bug url: NA make/autoconf/spec.gmk.in | 1 + make/common/Modules.gmk | 13 + make/copy/Copy-jdk.crypto.kaeprovider.gmk | 46 + - make/lib/Lib-jdk.crypto.kaeprovider.gmk | 51 ++ + make/lib/Lib-jdk.crypto.kaeprovider.gmk | 45 ++ make/nb_native/nbproject/configurations.xml | 104 +++ src/java.base/share/classes/module-info.java | 10 +- .../share/lib/security/default.policy | 5 + @@ -82,7 +82,7 @@ Bug url: NA .../openssl/RSASignatureBenchmark.java | 90 ++ .../bench/security/openssl/SM3Benchmark.java | 98 +++ .../bench/security/openssl/SM4Benchmark.java | 157 ++++ - 74 files changed, 10539 insertions(+), 4 deletions(-) + 74 files changed, 10533 insertions(+), 4 deletions(-) create mode 100644 make/copy/Copy-jdk.crypto.kaeprovider.gmk create mode 100644 make/lib/Lib-jdk.crypto.kaeprovider.gmk create mode 100644 src/jdk.crypto.kaeprovider/linux/classes/module-info.java @@ -298,7 +298,7 @@ new file mode 100644 index 000000000..516a957d0 --- /dev/null +++ b/make/lib/Lib-jdk.crypto.kaeprovider.gmk -@@ -0,0 +1,51 @@ +@@ -0,0 +1,45 @@ +# +# Copyright (c) 2021, Huawei Technologies Co., Ltd. All rights reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. @@ -326,11 +326,6 @@ index 000000000..516a957d0 + +include LibCommon.gmk + -+LIBMEMCPY_FILES += \ -+ $(addprefix $(TOPDIR)/src/hotspot/share/runtime/, \ -+ memcpy.cpp \ -+ ) -+ +################################################################################ + +ifeq ($(ENABLE_KAE), true) @@ -338,7 +333,6 @@ index 000000000..516a957d0 + $(eval $(call SetupJdkLibrary, BUILD_LIBJ2KAE, \ + NAME := j2kae, \ + OPTIMIZATION := LOW, \ -+ EXTRA_FILES := $(LIBMEMCPY_FILES), \ + CFLAGS := $(CFLAGS_JDKLIB), \ + LDFLAGS := $(LDFLAGS_JDKLIB) \ + $(call SET_SHARED_LIBRARY_ORIGIN), \ diff --git a/Fix-the-memcpy-symbol-issue-during-JDK11-x64-build.patch b/Fix-the-memcpy-symbol-issue-during-JDK11-x64-build.patch deleted file mode 100755 index b6ac2b6766e52ef1d40a186168cb70e5333f8d22..0000000000000000000000000000000000000000 --- a/Fix-the-memcpy-symbol-issue-during-JDK11-x64-build.patch +++ /dev/null @@ -1,23 +0,0 @@ -From ae703c0e86c278359f1bddcf35ccba87b556d901 Mon Sep 17 00:00:00 2001 -Date: Thu, 18 Mar 2021 12:37:11 +0000 -Subject: [PATCH 4/4] Fix the memcpy symbol issue during JDK11 x64 build - ---- - make/lib/Awt2dLibraries.gmk | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/make/lib/Awt2dLibraries.gmk b/make/lib/Awt2dLibraries.gmk -index 207a459ae..7b0441507 100644 ---- a/make/lib/Awt2dLibraries.gmk -+++ b/make/lib/Awt2dLibraries.gmk -@@ -597,6 +597,7 @@ else - $(eval $(call SetupJdkLibrary, BUILD_LIBHARFBUZZ, \ - NAME := harfbuzz, \ - EXCLUDE_FILES := $(LIBHARFBUZZ_EXCLUDE_FILES), \ -+ EXTRA_FILES := $(LIBMEMCPY_FILES), \ - TOOLCHAIN := TOOLCHAIN_LINK_CXX, \ - CFLAGS := $(CFLAGS_JDKLIB) $(LIBHARFBUZZ_CFLAGS), \ - CXXFLAGS := $(CXXFLAGS_JDKLIB) $(LIBHARFBUZZ_CFLAGS), \ --- -2.19.0 - diff --git a/downgrade-the-symver-of-memcpy-GLIBC_2.14-on-x86.patch b/downgrade-the-symver-of-memcpy-GLIBC_2.14-on-x86.patch new file mode 100644 index 0000000000000000000000000000000000000000..198bac418cd4d70894cc1cc77613b31fcaf66c18 --- /dev/null +++ b/downgrade-the-symver-of-memcpy-GLIBC_2.14-on-x86.patch @@ -0,0 +1,80 @@ +From cb846e5c0f8063054d4188b2aa833e20bce72530 Mon Sep 17 00:00:00 2001 +From: zhangyipeng +Date: Fri, 18 Mar 2022 16:55:46 +0800 +Subject: [PATCH] [Huawei]downgrade the symver of memcpy@GLIBC_2.14 on x64 + +Signed-off-by: Sun Jianye +--- + make/common/NativeCompilation.gmk | 9 +++++++++ + make/hotspot/lib/CompileJvm.gmk | 7 +++++++ + src/hotspot/share/runtime/memcpy.cpp | 20 ++++++++++++++++++++ + 3 files changed, 36 insertions(+) + create mode 100644 src/hotspot/share/runtime/memcpy.cpp + +diff --git a/make/common/NativeCompilation.gmk b/make/common/NativeCompilation.gmk +index 490a7f4..6a9209d 100644 +--- a/make/common/NativeCompilation.gmk ++++ b/make/common/NativeCompilation.gmk +@@ -1132,6 +1132,15 @@ define SetupNativeCompilationBody + endif + endif + ++ # if ldflags contain --wrap=memcpy, add memcpy.o to OBJS ++ ifneq ($$(findstring wrap=memcpy, $$($1_LDFLAGS)$$($1_EXTRA_LDFLAGS)),) ++ ifeq ($$(findstring memcpy$(OBJ_SUFFIX), $$($1_ALL_OBJS)),) ++ $$($1_BUILD_INFO): ++ $(ECHO) 'Adding $(SUPPORT_OUTPUTDIR)/memcpy/memcpy$(OBJ_SUFFIX) to $1_ALL_OBJS' ++ $1_ALL_OBJS += $(SUPPORT_OUTPUTDIR)/memcpy/memcpy$(OBJ_SUFFIX) ++ endif ++ endif ++ + $1_VARDEPS := $$($1_LD) $$($1_SYSROOT_LDFLAGS) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) \ + $$(GLOBAL_LIBS) $$($1_LIBS) $$($1_EXTRA_LIBS) $$($1_MT) \ + $$($1_CREATE_DEBUGINFO_CMDS) $$($1_MANIFEST_VERSION) \ +diff --git a/make/hotspot/lib/CompileJvm.gmk b/make/hotspot/lib/CompileJvm.gmk +index 5942540..0e7f42f 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)/memcpy, \ ++ 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/src/hotspot/share/runtime/memcpy.cpp b/src/hotspot/share/runtime/memcpy.cpp +new file mode 100644 +index 0000000..0fe4fa3 +--- /dev/null ++++ b/src/hotspot/share/runtime/memcpy.cpp +@@ -0,0 +1,20 @@ ++/* ++ * Copyright (c) Huawei Technologies Co., Ltd. 2018-2021. All rights reserved. ++ */ ++ ++#if defined( __GNUC__ ) && \ ++(__GNUC__ >= 5 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)) ++#include ++ ++#if (defined AMD64) || (defined amd64) ++/* some systems do not have newest memcpy@@GLIBC_2.14 - stay with old good one */ ++asm (".symver memcpy, memcpy@GLIBC_2.2.5"); ++ ++extern "C"{ ++ void *__wrap_memcpy(void *dest, const void *src, size_t n) ++ { ++ return memcpy(dest, src, n); ++ } ++} ++#endif ++#endif +-- +1.8.3.1 + diff --git a/fix-memcpy-compile-warning-when-building-on-linux-x86.patch b/fix-memcpy-compile-warning-when-building-on-linux-x86.patch deleted file mode 100755 index f3a962a89fc3bbaf7febaa37b458ccf64eb37af0..0000000000000000000000000000000000000000 --- a/fix-memcpy-compile-warning-when-building-on-linux-x86.patch +++ /dev/null @@ -1,550 +0,0 @@ -From 7a3481adb5e52f1fadb6c8a1e16093d9c1082868 Mon Sep 17 00:00:00 2001 -From: s00478819 -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 - diff --git a/openjdk-11.spec b/openjdk-11.spec index 6766a87d8544285d3b232f447deed9bf65fe3f0e..755c3221432f372321f95c6026cc619b187da31a 100644 --- a/openjdk-11.spec +++ b/openjdk-11.spec @@ -740,7 +740,7 @@ Provides: java-src%{?1} = %{epoch}:%{version}-%{release} Name: java-%{javaver}-%{origin} Version: %{newjavaver}.%{buildver} -Release: 2 +Release: 3 # java-1.5.0-ibm from jpackage.org set Epoch to 1 for unknown reasons # and this change was brought into RHEL-4. java-1.5.0-ibm packages # also included the epoch in their virtual provides. This created a @@ -866,12 +866,12 @@ Patch82: PS-introduce-UsePSRelaxedForwardee-to-enable-using-r.patch # 11.0.13 Patch83: 8273111-Default-timezone-should-return-zone-ID-if-locatiome-is-valid-but-not-canonicalization-on-linux.patch -Patch84: fix-memcpy-compile-warning-when-building-on-linux-x86.patch Patch85: 8239017-cmp-baseline-fails-because-of-differences-in-TimeZoneNames_kea.patch # 11.0.14 Patch86: 8252103-support-Jmap-parallel-heap-inspection.patch Patch87: fix_macroAssembler_missing_matcher_header_file_causing_build_failure.patch Patch88: fix-error-in-build-core-variants.patch +Patch89: downgrade-the-symver-of-memcpy-GLIBC_2.14-on-x86.patch BuildRequires: autoconf BuildRequires: alsa-lib-devel @@ -1155,11 +1155,11 @@ pushd %{top_level_dir_name} %patch80 -p1 %patch82 -p1 %patch83 -p1 -%patch84 -p1 %patch85 -p1 %patch86 -p1 %patch87 -p1 %patch88 -p1 +%patch89 -p1 popd # openjdk # %patch1000 @@ -1669,6 +1669,9 @@ cjc.mainProgram(arg) %changelog +* Sat May 26 2022 eapen - 1:11.0.14.9-3 +- reconstruct applying of memcpy.o used by lib compilations + * Fri May 25 2022 eapen - 1:11.0.14.9-2 - adapted to newst cjc to fix issue with rpm 4.17 diff --git a/src-openeuler-openjdk-11-resolve-code-inconsistencies.patch b/src-openeuler-openjdk-11-resolve-code-inconsistencies.patch index 65015d65cd7c67967dc2c696d816c801f2063037..e6f5993f880479766802e0acd3d412b8c5060c66 100644 --- a/src-openeuler-openjdk-11-resolve-code-inconsistencies.patch +++ b/src-openeuler-openjdk-11-resolve-code-inconsistencies.patch @@ -1,369 +1,3 @@ -diff --git a/make/launcher/Launcher-java.base.gmk b/make/launcher/Launcher-java.base.gmk -index f6d4aa28f..d511c0be5 100644 ---- a/make/launcher/Launcher-java.base.gmk -+++ b/make/launcher/Launcher-java.base.gmk -@@ -30,6 +30,11 @@ $(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, \ -@@ -79,6 +84,7 @@ 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, \ -diff --git a/make/launcher/Launcher-jdk.pack.gmk b/make/launcher/Launcher-jdk.pack.gmk -index a93fd2a90..2e0bc7a5b 100644 ---- a/make/launcher/Launcher-jdk.pack.gmk -+++ b/make/launcher/Launcher-jdk.pack.gmk -@@ -30,6 +30,11 @@ $(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. -@@ -81,6 +86,7 @@ $(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, \ -diff --git a/make/lib/Awt2dLibraries.gmk b/make/lib/Awt2dLibraries.gmk -index e8c27e902..9ebb93dcb 100644 ---- a/make/lib/Awt2dLibraries.gmk -+++ b/make/lib/Awt2dLibraries.gmk -@@ -35,6 +35,11 @@ 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 -@@ -50,6 +55,7 @@ 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, \ - EXCLUDE_SRC_PATTERNS := $(BUILD_LIBMLIB_EXCLUDE_SRC_PATTERNS), \ - OPTIMIZATION := HIGHEST, \ -@@ -219,6 +225,7 @@ 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, \ -@@ -430,6 +437,7 @@ endif - $(eval $(call SetupJdkLibrary, BUILD_LIBJAVAJPEG, \ - NAME := javajpeg, \ - INCLUDE_FILES := $(BUILD_LIBJAVAJPEG_INCLUDE_FILES), \ -+ EXTRA_FILES := $(LIBMEMCPY_FILES), \ - OPTIMIZATION := HIGHEST, \ - CFLAGS := $(CFLAGS_JDKLIB), \ - HEADERS_FROM_SRC := $(LIBJPEG_HEADERS_FROM_SRC), \ -@@ -919,6 +927,7 @@ 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, \ -diff --git a/make/lib/CoreLibraries.gmk b/make/lib/CoreLibraries.gmk -index 226e20892..f180a28c3 100644 ---- a/make/lib/CoreLibraries.gmk -+++ b/make/lib/CoreLibraries.gmk -@@ -28,6 +28,11 @@ 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 -@@ -76,6 +81,7 @@ endif - $(eval $(call SetupJdkLibrary, BUILD_LIBVERIFY, \ - NAME := verify, \ - OPTIMIZATION := $(LIBVERIFY_OPTIMIZATION), \ -+ EXTRA_FILES := $(LIBMEMCPY_FILES), \ - CFLAGS := $(CFLAGS_JDKLIB), \ - DISABLED_WARNINGS_gcc := implicit-fallthrough, \ - DISABLED_WARNINGS_microsoft := 4244 4267, \ -@@ -96,9 +102,11 @@ 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), \ -@@ -144,6 +152,7 @@ endif - $(eval $(call SetupJdkLibrary, BUILD_LIBZIP, \ - NAME := zip, \ - OPTIMIZATION := LOW, \ -+ EXTRA_FILES := $(LIBMEMCPY_FILES), \ - EXCLUDES := $(LIBZIP_EXCLUDES), \ - CFLAGS := $(CFLAGS_JDKLIB) \ - $(LIBZ_CFLAGS), \ -@@ -165,6 +174,7 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBJIMAGE, \ - NAME := jimage, \ - TOOLCHAIN := TOOLCHAIN_LINK_CXX, \ - OPTIMIZATION := LOW, \ -+ EXTRA_FILES := $(LIBMEMCPY_FILES), \ - CFLAGS := $(CFLAGS_JDKLIB), \ - CXXFLAGS := $(CXXFLAGS_JDKLIB), \ - CFLAGS_unix := -UDEBUG, \ -@@ -236,7 +246,7 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBJLI, \ - NAME := jli, \ - OUTPUT_DIR := $(LIBJLI_OUTPUT_DIR), \ - EXCLUDE_FILES := $(LIBJLI_EXCLUDE_FILES), \ -- EXTRA_FILES := $(LIBJLI_EXTRA_FILES), \ -+ EXTRA_FILES := $(LIBJLI_EXTRA_FILES) $(LIBMEMCPY_FILES), \ - 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 a529768f3..0c888b65c 100644 ---- a/make/lib/Lib-java.base.gmk -+++ b/make/lib/Lib-java.base.gmk -@@ -36,12 +36,18 @@ $(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), \ - 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 274df2b8e..932e0b3e8 100644 ---- a/make/lib/Lib-java.desktop.gmk -+++ b/make/lib/Lib-java.desktop.gmk -@@ -36,6 +36,11 @@ $(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 - -@@ -63,6 +68,7 @@ ifneq ($(OPENJDK_TARGET_OS), aix) - NAME := jsound, \ - TOOLCHAIN := $(LIBJSOUND_TOOLCHAIN), \ - OPTIMIZATION := LOW, \ -+ EXTRA_FILES := $(LIBMEMCPY_FILES), \ - 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 9acde85ff..6e679b500 100644 ---- a/make/lib/Lib-java.instrument.gmk -+++ b/make/lib/Lib-java.instrument.gmk -@@ -36,9 +36,15 @@ 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, \ -diff --git a/make/lib/Lib-jdk.crypto.cryptoki.gmk b/make/lib/Lib-jdk.crypto.cryptoki.gmk -index 3f25d7c04..6c23857e1 100644 ---- a/make/lib/Lib-jdk.crypto.cryptoki.gmk -+++ b/make/lib/Lib-jdk.crypto.cryptoki.gmk -@@ -25,11 +25,17 @@ - - 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), \ - 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 dfecc1d3c..4137a371d 100644 ---- a/make/lib/Lib-jdk.crypto.ec.gmk -+++ b/make/lib/Lib-jdk.crypto.ec.gmk -@@ -25,6 +25,11 @@ - - include LibCommon.gmk - -+LIBMEMCPY_FILES += \ -+ $(addprefix $(TOPDIR)/src/hotspot/share/runtime/, \ -+ memcpy.cpp \ -+ ) -+ - ################################################################################ - - ifeq ($(ENABLE_INTREE_EC), true) -@@ -42,6 +47,7 @@ ifeq ($(ENABLE_INTREE_EC), true) - NAME := sunec, \ - TOOLCHAIN := TOOLCHAIN_LINK_CXX, \ - OPTIMIZATION := LOW, \ -+ EXTRA_FILES := $(LIBMEMCPY_FILES), \ - 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.hotspot.agent.gmk b/make/lib/Lib-jdk.hotspot.agent.gmk -index 2d0c36a47..ad3075f00 100644 ---- a/make/lib/Lib-jdk.hotspot.agent.gmk -+++ b/make/lib/Lib-jdk.hotspot.agent.gmk -@@ -27,6 +27,11 @@ 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) -@@ -58,6 +63,7 @@ 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, \ -diff --git a/make/lib/Lib-jdk.jdwp.agent.gmk b/make/lib/Lib-jdk.jdwp.agent.gmk -index f00f0760f..1081b1f30 100644 ---- a/make/lib/Lib-jdk.jdwp.agent.gmk -+++ b/make/lib/Lib-jdk.jdwp.agent.gmk -@@ -25,6 +25,11 @@ - - include LibCommon.gmk - -+LIBMEMCPY_FILES += \ -+ $(addprefix $(TOPDIR)/src/hotspot/share/runtime/, \ -+ memcpy.cpp \ -+ ) -+ - ################################################################################ - - $(eval $(call SetupJdkLibrary, BUILD_LIBDT_SOCKET, \ -@@ -53,6 +58,7 @@ 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 \ -diff --git a/make/lib/Lib-jdk.pack.gmk b/make/lib/Lib-jdk.pack.gmk -index f401e03e7..23c87a07d 100644 ---- a/make/lib/Lib-jdk.pack.gmk -+++ b/make/lib/Lib-jdk.pack.gmk -@@ -25,6 +25,11 @@ - - include LibCommon.gmk - -+LIBMEMCPY_FILES += \ -+ $(addprefix $(TOPDIR)/src/hotspot/share/runtime/, \ -+ memcpy.cpp \ -+ ) -+ - ################################################################################ - - $(eval $(call SetupJdkLibrary, BUILD_LIBUNPACK, \ -@@ -32,6 +37,7 @@ $(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, \ -diff --git a/make/lib/Lib-jdk.sctp.gmk b/make/lib/Lib-jdk.sctp.gmk -index 267610202..f2c1dc0b9 100644 ---- a/make/lib/Lib-jdk.sctp.gmk -+++ b/make/lib/Lib-jdk.sctp.gmk -@@ -25,6 +25,11 @@ - - include LibCommon.gmk - -+LIBMEMCPY_FILES += \ -+ $(addprefix $(TOPDIR)/src/hotspot/share/runtime/, \ -+ memcpy.cpp \ -+ ) -+ - ################################################################################ - - ifeq ($(OPENJDK_TARGET_OS_TYPE), unix) -@@ -33,6 +38,7 @@ 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) \ diff --git a/src/hotspot/share/c1/c1_GraphBuilder.cpp b/src/hotspot/share/c1/c1_GraphBuilder.cpp index 211c2acda..86cc0108b 100644 --- a/src/hotspot/share/c1/c1_GraphBuilder.cpp @@ -614,32 +248,6 @@ index 74aab91f9..6cf2d2a6d 100644 } // Verify that verify_me made the same decisions as a fresh run. -diff --git a/src/hotspot/share/runtime/memcpy.cpp b/src/hotspot/share/runtime/memcpy.cpp -new file mode 100644 -index 000000000..ed8330679 ---- /dev/null -+++ b/src/hotspot/share/runtime/memcpy.cpp -@@ -0,0 +1,20 @@ -+/* -+ * Copyright (c) Huawei Technologies Co., Ltd. 2018-2019. All rights reserved. -+ */ -+ -+#if defined( __GNUC__ ) && \ -+(__GNUC__ >= 5 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)) -+#include -+ -+#if (defined AMD64) || (defined amd64) -+/* some systems do not have newest memcpy@@GLIBC_2.14 - stay with old good one */ -+asm (".symver memcpy, memcpy@GLIBC_2.2.5"); -+ -+extern "C"{ -+ void *__wrap_memcpy(void *dest, const void *src, size_t n) -+ { -+ return memcpy(dest, src, n); -+ } -+} -+#endif -+#endif diff --git a/src/hotspot/share/runtime/stackValue.cpp b/src/hotspot/share/runtime/stackValue.cpp index cab1de79a..6a67574ad 100644 --- a/src/hotspot/share/runtime/stackValue.cpp