-
Bug
-
Resolution: Won't Fix
-
P4
-
None
-
None
-
None
Specially configured builds with GCC 6.3.0 on Linux x86_64 started to fail after JDK-8211029:
This works:
$ sh ./configure --with-boot-jdk=/pool/buildbot/deps/jdks/default-jdk11/ --with-debug-level=fastdebug
$ make hotspot
This fails:
$ sh ./configure '--with-extra-cflags=-Wno-int-conversion' --with-boot-jdk=/pool/buildbot/deps/jdks/default-jdk11/ --with-debug-level=fastdebug
$ make hotspot
Creating hotspot/variant-server/libjvm/gtest/libjvm.so from 94 file(s)
Creating hotspot/variant-server/libjvm/gtest/gtestLauncher from 1 file(s)
cc1plus: warning: command line option ‘-Wno-int-conversion’ is valid for C/ObjC but not for C++
cc1plus: error: unrecognized command line option ‘-Wno-implicit-fallthrough’ [-Werror]
cc1plus: error: unrecognized command line option ‘-Wno-int-in-bool-context’ [-Werror]
cc1plus: all warnings being treated as errors
lib/CompileJvm.gmk:178: recipe for target '/home/shade/jdk-jdk/build/linux-x86_64-server-fastdebug/hotspot/variant-server/libjvm/objs/precompiled/precompiled.hpp.gch' failed
make[3]: *** [/home/shade/jdk-jdk/build/linux-x86_64-server-fastdebug/hotspot/variant-server/libjvm/objs/precompiled/precompiled.hpp.gch] Error 1
make[3]: *** Waiting for unfinished jobs....
cc1plus: error: unrecognized command line option ‘-Wno-implicit-fallthrough’ [-Werror]
cc1plus: error: unrecognized command line option ‘-Wno-int-in-bool-context’ [-Werror]
cc1plus: all warnings being treated as errors
make[3]: *** [/home/shade/jdk-jdk/build/linux-x86_64-server-fastdebug/hotspot/variant-server/libjvm/gtest/objs/precompiled/precompiled.hpp.gch] Error 1
lib/CompileGtest.gmk:58: recipe for target '/home/shade/jdk-jdk/build/linux-x86_64-server-fastdebug/hotspot/variant-server/libjvm/gtest/objs/precompiled/precompiled.hpp.gch' failed
make/Main.gmk:257: recipe for target 'hotspot-server-libs' failed
make[2]: *** [hotspot-server-libs] Error 2
It seems extra-cflags is passed to C++ compiler, which complains about its validity, and it also fails to recognize the warning options from the build system itself.
It used to work fine beforeJDK-8211029. No extra cflags are needed to build jdk/jdk after JDK-8211029, but if we ever need it in future, e.g. for some other toolchain, this would resurface.
This works:
$ sh ./configure --with-boot-jdk=/pool/buildbot/deps/jdks/default-jdk11/ --with-debug-level=fastdebug
$ make hotspot
This fails:
$ sh ./configure '--with-extra-cflags=-Wno-int-conversion' --with-boot-jdk=/pool/buildbot/deps/jdks/default-jdk11/ --with-debug-level=fastdebug
$ make hotspot
Creating hotspot/variant-server/libjvm/gtest/libjvm.so from 94 file(s)
Creating hotspot/variant-server/libjvm/gtest/gtestLauncher from 1 file(s)
cc1plus: warning: command line option ‘-Wno-int-conversion’ is valid for C/ObjC but not for C++
cc1plus: error: unrecognized command line option ‘-Wno-implicit-fallthrough’ [-Werror]
cc1plus: error: unrecognized command line option ‘-Wno-int-in-bool-context’ [-Werror]
cc1plus: all warnings being treated as errors
lib/CompileJvm.gmk:178: recipe for target '/home/shade/jdk-jdk/build/linux-x86_64-server-fastdebug/hotspot/variant-server/libjvm/objs/precompiled/precompiled.hpp.gch' failed
make[3]: *** [/home/shade/jdk-jdk/build/linux-x86_64-server-fastdebug/hotspot/variant-server/libjvm/objs/precompiled/precompiled.hpp.gch] Error 1
make[3]: *** Waiting for unfinished jobs....
cc1plus: error: unrecognized command line option ‘-Wno-implicit-fallthrough’ [-Werror]
cc1plus: error: unrecognized command line option ‘-Wno-int-in-bool-context’ [-Werror]
cc1plus: all warnings being treated as errors
make[3]: *** [/home/shade/jdk-jdk/build/linux-x86_64-server-fastdebug/hotspot/variant-server/libjvm/gtest/objs/precompiled/precompiled.hpp.gch] Error 1
lib/CompileGtest.gmk:58: recipe for target '/home/shade/jdk-jdk/build/linux-x86_64-server-fastdebug/hotspot/variant-server/libjvm/gtest/objs/precompiled/precompiled.hpp.gch' failed
make/Main.gmk:257: recipe for target 'hotspot-server-libs' failed
make[2]: *** [hotspot-server-libs] Error 2
It seems extra-cflags is passed to C++ compiler, which complains about its validity, and it also fails to recognize the warning options from the build system itself.
It used to work fine before
- relates to
-
JDK-8001877 build-infra: Our handling of CFLAGS in configure is broken
-
- Open
-
-
JDK-8211029 Have a common set of enabled warnings for all native libraries
-
- Resolved
-