[oe] [meta-java][PATCH v2] icedtea7-native: make GCC 6 happy

Dan McGregor danismostlikely at gmail.com
Tue Jun 21 21:07:07 UTC 2016


From: Daniel McGregor <daniel.mcgregor at vecima.com>

GCC 6 sets the default C++ standard to C++14 and introduces dead store
elimination by default. icedtea7 is not ready for either of these
changes, so just set the C++ standard back to gnu++98 and disable dead
store elimination.

Signed-off-by: Daniel McGregor <daniel.mcgregor at vecima.com>
Signed-off-by: Dan McGregor <dan.mcgregor at usask.ca>
---
 recipes-core/icedtea/icedtea7-native.inc | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/recipes-core/icedtea/icedtea7-native.inc b/recipes-core/icedtea/icedtea7-native.inc
index d624b7a..3344acb 100644
--- a/recipes-core/icedtea/icedtea7-native.inc
+++ b/recipes-core/icedtea/icedtea7-native.inc
@@ -17,6 +17,13 @@ PACKAGECONFIG[x11] = ",--disable-headful,libx11-native xproto-native libxt-nativ
 OEMAKE_BUILD_HEADLESS_ONLY = "${@bb.utils.contains('PACKAGECONFIG', 'x11', '', 'BUILD_HEADLESS_ONLY=1', d)}"
 CFLAGS_append = "${@bb.utils.contains('PACKAGECONFIG', 'x11', '', ' -DHEADLESS=true', d)}"
 
+# Disable dead store elimination and set C++ standard to C++98.
+# There are dead stores in the JVM that would be pretty hard to
+# remove, so disable the optimisation in the compiler.
+CFLAGS_append = " -fno-tree-dse"
+CXXFLAGS_append = " -fno-tree-dse"
+CXX_append = " -std=gnu++98"
+
 inherit native java autotools pkgconfig
 
 JAVA_HOME[unexport] = "1"
@@ -153,6 +160,8 @@ do_configure_append() {
 	for F in openjdk/hotspot/make/linux/makefiles/gcc.make openjdk/hotspot/agent/src/os/linux/Makefile ;
 	do
 		sed -i \
+			-e"s|HOST_GCC = gcc$|HOST_GCC = ${CC}|" \
+			-e"s|HOST_CPP = g++$|HOST_CPP = ${CXX}|" \
 			-e"s|gcc\$(GCC_SUFFIX)|${CC}|" \
 			-e"s|g++\$(GCC_SUFFIX)|${CXX}|" \
 			$F
-- 
2.9.0




More information about the Openembedded-devel mailing list