logging: Use vprintk for string formatting by default
Previously, _prf function was used when present and _vprintk was used otherwise. _prf supports reacher formatting but at cost of 3k flash and >250 bytes on stack. Stack usage then depended on which function was used and that was causing troubles when trimming stack sizes. Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
This commit is contained in:
parent
73efd78432
commit
987586d914
2 changed files with 8 additions and 7 deletions
|
@ -212,13 +212,14 @@ config LOG_IMMEDIATE
|
||||||
flawlessly in that mode because one log operation can be interrupted
|
flawlessly in that mode because one log operation can be interrupted
|
||||||
by another one in the higher priority context.
|
by another one in the higher priority context.
|
||||||
|
|
||||||
config LOG_DISABLE_FANCY_OUTPUT_FORMATTING
|
config LOG_ENABLE_FANCY_OUTPUT_FORMATTING
|
||||||
depends on !NEWLIB_LIBC && !ARCH_POSIX
|
depends on !NEWLIB_LIBC && !ARCH_POSIX
|
||||||
bool "Use vprintk() instead of minimal libc _prf()"
|
bool "Format strings with minimal libc _prf() instead of _vprintk()"
|
||||||
help
|
help
|
||||||
Selecting this option will choose vprintk for handling format
|
Selecting this option will choose more robust _prf() function from
|
||||||
strings instead of the more robust _prf() function in minimal
|
minimal libc for handling format strings instead of the _vprintk()
|
||||||
libc. Choosing this option can save around ~3K flash.
|
function. Choosing this option adds around ~3K flash and ~250 bytes on
|
||||||
|
stack.
|
||||||
|
|
||||||
if !LOG_IMMEDIATE
|
if !LOG_IMMEDIATE
|
||||||
|
|
||||||
|
|
|
@ -115,7 +115,7 @@ static int print_formatted(const struct log_output *log_output,
|
||||||
|
|
||||||
va_start(args, fmt);
|
va_start(args, fmt);
|
||||||
#if !defined(CONFIG_NEWLIB_LIBC) && !defined(CONFIG_ARCH_POSIX) && \
|
#if !defined(CONFIG_NEWLIB_LIBC) && !defined(CONFIG_ARCH_POSIX) && \
|
||||||
!defined(CONFIG_LOG_DISABLE_FANCY_OUTPUT_FORMATTING)
|
defined(CONFIG_LOG_ENABLE_FANCY_OUTPUT_FORMATTING)
|
||||||
length = _prf(out_func, (void *)log_output, (char *)fmt, args);
|
length = _prf(out_func, (void *)log_output, (char *)fmt, args);
|
||||||
#else
|
#else
|
||||||
_vprintk(out_func, (void *)log_output, fmt, args);
|
_vprintk(out_func, (void *)log_output, fmt, args);
|
||||||
|
@ -553,7 +553,7 @@ void log_output_string(const struct log_output *log_output,
|
||||||
}
|
}
|
||||||
|
|
||||||
#if !defined(CONFIG_NEWLIB_LIBC) && !defined(CONFIG_ARCH_POSIX) && \
|
#if !defined(CONFIG_NEWLIB_LIBC) && !defined(CONFIG_ARCH_POSIX) && \
|
||||||
!defined(CONFIG_LOG_DISABLE_FANCY_OUTPUT_FORMATTING)
|
defined(CONFIG_LOG_ENABLE_FANCY_OUTPUT_FORMATTING)
|
||||||
length = _prf(out_func, (void *)log_output, (char *)fmt, ap);
|
length = _prf(out_func, (void *)log_output, (char *)fmt, ap);
|
||||||
#else
|
#else
|
||||||
_vprintk(out_func, (void *)log_output, fmt, ap);
|
_vprintk(out_func, (void *)log_output, fmt, ap);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue