changeset 2508:a670205e9537 jdk8u282-b02

Merge
author andrew
date Mon, 16 Nov 2020 13:36:25 +0000
parents 6b45afd0d97a (current diff) 97bcc138b426 (diff)
children cf82ddc02f88 9fda7eb2f992
files .hgtags
diffstat 3 files changed, 95 insertions(+), 156 deletions(-) [+]
line wrap: on
line diff
--- a/.hgtags	Thu Nov 05 05:11:01 2020 +0000
+++ b/.hgtags	Mon Nov 16 13:36:25 2020 +0000
@@ -1021,11 +1021,13 @@
 a0dd128191fdce8034be8bd4c7a1f47ee2426e6d jdk8u272-b04
 afbc213b114cfc20b07318d4c1b2550211e77682 jdk8u272-b05
 e68b51b4e55a792c78f6f043738e75755571d92d jdk8u272-b06
+e68b51b4e55a792c78f6f043738e75755571d92d jdk8u282-b00
 fec6ed779ae6ebe1cd2b3a97963026b3104f8ded jdk8u272-b07
 34c6baf214648afedf83625ed18a2650ed280c36 jdk8u272-b08
 7f60c2d9823ea2928db8eee582fbc736bd8d962c jdk8u272-b09
 6464ce0569e764ec2c6533f6bf4ca1725a618bdf jdk8u272-b10
 6464ce0569e764ec2c6533f6bf4ca1725a618bdf jdk8u272-ga
+e09905ce07c62560c4d92b3bb63eeaf18ce07e57 jdk8u282-b01
 6464ce0569e764ec2c6533f6bf4ca1725a618bdf jdk8u275-b00
 a045721e6a83918a16d74ab5d0c27c158e2647a8 jdk8u275-b01
 a045721e6a83918a16d74ab5d0c27c158e2647a8 jdk8u275-ga
--- a/THIRD_PARTY_README	Thu Nov 05 05:11:01 2020 +0000
+++ b/THIRD_PARTY_README	Mon Nov 16 13:36:25 2020 +0000
@@ -1672,13 +1672,13 @@
 
 -------------------------------------------------------------------------------
 
-%% This notice is provided with respect to Little CMS 2.9, which may be
+%% This notice is provided with respect to Little CMS 2.11, which may be
 included with JRE 8, JDK 8, and OpenJDK 8.
 
 --- begin of LICENSE ---
 
 Little CMS
-Copyright (c) 1998-2011 Marti Maria Saguer
+Copyright (c) 1998-2020 Marti Maria Saguer
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal
--- a/make/common/NativeCompilation.gmk	Thu Nov 05 05:11:01 2020 +0000
+++ b/make/common/NativeCompilation.gmk	Mon Nov 16 13:36:25 2020 +0000
@@ -193,7 +193,7 @@
 
     $1_BASENAME:=$(LIBRARY_PREFIX)$$($1_LIBRARY)$(SHARED_LIBRARY_SUFFIX)
     $1_TARGET:=$$($1_OUTPUT_DIR)/$$($1_BASENAME)
-
+    $1_NOSUFFIX:=$(LIBRARY_PREFIX)$$($1_LIBRARY)
   endif
 
   ifneq (,$$($1_STATIC_LIBRARY))
@@ -215,6 +215,7 @@
 
     $1_BASENAME:=$(LIBRARY_PREFIX)$$($1_STATIC_LIBRARY)$(STATIC_LIBRARY_SUFFIX)
     $1_TARGET:=$$($1_OUTPUT_DIR)/$$($1_BASENAME)
+    $1_NOSUFFIX:=$(LIBRARY_PREFIX)$$($1_STATIC_LIBRARY)
   endif
 
   ifneq (,$$($1_PROGRAM))
@@ -232,7 +233,7 @@
 
     $1_BASENAME:=$$($1_PROGRAM)$(EXE_SUFFIX)
     $1_TARGET:=$$($1_OUTPUT_DIR)/$$($1_BASENAME)
-
+    $1_NOSUFFIX:=$$($1_PROGRAM)
   endif
 
   ifeq (,$$($1_TARGET))
@@ -434,7 +435,84 @@
 
   $1_EXTRA_LDFLAGS += $(SYSROOT_LDFLAGS)
 
+  # Need to make sure TARGET is first on list
   $1 := $$($1_TARGET)
+  ifeq ($$($1_STATIC_LIBRARY),)
+    ifneq ($$($1_DEBUG_SYMBOLS),)
+      ifeq ($(ENABLE_DEBUG_SYMBOLS), true)
+        ifneq ($(OPENJDK_TARGET_OS), macosx) # no MacOS X support yet
+          ifneq ($$($1_OUTPUT_DIR),$$($1_OBJECT_DIR))
+            # The dependency on TARGET is needed on windows for debuginfo files
+            # to be rebuilt properly.
+            $$($1_OUTPUT_DIR)/% : $$($1_OBJECT_DIR)/% $$($1_TARGET)
+		$(CP) $$< $$@
+          endif
+
+          # Generate debuginfo files.
+          ifeq ($(OPENJDK_TARGET_OS), windows)
+            ifneq ($$($1_STRIP_POLICY), no_strip)
+              $1_EXTRA_LDFLAGS += "-pdb:$$($1_OBJECT_DIR)/$$($1_NOSUFFIX).pdb" \
+                "-map:$$($1_OBJECT_DIR)/$$($1_NOSUFFIX).map"
+              $1_DEBUGINFO_FILES := $$($1_OBJECT_DIR)/$$($1_NOSUFFIX).pdb \
+                $$($1_OBJECT_DIR)/$$($1_NOSUFFIX).map
+
+              # This dependency dance ensures that windows debug info files get rebuilt
+              # properly if deleted.
+              $$($1_TARGET): $$($1_DEBUGINFO_FILES)
+              $$($1_DEBUGINFO_FILES): $$($1_EXPECTED_OBJS)
+            endif
+          else ifeq ($(OPENJDK_TARGET_OS), solaris)
+            ifneq ($$($1_STRIP_POLICY), no_strip)
+              $1_DEBUGINFO_FILES := $$($1_OBJECT_DIR)/$$($1_NOSUFFIX).debuginfo
+              # gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set.
+              # Use $(FIX_EMPTY_SEC_HDR_FLAGS) to clear the SHF_ALLOC flag (if set) from
+              # empty section headers until a fixed $(OBJCOPY) is available.
+              # An empty section header has sh_addr == 0 and sh_size == 0.
+              # This problem has only been seen on Solaris X64, but we call this tool
+              # on all Solaris builds just in case.
+              #
+              # $(OBJCOPY) --add-gnu-debuglink=... corrupts SUNW_* sections.
+              # Use $(ADD_GNU_DEBUGLINK) until a fixed $(OBJCOPY) is available.
+              $$($1_DEBUGINFO_FILES): $$($1_TARGET) \
+                $(FIX_EMPTY_SEC_HDR_FLAGS) $(ADD_GNU_DEBUGLINK)
+			$(RM) $$@
+			$(FIX_EMPTY_SEC_HDR_FLAGS) $(LOG_INFO) $$<
+			$(OBJCOPY) --only-keep-debug $$< $$@
+			$(CD) $$(@D) && $(ADD_GNU_DEBUGLINK) $(LOG_INFO) $$(@F) $$<
+			$(TOUCH) $$@
+            endif
+          else ifeq ($(OPENJDK_TARGET_OS), linux)
+            ifneq ($$($1_STRIP_POLICY), no_strip)
+              $1_DEBUGINFO_FILES := $$($1_OBJECT_DIR)/$$($1_NOSUFFIX).debuginfo
+              $$($1_DEBUGINFO_FILES): $$($1_TARGET)
+			$(RM) $$@
+			$(OBJCOPY) --only-keep-debug $$< $$@
+			$(CD) $$(@D) && $(OBJCOPY) --add-gnu-debuglink=$$(@F) $$<
+			$(TOUCH) $$@
+            endif
+          endif # No MacOS X support
+
+          ifeq ($(ZIP_DEBUGINFO_FILES), true)
+            ifneq ($$($1_STRIP_POLICY), no_strip)
+              $1_DEBUGINFO_ZIP := $$($1_OBJECT_DIR)/$$($1_NOSUFFIX).diz
+              $1 += $$(subst $$($1_OBJECT_DIR),$$($1_OUTPUT_DIR),$$($1_DEBUGINFO_ZIP))
+
+              # The dependency on TARGET is needed on windows for debuginfo files
+              # to be rebuilt properly.
+              $$($1_DEBUGINFO_ZIP): $$($1_DEBUGINFO_FILES) $$($1_TARGET)
+		$(CD) $$($1_OBJECT_DIR) \
+		&& $(ZIP) -q $$@ $$($1_DEBUGINFO_FILES)
+            endif
+          else
+            ifneq ($$($1_STRIP_POLICY), no_strip)
+              $1 += $$(subst $$($1_OBJECT_DIR),$$($1_OUTPUT_DIR),$$($1_DEBUGINFO_FILES))
+            endif
+          endif
+        endif
+      endif # !MacOS X
+    endif # $1_DEBUG_SYMBOLS
+  endif # !STATIC_LIBRARY
+
   ifneq (,$$($1_LIBRARY))
     # Generating a dynamic library.
     $1_EXTRA_LDFLAGS+=$$(call SET_SHARED_LIBRARY_NAME,$$($1_BASENAME))
@@ -444,87 +522,16 @@
 
     $1_EXTRA_LDFLAGS_SUFFIX += $(GLOBAL_LDFLAGS_SUFFIX)
 
-    ifneq (,$$($1_DEBUG_SYMBOLS))
-      ifeq ($(ENABLE_DEBUG_SYMBOLS), true)
-        ifeq ($(OPENJDK_TARGET_OS), windows)
-          $1_EXTRA_LDFLAGS+="-pdb:$$($1_OBJECT_DIR)/$$($1_LIBRARY).pdb" \
-              "-map:$$($1_OBJECT_DIR)/$$($1_LIBRARY).map"
-        endif
-
-        ifneq ($$($1_OUTPUT_DIR),$$($1_OBJECT_DIR))
-          $$($1_OUTPUT_DIR)/% : $$($1_OBJECT_DIR)/%
-		$(CP) $$< $$@
-        endif
-
-        ifneq ($(OPENJDK_TARGET_OS), macosx)   # OBJCOPY is not used on MacOS X
-          ifneq ($(OPENJDK_TARGET_OS), windows)  # nor on Windows
-            ifeq ($(OPENJDK_TARGET_OS), solaris)
-              ifneq ($$($1_STRIP_POLICY), no_strip)
-                # gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set.
-                # Use $(FIX_EMPTY_SEC_HDR_FLAGS) to clear the SHF_ALLOC flag (if set) from
-                # empty section headers until a fixed $(OBJCOPY) is available.
-                # An empty section header has sh_addr == 0 and sh_size == 0.
-                # This problem has only been seen on Solaris X64, but we call this tool
-                # on all Solaris builds just in case.
-                #
-                # $(OBJCOPY) --add-gnu-debuglink=... corrupts SUNW_* sections.
-                # Use $(ADD_GNU_DEBUGLINK) until a fixed $(OBJCOPY) is available.
-                $$($1_OBJECT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo : $$($1_TARGET) \
-				$(FIX_EMPTY_SEC_HDR_FLAGS) $(ADD_GNU_DEBUGLINK)
-		$(RM) $$@
-		$(FIX_EMPTY_SEC_HDR_FLAGS) $(LOG_INFO) $$<
-		$(OBJCOPY) --only-keep-debug $$< $$@
-		$(CD) $$(@D) && $(ADD_GNU_DEBUGLINK) $(LOG_INFO) $$(@F) $$<
-              endif
-            else # not solaris
-              ifneq ($$($1_STRIP_POLICY), no_strip)
-                $$($1_OBJECT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo : $$($1_TARGET)
-		$(RM) $$@
-		$(OBJCOPY) --only-keep-debug $$< $$@
-		$(CD) $$(@D) && $(OBJCOPY) --add-gnu-debuglink=$$(@F) $$<
-              endif
-            endif # Touch to not retrigger rule on rebuild
-            ifneq ($$($1_STRIP_POLICY), no_strip)
-		$(TOUCH) $$@
-            endif
-          endif # !windows
-        endif # !macosx
-
-        ifeq ($(ZIP_DEBUGINFO_FILES), true)
-ifneq ($(OPENJDK_TARGET_OS), macosx) # no MacOS X support yet
-ifneq ($$($1_STRIP_POLICY), no_strip)
-          $1 += $$($1_OUTPUT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).diz
-
-          ifeq ($(OPENJDK_TARGET_OS), windows)
-            $$($1_OBJECT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).diz : $$($1_TARGET)
-		$(CD) $$($1_OBJECT_DIR) \
-		&& $(ZIP) -q $$@ $$($1_LIBRARY).map $$($1_LIBRARY).pdb
-          else
-            $$($1_OBJECT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).diz : $$($1_TARGET) \
-                $$($1_OBJECT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo
-		$(CD) $$($1_OBJECT_DIR) \
-		&& $(ZIP) -q $$@ $$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo
-          endif
-endif # not possible when stripping is disabled
-endif # no MacOS X support yet
-        else
-          ifeq ($(OPENJDK_TARGET_OS), windows)
-            $1 += $$($1_OUTPUT_DIR)/$$($1_LIBRARY).map \
-                $$($1_OUTPUT_DIR)/$$($1_LIBRARY).pdb
-          else ifneq ($(OPENJDK_TARGET_OS), macosx) # MacOS X does not use .debuginfo files
-            ifneq ($$($1_STRIP_POLICY), no_strip)
-              $1 += $$($1_OUTPUT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo
-            endif
-          endif
-        endif
-      endif
-    endif
-
     $$($1_TARGET) : $$($1_EXPECTED_OBJS) $$($1_RES) $$($1_REAL_MAPFILE)
 	$$(call LINKING_MSG,$$($1_BASENAME))
 	$$($1_LD) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) $(LD_OUT_OPTION)$$@ \
 	$$($1_EXPECTED_OBJS) $$($1_RES) $$($1_LDFLAGS_SUFFIX) \
 	$$($1_EXTRA_LDFLAGS_SUFFIX)
+        # Touch target to make sure it has a later time stamp than the debug
+        # symbol files to avoid unnecessary relinking on rebuild.
+        ifeq ($(OPENJDK_TARGET_OS), windows)
+	  $(TOUCH) $$@
+        endif
 
   endif
 
@@ -538,82 +545,6 @@
 
   ifneq (,$$($1_PROGRAM))
     # A executable binary has been specified, setup the target for it.
-    ifneq (,$$($1_DEBUG_SYMBOLS))
-      ifeq ($(ENABLE_DEBUG_SYMBOLS), true)
-        ifeq ($(OPENJDK_TARGET_OS), windows)
-          $1_EXTRA_LDFLAGS+="-pdb:$$($1_OBJECT_DIR)/$$($1_PROGRAM).pdb" \
-              "-map:$$($1_OBJECT_DIR)/$$($1_PROGRAM).map"
-        endif
-
-        ifneq ($$($1_OUTPUT_DIR),$$($1_OBJECT_DIR))
-          $$($1_OUTPUT_DIR)/% : $$($1_OBJECT_DIR)/%
-		$(CP) $$< $$@
-        endif
-
-        ifneq ($(OPENJDK_TARGET_OS), macosx)   # OBJCOPY is not used on MacOS X
-          ifneq ($(OPENJDK_TARGET_OS), windows)  # nor on Windows
-            ifeq ($(OPENJDK_TARGET_OS), solaris)
-              ifneq ($$($1_STRIP_POLICY), no_strip)
-                # gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set.
-                # Use $(FIX_EMPTY_SEC_HDR_FLAGS) to clear the SHF_ALLOC flag (if set) from
-                # empty section headers until a fixed $(OBJCOPY) is available.
-                # An empty section header has sh_addr == 0 and sh_size == 0.
-                # This problem has only been seen on Solaris X64, but we call this tool
-                # on all Solaris builds just in case.
-                #
-                # $(OBJCOPY) --add-gnu-debuglink=... corrupts SUNW_* sections.
-                # Use $(ADD_GNU_DEBUGLINK) until a fixed $(OBJCOPY) is available.
-                $$($1_OBJECT_DIR)/$$($1_PROGRAM).debuginfo : $$($1_TARGET) \
-				$(FIX_EMPTY_SEC_HDR_FLAGS) $(ADD_GNU_DEBUGLINK)
-		$(RM) $$@
-		$(FIX_EMPTY_SEC_HDR_FLAGS) $(LOG_INFO) $$<
-		$(OBJCOPY) --only-keep-debug $$< $$@
-		$(CD) $$(@D) && $(ADD_GNU_DEBUGLINK) $(LOG_INFO) $$(@F) $$<
-              endif
-            else # not solaris
-              ifneq ($$($1_STRIP_POLICY), no_strip)
-                $$($1_OBJECT_DIR)/$$($1_PROGRAM).debuginfo : $$($1_TARGET)
-		$(RM) $$@
-		$(OBJCOPY) --only-keep-debug $$< $$@
-		$(CD) $$(@D) && $(OBJCOPY) --add-gnu-debuglink=$$(@F) $$<
-              endif
-            endif
-            ifneq ($$($1_STRIP_POLICY), no_strip)
-		$(TOUCH) $$@
-            endif
-          endif # !windows
-        endif # !macosx
-
-        ifeq ($(ZIP_DEBUGINFO_FILES), true)
-ifneq ($(OPENJDK_TARGET_OS), macosx) # no MacOS X support yet
-ifneq ($$($1_STRIP_POLICY), no_strip)
-          $1 += $$($1_OUTPUT_DIR)/$$($1_PROGRAM).diz
-
-          ifeq ($(OPENJDK_TARGET_OS), windows)
-            $$($1_OBJECT_DIR)/$$($1_PROGRAM).diz : $$($1_TARGET)
-		$(CD) $$($1_OBJECT_DIR) \
-		&& $(ZIP) -q $$@ $$($1_PROGRAM).map $$($1_PROGRAM).pdb
-          else
-            $$($1_OBJECT_DIR)/$$(PROGRAM_PREFIX)$$($1_PROGRAM).diz : $$($1_TARGET) \
-                $$($1_OBJECT_DIR)/$$($1_PROGRAM).debuginfo
-		$(CD) $$($1_OBJECT_DIR) \
-		&& $(ZIP) -q $$@ $$($1_PROGRAM).debuginfo
-          endif
-endif
-endif # no MacOS X support yet
-        else
-          ifeq ($(OPENJDK_TARGET_OS), windows)
-            $1 += $$($1_OUTPUT_DIR)/$$($1_PROGRAM).map \
-                $$($1_OUTPUT_DIR)/$$($1_PROGRAM).pdb
-          else ifneq ($(OPENJDK_TARGET_OS), macosx) # MacOS X does not use .debuginfo files
-            ifneq ($$($1_STRIP_POLICY), no_strip)
-              $1 += $$($1_OUTPUT_DIR)/$$($1_PROGRAM).debuginfo
-            endif
-          endif
-        endif
-      endif
-    endif
-
     $1_EXTRA_LDFLAGS_SUFFIX += $(GLOBAL_LDFLAGS_SUFFIX)
 
     $$($1_TARGET) : $$($1_EXPECTED_OBJS) $$($1_RES) $$($1_GEN_MANIFEST)
@@ -631,5 +562,11 @@
 	    $(CODESIGN) -s openjdk_codesign $$@
           endif
         endif
+        # Touch target to make sure it has a later time stamp than the debug
+        # symbol files to avoid unnecessary relinking on rebuild.
+        ifeq ($(OPENJDK_TARGET_OS), windows)
+	  $(TOUCH) $$@
+        endif
+
   endif
 endef