[OE-core] [PATCH] uninative: Add a fix for icu-native to use the correct ABI

Richard Purdie richard.purdie at linuxfoundation.org
Sat Mar 12 08:57:07 UTC 2016


If no -std= option is passed to icu's configure, it defaults to CXX11.
This isn't what we want for uninative, so pass an explicit option
which selects an older ABI on newer versions of g++.

This avoids the __cxa_bad_array_new_length at CXXABI_1.3.8 symbol
being used.

Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>

diff --git a/meta/classes/uninative.bbclass b/meta/classes/uninative.bbclass
index 810e105..d3208e7 100644
--- a/meta/classes/uninative.bbclass
+++ b/meta/classes/uninative.bbclass
@@ -13,6 +13,11 @@ UNINATIVE_DLDIR ?= "${DL_DIR}/uninative/"
 # on the host system.
 BUILD_CXXFLAGS_append = " -D_GLIBCXX_USE_CXX11_ABI=0"
 
+#
+# icu configure defaults to CXX11 if no -std= option is passed in CXXFLAGS
+# therefore pass one
+BUILD_CXXFLAGS_append_pn-icu-native = " -std=c++98"
+
 addhandler uninative_event_fetchloader
 uninative_event_fetchloader[eventmask] = "bb.event.BuildStarted"
 





More information about the Openembedded-core mailing list