← Back to team overview

openjdk team mailing list archive

Bug#874265: openjdk-9: Please update zero-sparc.diff with version from upstream

 

Source: openjdk-9
Version: 9~b181-4
Severity: normal
Tags: patch
User: debian-sparc@xxxxxxxxxxxxxxxx
Usertags: sparc64

Hello!

The patch to fix the Zero builds on SPARC has been updated again after some
discussion upstream where we learned that memset_with_concurrent_readers
must always use the SPARC-specific implementation as the glibc implementation
of memset can cause problems with concurrent threads may see zeros temporarily
in memory being copied due to the block-initialize store instructions used
in memset.

The attached patch therefore uses memset_with_concurrent_readers_sparc.cpp
also for Zero builds. I also included a patch header this time which
points to the upstream bug report and merge status.

Thanks,
Adrian

--
  .''`.  John Paul Adrian Glaubitz
 : :' :  Debian Developer - glaubitz@xxxxxxxxxx
 `. `'   Freie Universitaet Berlin - glaubitz@xxxxxxxxxxxxxxxxxxx
   `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913
# Upstream bug: JDK-8186578
# URL: https://bugs.openjdk.java.net/browse/JDK-8186578
# Merge status: Unmerged
# Last Update: 2017-09-04

--- a/hotspot/make/lib/JvmFeatures.gmk	2017-08-01 12:03:05.000000000 +0300
+++ b/hotspot/make/lib/JvmFeatures.gmk	2017-09-04 16:52:05.558760743 +0300
@@ -47,6 +47,9 @@
 ifeq ($(call check-jvm-feature, zero), true)
   JVM_CFLAGS_FEATURES += -DZERO -DCC_INTERP -DZERO_LIBARCH='"$(OPENJDK_TARGET_CPU_LEGACY_LIB)"' $(LIBFFI_CFLAGS)
   JVM_LIBS_FEATURES += $(LIBFFI_LIBS)
+  ifeq ($(OPENJDK_TARGET_CPU), sparcv9)
+    BUILD_LIBJVM_EXTRA_FILES := $(HOTSPOT_TOPDIR)/src/cpu/sparc/vm/memset_with_concurrent_readers_sparc.cpp
+  endif
 endif
 
 ifeq ($(call check-jvm-feature, shark), true)
--- a/hotspot/src/share/vm/compiler/oopMap.cpp	2017-08-01 12:03:05.000000000 +0300
+++ b/hotspot/src/share/vm/compiler/oopMap.cpp	2017-09-04 16:52:32.279882885 +0300
@@ -39,9 +39,6 @@
 #ifdef COMPILER2
 #include "opto/optoreg.hpp"
 #endif
-#ifdef SPARC
-#include "vmreg_sparc.inline.hpp"
-#endif
 
 // OopMapStream