> On Jan 26, 2016, at 12:10 AM, Andre McCurdy <[email protected]> wrote:
> 
> Experimental hack, not expected to be merged.
> 
> Without this, the http://www.cplusplus.com/reference/string/string/append/
> example fails to build with -std=c++11 and it's not clear why (it's as if we
> build a version of libstdc++ which supports only the old ABI but with headers
> which try to use the new ABI when compiled with -std=c++11 ?). As a 
> workaround,
> force libstdc++ to provide, and default to using, the old ABI in all cases.
> 
> See also:
> 
>  https://gcc.gnu.org/onlinedocs/libstdc++/manual/configure.html
>  https://mail.gnome.org/archives/gtkmm-list/2015-June/msg00026.html
>  https://wiki.debian.org/GCC5
> 
> Signed-off-by: Andre McCurdy <[email protected]>
> ---
> meta/recipes-devtools/gcc/gcc-runtime.inc | 13 +++++++++++++
> 1 file changed, 13 insertions(+)
> 
> diff --git a/meta/recipes-devtools/gcc/gcc-runtime.inc 
> b/meta/recipes-devtools/gcc/gcc-runtime.inc
> index f20d298..3a476cd 100644
> --- a/meta/recipes-devtools/gcc/gcc-runtime.inc
> +++ b/meta/recipes-devtools/gcc/gcc-runtime.inc
> @@ -10,6 +10,19 @@ EXTRA_OECONF_PATHS = "\
> 
> EXTRA_OECONF_append_linuxstdbase = " --enable-clocale=gnu"
> 
> +# gcc-runtime.inc: force libstdc++ to always use gcc4 compatible ABI
> +# Experimental hack. Without this, the 
> http://www.cplusplus.com/reference/string/string/append/
> +# example fails to build with -std=c++11 and it's not clear why (it's as if 
> we
> +# build a version of libstdc++ which supports only the old ABI but with 
> headers
> +# which try to use the new ABI when compiled with -std=c++11 ?). As a 
> workaround,
> +# force libstdc++ to provide, and default to using, the old ABI in all cases.
> +# See also:
> +# https://gcc.gnu.org/onlinedocs/libstdc++/manual/configure.html
> +# https://mail.gnome.org/archives/gtkmm-list/2015-June/msg00026.html
> +# https://wiki.debian.org/GCC5
> +#
> +EXTRA_OECONF_append = " --disable-libstdcxx-dual-abi 
> --with-default-libstdcxx-abi=gcc4-compatibleā€

This change while makes it work compatible to older libstdc++ ABI, we should 
make the defaults to be
forward looking. I would rather keep --with-default-libstdcxx-abi=c++11 since 
gcc6 will switch to newer
c++ std as default. If we revert like you suggest, we will be up for more work 
in gcc6 time.

please define _GLIBCXX_USE_CXX11_ABI=0 for your app, where you see the problem.

> +

> RUNTIMETARGET = "libssp libstdc++-v3 libgomp libatomic \
>     ${@bb.utils.contains_any('FORTRAN', [',fortran',',f77'], 'libquadmath', 
> '', d)} \
> "
> --
> 1.9.1
> 
> --
> _______________________________________________
> Openembedded-core mailing list
> [email protected]
> http://lists.openembedded.org/mailman/listinfo/openembedded-core

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

-- 
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to