From 6483010d92be7f6e1e0a268d1ca4b5fc4353c70e Mon Sep 17 00:00:00 2001 From: Daniel McGregor Date: Tue, 21 Jun 2016 15:07:07 -0600 Subject: icedtea7-native: make GCC 6 happy 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 Signed-off-by: Dan McGregor Signed-off-by: Otavio Salvador --- 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 -- cgit v1.2.3-54-g00ecf