build issues after 8211029 on gcc4.8 and our porting Linux platforms (ppc64(le)/ s390x)
Roman Kennke
rkennke at redhat.com
Tue Sep 25 15:05:21 UTC 2018
Related, I've also filed:
https://bugs.openjdk.java.net/browse/JDK-8211071
and waiting for review here:
http://mail.openjdk.java.net/pipermail/core-libs-dev/2018-September/055666.html
Thanks,
Roman
> Hello, one additonal info , my colleague looking into the compile issues after 8211029 found this error ,
> when compiling on linuxx86_64 :
>
> === Output from failing command(s) repeated here ===
> * For target support_native_java.base_libnet_DatagramPacket.o:
> In file included from /OpenJDK/8210319/jdk/src/java.base/share/native/libnet/net_util.h:31:0,
> from /OpenJDK/8210319/jdk/src/java.base/share/native/libnet/DatagramPacket.c:27:
> /OpenJDK/8210319/jdk/src/java.base/unix/native/libnet/net_util_md.h:50:7: error: "__solaris__" is not defined [-Werror=undef]
> #elif __solaris__
> ^
> cc1: all warnings being treated as errors
> * For target support_native_java.base_libnet_Inet4Address.o:
> In file included from /OpenJDK/8210319/jdk/src/java.base/share/native/libnet/net_util.h:31:0,
> from /OpenJDK/8210319/jdk/src/java.base/share/native/libnet/Inet4Address.c:29:
> /OpenJDK/8210319/jdk/src/java.base/unix/native/libnet/net_util_md.h:50:7: error: "__solaris__" is not defined [-Werror=undef]
> #elif __solaris__
>
> Obviously "__solaris__" is not defined on Linux so I wonder how you could compile this ?
> ( the coding might need improvement however the test should be like #elif defined(__solaris__) )
>
>
> Best regards, Matthias
>
>
> From: Baesken, Matthias
> Sent: Dienstag, 25. September 2018 16:34
> To: 'build-dev at openjdk.java.net' <build-dev at openjdk.java.net>
> Cc: Schmidt, Lutz <lutz.schmidt at sap.com>; Doerr, Martin <martin.doerr at sap.com>
> Subject: build issues after 8211029 on gcc4.8 and our porting Linux platforms (ppc64(le)/ s390x)
>
>
> Hello, it looks like
>
> 8211029: Have a common set of enabled warnings for all native libraries
>
> breaks a lot of our Linux based builds.
> Our gcc 4.8 misses some of the introduced command line options :
>
> cc1plus: error: unrecognized command line option "-Wno-misleading-indentation" [-Werror]
> cc1plus: error: unrecognized command line option "-Wno-implicit-fallthrough" [-Werror]
> cc1plus: error: unrecognized command line option "-Wno-int-in-bool-context" [-Werror]
>
> Additionally , the added -Werror=switch triggers a LOT of errors on our porting platforms, e.g. linux ppc64 le :
>
> /build_ci_jdk_jdk_linuxppc64le/src/hotspot/cpu/ppc/c1_LIRGenerator_ppc.cpp:719:10: error: enumeration value '_Double_valueOf' not handled in switch [-Werror=switch]
> /build_ci_jdk_jdk_linuxppc64le/src/hotspot/cpu/ppc/c1_LIRGenerator_ppc.cpp:719:10: error: enumeration value '_forEachRemaining' not handled in switch [-Werror=switch]
> /build_ci_jdk_jdk_linuxppc64le/src/hotspot/cpu/ppc/c1_LIRGenerator_ppc.cpp:719:10: error: enumeration value 'ID_LIMIT' not handled in switch [-Werror=switch]
> /build_ci_jdk_jdk_linuxppc64le/src/hotspot/cpu/ppc/c1_LIRGenerator_ppc.cpp:719:10: error: enumeration value 'LAST_COMPILER_INLINE' not handled in switch [-Werror=switch]
> /build_ci_jdk_jdk_linuxppc64le/src/hotspot/cpu/ppc/c1_LIRGenerator_ppc.cpp:719:10: error: enumeration value 'FIRST_MH_SIG_POLY' not handled in switch [-Werror=switch]
> /build_ci_jdk_jdk_linuxppc64le/src/hotspot/cpu/ppc/c1_LIRGenerator_ppc.cpp:719:10: error: enumeration value 'FIRST_MH_STATIC' not handled in switch [-Werror=switch]
> /build_ci_jdk_jdk_linuxppc64le/src/hotspot/cpu/ppc/c1_LIRGenerator_ppc.cpp:719:10: error: enumeration value 'LAST_MH_SIG_POLY' not handled in switch [-Werror=switch]
> /build_ci_jdk_jdk_linuxppc64le/src/hotspot/cpu/ppc/c1_LIRGenerator_ppc.cpp:719:10: error: enumeration value 'FIRST_ID' not handled in switch [-Werror=switch]
>
> Could we get rid of the -Werror=switch at least for now ?
> Maybe it should be disabled for ppc64 / ppc64le / s390x like it has been done for zero ?
>
> 4.13+
> 4.14 ifeq ($(call check-jvm-feature, zero), true)
> 4.15- DISABLED_WARNINGS_gcc += return-type
> 4.16+ DISABLED_WARNINGS_gcc += return-type switch
> 4.17 endif
>
>
> Regarding the unrecognized command line options , I suggest to still support older gcc versions;
> what would be the minimal gcc version that supports 8211029 ?
>
> Best regards, Matthias
>
More information about the build-dev
mailing list