RFR: JDK-8074796 Disabling warnings on clang triggers compiler bug for libunpack

Magnus Ihse Bursie magnus.ihse.bursie at oracle.com
Thu Mar 12 15:04:17 UTC 2015


With JDK-8074096, some warnings produced by libunpack was silenced.

However, it turned out that the version of clang shipped with Xcode 5.1 
has some weird behavior, which I would classify as a compiler bug. The 
generated output differs markedly, if -Wno-foo is present on the command 
line. Enough to trigger a failure in an Oracle-internal test of libunpack.

Removing the disabled warnings restore the previous behaviour.

While I've spent too much time on this already, I have not been able to 
pinpoint exactly what triggers this behavior. It seems that all files in 
libunpack are affected, but no other libs. (However there are also some 
minor changes in ./java.desktop/libawt_lwawt/OGLPaints.o 
./java.desktop/liblcms/cmsps2.o 
./java.desktop/libmlib_image/mlib_ImageColorTrue2Index.o which there 
really should not be.) And it only affects libunpack, not the unpack200 
exe which shares part of the code. I have no explanation for this.

The simple solution at this point is to back out the warning changes for 
clang. There is already a fix on the way to resolve the root cause of 
this failures. (And yes, I tried running that patch. It did indeed 
remove the warnings. But when running with the -Wno-foo flags, clang 
*still* generated broken code.)

Bug: https://bugs.openjdk.java.net/browse/JDK-8074796
Patch inline:

diff --git a/make/lib/Lib-jdk.pack200.gmk b/make/lib/Lib-jdk.pack200.gmk
--- a/make/lib/Lib-jdk.pack200.gmk
+++ b/make/lib/Lib-jdk.pack200.gmk
@@ -42,7 +42,6 @@
      CFLAGS_release := -DPRODUCT, \
      DISABLED_WARNINGS_gcc := conversion-null sign-compare 
format-security \
          format-nonliteral parentheses, \
-    DISABLED_WARNINGS_clang := bool-conversion format-security, \
      DISABLED_WARNINGS_solstudio := truncwarn, \
      DISABLED_WARNINGS_microsoft := 4267 4018, \
      MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libunpack/mapfile-vers, \

/Magnus



More information about the build-dev mailing list