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