# HG changeset patch # User andrew # Date 1605533785 0 # Node ID a670205e9537966705fc81b776651b3d6d44ddca # Parent 6b45afd0d97a6af229a4919f3ea4983aa7571a13# Parent 97bcc138b4265f9c22a55925d37ca36f13b3e8be Merge diff -r 6b45afd0d97a -r a670205e9537 .hgtags --- 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 diff -r 6b45afd0d97a -r a670205e9537 THIRD_PARTY_README --- 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 diff -r 6b45afd0d97a -r a670205e9537 make/common/NativeCompilation.gmk --- 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