[oe] [meta-java][PATCH v3] icedtea: disable error format-overflow for gcc 7

Andreas Obergschwandtner andreas.obergschwandtner at skidata.com
Wed Aug 22 13:41:48 UTC 2018


As no patch has been found in debian and hotspot repo for this issue we
just disable this warning which was introduced with GCC 7.

Also known as: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=881824

Signed-off-by: Andreas Obergschwandtner <andreas.obergschwandtner at skidata.com>
---
Changes v3:
   + fixed the format-overflow warnings by patching affected files
     in openjdk-7-hotspot.
Changes v2:
   + adapted by Richard Leitner to use the openjdk-build-helper class from
     André Draszik instead of our own in the java class.
     (Therefore it now depends on the "prepare for openjdk-8 build infra re-use"
     series from André)

 ...-hotspot-handle-gcc7-format-overflow.patch | 41 +++++++++++++++++++
 .../icedtea/openjdk-7-release-03b147.inc      |  2 +
 2 files changed, 43 insertions(+)
 create mode 100644 recipes-core/icedtea/openjdk-7-03b147/icedtea-hotspot-handle-gcc7-format-overflow.patch

diff --git a/recipes-core/icedtea/openjdk-7-03b147/icedtea-hotspot-handle-gcc7-format-overflow.patch b/recipes-core/icedtea/openjdk-7-03b147/icedtea-hotspot-handle-gcc7-format-overflow.patch
new file mode 100644
index 0000000..27d41dd
--- /dev/null
+++ b/recipes-core/icedtea/openjdk-7-03b147/icedtea-hotspot-handle-gcc7-format-overflow.patch
@@ -0,0 +1,41 @@
+# HG changeset patch
+# User Andreas Obergschwandtner <andreas.obergschwandtner at skidata.com>
+# Date 1534928526 -7200
+#      Wed Aug 22 11:02:06 2018 +0200
+# Node ID 96d06a5c27f84a4d48cff0d927cf377866db894e
+# Parent  a456d0771ba0f6604b172f05f0b594178f7cc49c
+Handle format-overflow warning for GCC >= 7
+
+diff --git openjdk/hotspot/src/share/vm/adlc/output_c.cpp openjdk/hotspot/src/share/vm/adlc/output_c.cpp
+--- openjdk/hotspot/src/share/vm/adlc/output_c.cpp
++++ openjdk/hotspot/src/share/vm/adlc/output_c.cpp
+@@ -462,9 +462,11 @@
+   for (i = maxcycleused; i > 0; i /= 10)
+     cycledigit++;
+ 
+-  int maskdigit = 0;
+-  for (i = rescount; i > 0; i /= 10)
++  int maskdigit = 1;
++  for (i = rescount / 10; i > 0; i /= 10)
+     maskdigit++;
++  if (maskdigit > 10)
++    maskdigit = 10;
+ 
+   static const char * pipeline_use_cycle_mask = "Pipeline_Use_Cycle_Mask";
+   static const char * pipeline_use_element    = "Pipeline_Use_Element";
+diff --git openjdk/hotspot/src/share/vm/code/dependencies.cpp openjdk/hotspot/src/share/vm/code/dependencies.cpp
+--- openjdk/hotspot/src/share/vm/code/dependencies.cpp
++++ openjdk/hotspot/src/share/vm/code/dependencies.cpp
+@@ -429,6 +429,12 @@
+   Dependencies::write_dependency_to(log, dept, nargs, ciargs, witness);
+ }
+ 
++// disable format overflow checking for GCC versions > 7 because the lead to
++// a false positive in this case.
++// See https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html
++#if defined (__GNUC__) && __GNUC__ >= 7
++#pragma GCC diagnostic ignored "-Wformat-overflow"
++#endif
+ void Dependencies::write_dependency_to(CompileLog* log,
+                                        DepType dept,
+                                        int nargs, ciObject* args[],
diff --git a/recipes-core/icedtea/openjdk-7-release-03b147.inc b/recipes-core/icedtea/openjdk-7-release-03b147.inc
index fe18ee5..484f124 100644
--- a/recipes-core/icedtea/openjdk-7-release-03b147.inc
+++ b/recipes-core/icedtea/openjdk-7-release-03b147.inc
@@ -89,6 +89,7 @@ OPENJDK_PATCHES = " \
 	file://icedtea-x11_extension_cleanup.patch;apply=no \
 	file://icedtea-CVE-2014-1876-unpack.patch;apply=no \
 	file://icedtea-jdk-unzip.patch;apply=no \
+	file://icedtea-hotspot-handle-gcc7-format-overflow.patch;apply=no \
         "
 
 OPENJDK_HEADLESS_PATCHES = " \
@@ -111,6 +112,7 @@ export DISTRIBUTION_PATCHES = " \
 	patches/icedtea-x11_extension_cleanup.patch \
 	patches/icedtea-CVE-2014-1876-unpack.patch \
 	patches/icedtea-jdk-unzip.patch \
+	patches/icedtea-hotspot-handle-gcc7-format-overflow.patch \
 	${CLEAN_X11_DISTRIBUTION_PATCH} \
         "
 
-- 
2.17.1




More information about the Openembedded-devel mailing list