> 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
signature.asc
Description: Message signed with OpenPGP using GPGMail
-- _______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
