From 8c67544e7dc09a8d6e0663877bede5302bff1639 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Thu, 30 Jul 2020 16:26:34 -0700 Subject: [PATCH] picolibc: USE_MODULE += printf_float for float printf/scanf code [v2] This makes RIOT use the integer-only printf/scanf code by default and includes a new make parameter to select the full floating point version. This saves about 6kB of text space when building hello-world for the microbit board. Signed-off-by: Keith Packard ---- v2: Use USEMODULE=printf_float instead of separate parameter --- makefiles/libc/picolibc.mk | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/makefiles/libc/picolibc.mk b/makefiles/libc/picolibc.mk index c7d1ba8b62..94263d082b 100644 --- a/makefiles/libc/picolibc.mk +++ b/makefiles/libc/picolibc.mk @@ -16,6 +16,10 @@ ifeq (1,$(USE_PICOLIBC)) LINKFLAGS += -Wl,--defsym=__heap_end=_eheap LINKFLAGS += -Wl,--defsym=__heap_start=_sheap CFLAGS += -specs=picolibc.specs + ifeq (,$(filter printf_float scanf_float,$(USEMODULE))) + CFLAGS += -DPICOLIBC_INTEGER_PRINTF_SCANF + LINKFLAGS += -DPICOLIBC_INTEGER_PRINTF_SCANF + endif endif LINKFLAGS += -lc