RFR: JDK-8199118 Filtering of filename for microsoft CL broken on newer Cygwin

Magnus Ihse Bursie magnus.ihse.bursie at oracle.com
Tue Mar 6 13:37:24 UTC 2018


The code in NativeCompilation.gmk that was supposed to filter out CL's 
printing of the file being compiled has stopped working on modern 
Cygwin, since Cygwin grep is broken and cannot handle Windows line 
endings. We've seen this in multiple places, but has not been able to 
provide a generic solution, so we need to fix it in place for every 
occasion.

Bug: https://bugs.openjdk.java.net/browse/JDK-8199118
Patch inline:
diff --git a/make/common/NativeCompilation.gmk 
b/make/common/NativeCompilation.gmk
--- a/make/common/NativeCompilation.gmk
+++ b/make/common/NativeCompilation.gmk
@@ -321,7 +321,7 @@
           $$(call ExecuteWithLog, $$@, \
               $$($1_$2_COMP) $$($1_$2_FLAGS) -showIncludes 
$$($1_$2_DEBUG_OUT_FLAGS) \
                   $(CC_OUT_OPTION)$$($1_$2_OBJ) $2) \
-             | $(GREP) -v -e "^Note: including file:" \
+             | $(TR) -d '\r' | $(GREP) -v -e "^Note: including file:" \
                   -e "^$(notdir $2)$$$$" || test "$$$$?" = "1" ; \
           $(ECHO) $$@: \\ > $$($1_$2_DEP) ; \
           $(SED) $(WINDOWS_SHOWINCLUDE_SED_PATTERN) $$($1_$2_OBJ).log \

/Magnus


More information about the build-dev mailing list