0966be01fc
gmtime_r() has been in the minimal libc for years, however it was not added to expcetions due to an overlook. In order to do this however, it has to be moved first to the common libc area, so that it's available to any libc that may not implement it. Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
105 lines
3.3 KiB
Plaintext
105 lines
3.3 KiB
Plaintext
# Copyright (c) 2016 Intel Corporation
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
if MINIMAL_LIBC
|
|
|
|
config MINIMAL_LIBC_NON_REENTRANT_FUNCTIONS
|
|
bool "Non-reentrant functions"
|
|
default y if !USERSPACE
|
|
select NEED_LIBC_MEM_PARTITION
|
|
help
|
|
Enable non-reentrant functions that make use of the globals; e.g.
|
|
rand() and gmtime(). The globals must be put into a dedicated C
|
|
library memory partition when CONFIG_USERSPACE=y, and enabling this
|
|
option may require an additional memory protection region.
|
|
|
|
config MINIMAL_LIBC_MALLOC
|
|
bool "[DEPRECATED] Minimal libc malloc implementation"
|
|
default y
|
|
imply COMMON_LIBC_MALLOC
|
|
help
|
|
[DEPRECATED] Use COMMON_LIBC_MALLOC
|
|
|
|
Enable the minimal libc's implementation of malloc, free, and realloc.
|
|
Disable if you wish to provide your own implementations of these functions.
|
|
|
|
config MINIMAL_LIBC_MALLOC_ARENA_SIZE
|
|
int "[DEPRECATED] Size of the minimal libc malloc arena"
|
|
default -2
|
|
depends on COMMON_LIBC_MALLOC
|
|
help
|
|
[DEPRECATED] Use COMMON_LIBC_MALLOC_ARENA_SIZE
|
|
|
|
Indicate the size in bytes of the memory arena used for common C
|
|
library malloc() implementation when using the minimal C library.
|
|
|
|
If set to -2, then the value of COMMON_LIBC_MALLOC_ARENA_SIZE
|
|
will be used.
|
|
|
|
config MINIMAL_LIBC_CALLOC
|
|
bool "[DEPRECATED] Minimal libc trivial calloc implementation"
|
|
default y
|
|
help
|
|
[DEPRECATED] Use COMMON_LIBC_CALLOC
|
|
|
|
Enable the minimal libc's trivial implementation of calloc, which
|
|
forwards to malloc and memset.
|
|
|
|
config MINIMAL_LIBC_REALLOCARRAY
|
|
bool "[DEPRECATED] Minimal libc trivial reallocarray implementation"
|
|
default y
|
|
help
|
|
[DEPRECATED] Use COMMON_LIBC_REALLOCARRAY
|
|
|
|
Enable the minimal libc's trivial implementation of reallocarray, which
|
|
forwards to realloc.
|
|
|
|
config MINIMAL_LIBC_LL_PRINTF
|
|
bool "Build with minimal libc long long printf" if !64BIT
|
|
default y if 64BIT
|
|
help
|
|
Build with long long printf enabled. This will increase the size of
|
|
the image.
|
|
|
|
config MINIMAL_LIBC_OPTIMIZE_STRING_FOR_SIZE
|
|
bool "Use size optimized string functions"
|
|
default y if SIZE_OPTIMIZATIONS
|
|
help
|
|
Enable smaller but potentially slower implementations of memcpy and
|
|
memset. On the Cortex-M0+ this reduces the total code size by 120 bytes.
|
|
|
|
config MINIMAL_LIBC_RAND
|
|
bool "Rand and srand functions"
|
|
help
|
|
Enable rand_r() for the minimal libc.
|
|
|
|
In order to make use of the non-reentrant rand() and srand(), it is
|
|
necessary to set CONFIG_MINIMAL_LIBC_NON_REENTRANT_FUNCTIONS=y.
|
|
|
|
config MINIMAL_LIBC_TIME
|
|
bool "Time functions"
|
|
select COMMON_LIBC_TIME if POSIX_CLOCK
|
|
select COMMON_LIBC_GMTIME_R
|
|
default y
|
|
help
|
|
Enable time() and gmtime_r() for the minimal libc.
|
|
|
|
time() requires CONFIG_POSIX_CLOCK=y because it relies on the POSIX
|
|
clock_gettime() function.
|
|
|
|
In order to make use of the non-reentrant gmtime(), it is necessary
|
|
to set CONFIG_MINIMAL_LIBC_NON_REENTRANT_FUNCTIONS=y.
|
|
|
|
config MINIMAL_LIBC_STRING_ERROR_TABLE
|
|
bool "String error table for strerror() and strerror_r()"
|
|
help
|
|
Select this option to ensure that streror(), strerror_r()
|
|
produce strings corresponding to the descriptions in errno.h.
|
|
|
|
The string error table can add ~2kiB to ROM. As such, it is
|
|
disabled by default. In this case, strerror() and strerror_r()
|
|
symbols are still present, but the functions produce an empty
|
|
string.
|
|
|
|
endif # MINIMAL_LIBC
|