From 929e027500188ee1857b41c7b652ea0cdbc28b1d Mon Sep 17 00:00:00 2001 From: Bryan Hundven Date: Wed, 13 Jan 2016 06:22:18 -0800 Subject: [PATCH] newlib: add option to enable nano malloc Signed-off-by: Bryan Hundven --- config/libc/newlib.in.2 | 11 +++++++++++ scripts/build/libc/newlib.sh | 3 +++ 2 files changed, 14 insertions(+) diff --git a/config/libc/newlib.in.2 b/config/libc/newlib.in.2 index b16b23a8..ed355668 100644 --- a/config/libc/newlib.in.2 +++ b/config/libc/newlib.in.2 @@ -44,6 +44,17 @@ config LIBC_NEWLIB_ENABLE_TARGET_OPTSPACE This will compile newlib with -Os. +config LIBC_NEWLIB_NANO_MALLOC + bool + prompt "Enable Nano Malloc" + depends on LIBC_NEWLIB_2_1_or_later + help + NEWLIB has two implementations of malloc family's functions, one in + `mallocr.c' and the other one in `nano-mallocr.c'. This options + enables the nano-malloc implementation, which is for small systems + with very limited memory. Note that this implementation does not + support `--enable-malloc-debugging' any more. + config LIBC_NEWLIB_EXTRA_CONFIG_ARRAY string prompt "Extra config for newlib" diff --git a/scripts/build/libc/newlib.sh b/scripts/build/libc/newlib.sh index 641ba953..1b0737e1 100644 --- a/scripts/build/libc/newlib.sh +++ b/scripts/build/libc/newlib.sh @@ -96,6 +96,9 @@ do_libc() { else newlib_opts+=( "--enable-newlib-supplied-syscalls" ) fi + if [ "${CT_LIBC_NEWLIB_NANO_MALLOC}" = "y" ]; then + newlib_opts+=( "--enable-newlib-nano-malloc" ) + fi [ "${CT_LIBC_NEWLIB_ENABLE_TARGET_OPTSPACE}" = "y" ] && newlib_opts+=("--enable-target-optspace")