aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config/comp_libs/picolibc.in8
-rw-r--r--scripts/build/companion_libs/340-picolibc.sh3
2 files changed, 11 insertions, 0 deletions
diff --git a/config/comp_libs/picolibc.in b/config/comp_libs/picolibc.in
index 4b283aec..c978c35b 100644
--- a/config/comp_libs/picolibc.in
+++ b/config/comp_libs/picolibc.in
@@ -27,6 +27,14 @@ config LIBC_PICOLIBC_GCC_LIBSTDCXX
the picolibc companion library. This version is linked when
"--specs=picolibcpp.specs" is specified.
+config LIBC_PICOLIBC_GCC_LIBSTDCXX_TARGET_CXXFLAGS
+ string
+ prompt "Target CXXFLAGS for libstdc++ picolibc variant"
+ default ""
+ help
+ Used to add extra CXXFLAGS when compiling the target libstdc++
+ picolibc library (e.g. -fno-exceptions).
+
comment "Configuration for picolibc can be found under"
comment "* -> C-library"
comment "* -> picolibc"
diff --git a/scripts/build/companion_libs/340-picolibc.sh b/scripts/build/companion_libs/340-picolibc.sh
index 35ee0eaa..94bdaad9 100644
--- a/scripts/build/companion_libs/340-picolibc.sh
+++ b/scripts/build/companion_libs/340-picolibc.sh
@@ -157,6 +157,9 @@ do_cc_libstdcxx_picolibc()
if [ "${CT_LIBC_PICOLIBC_ENABLE_TARGET_OPTSPACE}" = "y" ]; then
final_opts+=( "enable_optspace=yes" )
fi
+ if [ -n "${CT_LIBC_PICOLIBC_GCC_LIBSTDCXX_TARGET_CXXFLAGS}" ]; then
+ final_opts+=( "extra_cxxflags_for_target=${CT_LIBC_PICOLIBC_GCC_LIBSTDCXX_TARGET_CXXFLAGS}" )
+ fi
if [ "${CT_BARE_METAL}" = "y" ]; then
final_opts+=( "mode=baremetal" )