build issues after 8211029 on gcc4.8 and our porting Linux platforms (ppc64(le)/ s390x)
Baesken, Matthias
matthias.baesken at sap.com
Tue Sep 25 14:50:30 UTC 2018
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