From 18af9ecef6e247519d8a1573e32208bb69cf81fe Mon Sep 17 00:00:00 2001 From: Alejandro Enedino Hernandez Samaniego Date: Sat, 18 Jan 2020 19:01:59 -0800 Subject: newlib: Enable building libstdc++ for newlib based toolchains Some baremetal applications might require support from libstdc++ On newlib based toolchains, libstdc++ can be built as a static library that applications can then link against it. Pass libsdtc++-(static)dev to LIBC_DEPENDENCIES allowing the library to be present for cross compilation as well as on sdk builds. Signed-off-by: Alejandro Enedino Hernandez Samaniego Signed-off-by: Richard Purdie --- meta/recipes-devtools/gcc/gcc-runtime.inc | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'meta/recipes-devtools/gcc/gcc-runtime.inc') diff --git a/meta/recipes-devtools/gcc/gcc-runtime.inc b/meta/recipes-devtools/gcc/gcc-runtime.inc index d3f8ae8b9b..b2c5d43bd4 100644 --- a/meta/recipes-devtools/gcc/gcc-runtime.inc +++ b/meta/recipes-devtools/gcc/gcc-runtime.inc @@ -16,10 +16,14 @@ EXTRA_OECONF_PATHS = "\ EXTRA_OECONF_append_linuxstdbase = " --enable-clocale=gnu" EXTRA_OECONF_append = " --cache-file=${B}/config.cache" +EXTRA_OECONF_append_libc-newlib = " --with-newlib" # Disable ifuncs for libatomic on arm conflicts -march/-mcpu EXTRA_OECONF_append_arm = " libat_cv_have_ifunc=no " +# Newlib does not support symbol versioning on libsdtcc++ +SYMVERS_CONF_libc-newlib = "" + # Building with thumb enabled on armv6t fails ARM_INSTRUCTION_SET_armv6 = "arm" @@ -36,6 +40,8 @@ RUNTIMELIBSSP_mingw32 ?= "libssp" RUNTIMETARGET = "${RUNTIMELIBSSP} libstdc++-v3 libgomp libatomic ${RUNTIMELIBITM} \ ${@bb.utils.contains_any('FORTRAN', [',fortran',',f77'], 'libquadmath', '', d)} \ " +# Only build libstdc++ for newlib +RUNTIMETARGET_libc-newlib = "libstdc++-v3" # libiberty # libmudflap -- cgit 1.2.3-korg