8e1a042eef
Summary: 1.Modify the conditions for entering different include header files 2.Added pre-definition for _Atomic _Bool when it is missing 3.Added nuttx for stdatomic implementation. When toolchain does not support atomic, use lib/stdatomic to implement it Signed-off-by: chenrun1 <chenrun1@xiaomi.com>
810 lines
28 KiB
Plaintext
810 lines
28 KiB
Plaintext
#
|
|
# For a description of the syntax of this configuration file,
|
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
|
#
|
|
|
|
# These are library functions that may be overridden by architecture-
|
|
# specific implementations. Not all architectures support implementations
|
|
# for every library function.
|
|
|
|
menu "Architecture-Specific Support"
|
|
|
|
config ARCH_LOWPUTC
|
|
bool "Low-level console output"
|
|
default y
|
|
---help---
|
|
architecture supports low-level, boot time console output
|
|
|
|
config ARCH_ROMGETC
|
|
bool "Support for ROM string access"
|
|
default n
|
|
---help---
|
|
In Harvard architectures, data accesses and instruction accesses
|
|
occur on different buses, perhaps concurrently. All data accesses
|
|
are performed on the data bus unless special machine instructions
|
|
are used to read data from the instruction address space. Also, in
|
|
the typical MCU, the available SRAM data memory is much smaller that
|
|
the non-volatile FLASH instruction memory. So if the application
|
|
requires many constant strings, the only practical solution may be
|
|
to store those constant strings in FLASH memory where they can only
|
|
be accessed using architecture-specific machine instructions.
|
|
|
|
If ARCH_ROMGETC is defined, then the architecture logic must export
|
|
the function up_romgetc(). up_romgetc() will simply read one byte
|
|
of data from the instruction space.
|
|
|
|
If ARCH_ROMGETC is selected, certain C stdio functions are effected: (1)
|
|
All format strings in printf, fprintf, sprintf, etc. are assumed to lie
|
|
in FLASH (string arguments for %s are still assumed to reside in SRAM).
|
|
And (2), the string argument to puts and fputs is assumed to reside
|
|
in FLASH. Clearly, these assumptions may have to modified for the
|
|
particular needs of your environment. There is no "one-size-fits-all"
|
|
solution for this problem.
|
|
|
|
# Default settings for C library functions that may be replaced with
|
|
# architecture-specific versions.
|
|
|
|
config LIBC_ARCH_MEMCHR
|
|
bool
|
|
default n
|
|
|
|
config LIBC_ARCH_MEMCPY
|
|
bool
|
|
default n
|
|
|
|
config LIBC_ARCH_MEMCMP
|
|
bool
|
|
default n
|
|
|
|
config LIBC_ARCH_MEMMOVE
|
|
bool
|
|
default n
|
|
|
|
config LIBC_ARCH_MEMSET
|
|
bool
|
|
default n
|
|
|
|
config LIBC_ARCH_STRCHR
|
|
bool
|
|
default n
|
|
|
|
config LIBC_ARCH_STRCHRNUL
|
|
bool
|
|
default n
|
|
|
|
config LIBC_ARCH_STRCMP
|
|
bool
|
|
default n
|
|
|
|
config LIBC_ARCH_STRNCMP
|
|
bool
|
|
default n
|
|
|
|
config LIBC_ARCH_STRCPY
|
|
bool
|
|
default n
|
|
|
|
config LIBC_ARCH_STRLCAT
|
|
bool
|
|
default n
|
|
|
|
config LIBC_ARCH_STRLCPY
|
|
bool
|
|
default n
|
|
|
|
config LIBC_ARCH_STRNCPY
|
|
bool
|
|
default n
|
|
|
|
config LIBC_ARCH_STRLEN
|
|
bool
|
|
default n
|
|
|
|
config LIBC_ARCH_STRNLEN
|
|
bool
|
|
default n
|
|
|
|
config LIBC_ARCH_STRRCHR
|
|
bool
|
|
default n
|
|
|
|
config LIBC_ARCH_STRCAT
|
|
bool
|
|
default n
|
|
|
|
config LIBC_ARCH_STRNCAT
|
|
bool
|
|
default n
|
|
|
|
config LIBC_ARCH_STRCASECMP
|
|
bool
|
|
default n
|
|
|
|
config LIBC_ARCH_STRNCASECMP
|
|
bool
|
|
default n
|
|
|
|
config LIBC_ARCH_STPCPY
|
|
bool
|
|
default n
|
|
|
|
config LIBC_ARCH_STPNCPY
|
|
bool
|
|
default n
|
|
|
|
config LIBC_ARCH_ELF
|
|
bool
|
|
default n
|
|
|
|
config LIBC_ARCH_ELF_64BIT
|
|
bool
|
|
default n
|
|
depends on LIBC_ARCH_ELF
|
|
|
|
config LIBC_PREVENT_STRING
|
|
bool
|
|
default n
|
|
select LIBC_PREVENT_STRING_KERNEL
|
|
select LIBC_PREVENT_STRING_USER
|
|
|
|
config LIBC_PREVENT_STRING_KERNEL
|
|
bool
|
|
default n
|
|
select LIBC_PREVENT_MEMCHR_KERNEL
|
|
select LIBC_PREVENT_MEMCMP_KERNEL
|
|
select LIBC_PREVENT_MEMCPY_KERNEL
|
|
select LIBC_PREVENT_MEMMOVE_KERNEL
|
|
select LIBC_PREVENT_MEMSET_KERNEL
|
|
select LIBC_PREVENT_STRCAT_KERNEL
|
|
select LIBC_PREVENT_STRCASECMP_KERNEL
|
|
select LIBC_PREVENT_STRCHR_KERNEL
|
|
select LIBC_PREVENT_STRCHRNUL_KERNEL
|
|
select LIBC_PREVENT_STRCMP_KERNEL
|
|
select LIBC_PREVENT_STRCPY_KERNEL
|
|
select LIBC_PREVENT_STRLCAT_KERNEL
|
|
select LIBC_PREVENT_STRLEN_KERNEL
|
|
select LIBC_PREVENT_STRLCPY_KERNEL
|
|
select LIBC_PREVENT_STRNCASECMP_KERNEL
|
|
select LIBC_PREVENT_STRNCAT_KERNEL
|
|
select LIBC_PREVENT_STRNLEN_KERNEL
|
|
select LIBC_PREVENT_STRNCMP_KERNEL
|
|
select LIBC_PREVENT_STRNCPY_KERNEL
|
|
select LIBC_PREVENT_STRRCHR_KERNEL
|
|
|
|
config LIBC_PREVENT_STRING_USER
|
|
bool
|
|
default n
|
|
select LIBC_PREVENT_MEMCHR_USER
|
|
select LIBC_PREVENT_MEMCMP_USER
|
|
select LIBC_PREVENT_MEMCPY_USER
|
|
select LIBC_PREVENT_MEMMOVE_USER
|
|
select LIBC_PREVENT_MEMSET_USER
|
|
select LIBC_PREVENT_STRCAT_USER
|
|
select LIBC_PREVENT_STRCASECMP_USER
|
|
select LIBC_PREVENT_STRCHR_USER
|
|
select LIBC_PREVENT_STRCHRNUL_USER
|
|
select LIBC_PREVENT_STRCMP_USER
|
|
select LIBC_PREVENT_STRCPY_USER
|
|
select LIBC_PREVENT_STRLCAT_USER
|
|
select LIBC_PREVENT_STRLEN_USER
|
|
select LIBC_PREVENT_STRLCPY_USER
|
|
select LIBC_PREVENT_STRNCASECMP_USER
|
|
select LIBC_PREVENT_STRNCAT_USER
|
|
select LIBC_PREVENT_STRNLEN_USER
|
|
select LIBC_PREVENT_STRNCMP_USER
|
|
select LIBC_PREVENT_STRNCPY_USER
|
|
select LIBC_PREVENT_STRRCHR_USER
|
|
|
|
config LIBC_PREVENT_MEMCHR
|
|
bool
|
|
default n
|
|
select LIBC_PREVENT_MEMCHR_KERNEL
|
|
select LIBC_PREVENT_MEMCHR_USER
|
|
|
|
config LIBC_PREVENT_MEMCHR_KERNEL
|
|
bool
|
|
default n
|
|
---help---
|
|
Prevent any implementation of the libc memchr from being built and linked
|
|
in the kernel, including NuttX's software-defined version of the libc memchr
|
|
or any other architecture-specific version of it. The ROM-defined
|
|
version should be linked instead. This option is particularly useful
|
|
when it's required that the ROM-defined libc memchr to be used by the kernel
|
|
(for accessing some driver resource, for instance) but the userspace
|
|
is forbidden to use the same ROM-defined versions. In this case,
|
|
NuttX's software-defined version of the libc memchr or arch-specific
|
|
assembly version is built instead.
|
|
|
|
config LIBC_PREVENT_MEMCHR_USER
|
|
bool
|
|
default n
|
|
---help---
|
|
Prevent any implementation of the libc memchr from being built and linked
|
|
in the userspace, including NuttX's software-defined version of the
|
|
libc memchr or any other architecture-specific version of it. A ROM-defined
|
|
version of the libc memchr may be linked to the userspace by the linker.
|
|
|
|
config LIBC_PREVENT_MEMCMP
|
|
bool
|
|
default n
|
|
select LIBC_PREVENT_MEMCMP_KERNEL
|
|
select LIBC_PREVENT_MEMCMP_USER
|
|
|
|
config LIBC_PREVENT_MEMCMP_KERNEL
|
|
bool
|
|
default n
|
|
---help---
|
|
Prevent any implementation of the libc memcmp from being built and linked
|
|
in the kernel, including NuttX's software-defined version of the libc memcmp
|
|
or any other architecture-specific version of it. The ROM-defined
|
|
version should be linked instead. This option is particularly useful
|
|
when it's required that the ROM-defined libc to be used by the kernel
|
|
(for accessing some driver resource, for instance) but the userspace
|
|
is forbidden to use the same ROM-defined versions. In this case,
|
|
NuttX's software-defined version of the libc memcmp or arch-specific
|
|
assembly version is built instead.
|
|
|
|
config LIBC_PREVENT_MEMCMP_USER
|
|
bool
|
|
default n
|
|
---help---
|
|
Prevent any implementation of the libc memcmp from being built and linked
|
|
in the userspace, including NuttX's software-defined version of the
|
|
libc memcmp or any other architecture-specific version of it. A ROM-defined
|
|
version of the libc memcmp may be linked to the userspace by the linker.
|
|
|
|
config LIBC_PREVENT_MEMCPY
|
|
bool
|
|
default n
|
|
select LIBC_PREVENT_MEMCPY_KERNEL
|
|
select LIBC_PREVENT_MEMCPY_USER
|
|
|
|
config LIBC_PREVENT_MEMCPY_KERNEL
|
|
bool
|
|
default n
|
|
---help---
|
|
Prevent any implementation of the libc memcpy from being built and linked
|
|
in the kernel, including NuttX's software-defined version of the libc memcpy
|
|
or any other architecture-specific version of it. The ROM-defined
|
|
version should be linked instead. This option is particularly useful
|
|
when it's required that the ROM-defined libc memcpy to be used by the kernel
|
|
(for accessing some driver resource, for instance) but the userspace
|
|
is forbidden to use the same ROM-defined versions. In this case,
|
|
NuttX's software-defined version of the libc memcpy or arch-specific
|
|
assembly version is built instead.
|
|
|
|
config LIBC_PREVENT_MEMCPY_USER
|
|
bool
|
|
default n
|
|
---help---
|
|
Prevent any implementation of the libc memcpy from being built and linked
|
|
in the userspace, including NuttX's software-defined version of the
|
|
libc memcpy or any other architecture-specific version of it. A ROM-defined
|
|
version of the libc memcpy may be linked to the userspace by the linker.
|
|
|
|
config LIBC_PREVENT_MEMMOVE
|
|
bool
|
|
default n
|
|
select LIBC_PREVENT_MEMMOVE_KERNEL
|
|
select LIBC_PREVENT_MEMMOVE_USER
|
|
|
|
config LIBC_PREVENT_MEMMOVE_KERNEL
|
|
bool
|
|
default n
|
|
---help---
|
|
Prevent any implementation of the libc memmove from being built and linked
|
|
in the kernel, including NuttX's software-defined version of the libc memmove
|
|
or any other architecture-specific version of it. The ROM-defined
|
|
version should be linked instead. This option is particularly useful
|
|
when it's required that the ROM-defined libc memmove to be used by the kernel
|
|
(for accessing some driver resource, for instance) but the userspace
|
|
is forbidden to use the same ROM-defined versions. In this case,
|
|
NuttX's software-defined version of the libc memmove or arch-specific
|
|
assembly version is built instead.
|
|
|
|
config LIBC_PREVENT_MEMMOVE_USER
|
|
bool
|
|
default n
|
|
---help---
|
|
Prevent any implementation of the libc memmove from being built and linked
|
|
in the userspace, including NuttX's software-defined version of the
|
|
libc memmove or any other architecture-specific version of it. A ROM-defined
|
|
version of the libc memmove may be linked to the userspace by the linker.
|
|
|
|
config LIBC_PREVENT_MEMSET
|
|
bool
|
|
default n
|
|
select LIBC_PREVENT_MEMSET_KERNEL
|
|
select LIBC_PREVENT_MEMSET_USER
|
|
|
|
config LIBC_PREVENT_MEMSET_KERNEL
|
|
bool
|
|
default n
|
|
---help---
|
|
Prevent any implementation of the libc memset from being built and linked
|
|
in the kernel, including NuttX's software-defined version of the libc memset
|
|
or any other architecture-specific version of it. The ROM-defined
|
|
version should be linked instead. This option is particularly useful
|
|
when it's required that the ROM-defined libc to be used by the kernel
|
|
(for accessing some driver resource, for instance) but the userspace
|
|
is forbidden to use the same ROM-defined versions. In this case,
|
|
NuttX's software-defined version of the libc memset or arch-specific
|
|
assembly version is built instead.
|
|
|
|
config LIBC_PREVENT_MEMSET_USER
|
|
bool
|
|
default n
|
|
---help---
|
|
Prevent any implementation of the libc memset from being built and linked
|
|
in the userspace, including NuttX's software-defined version of the
|
|
libc memset or any other architecture-specific version of it. A ROM-defined
|
|
version of the libc memset may be linked to the userspace by the linker.
|
|
|
|
config LIBC_PREVENT_STRCAT
|
|
bool
|
|
default n
|
|
select LIBC_PREVENT_STRCAT_KERNEL
|
|
select LIBC_PREVENT_STRCAT_USER
|
|
|
|
config LIBC_PREVENT_STRCAT_KERNEL
|
|
bool
|
|
default n
|
|
---help---
|
|
Prevent any implementation of the libc strcat from being built and linked
|
|
in the kernel, including NuttX's software-defined version of the libc strcat
|
|
or any other architecture-specific version of it. The ROM-defined
|
|
version should be linked instead. This option is particularly useful
|
|
when it's required that the ROM-defined libc strcat to be used by the kernel
|
|
(for accessing some driver resource, for instance) but the userspace
|
|
is forbidden to use the same ROM-defined versions. In this case,
|
|
NuttX's software-defined version of the libc strcat or arch-specific
|
|
assembly version is built instead.
|
|
|
|
config LIBC_PREVENT_STRCAT_USER
|
|
bool
|
|
default n
|
|
---help---
|
|
Prevent any implementation of the libc strcat from being built and linked
|
|
in the userspace, including NuttX's software-defined version of the
|
|
libc strcat or any other architecture-specific version of it. A ROM-defined
|
|
version of the libc strcat may be linked to the userspace by the linker.
|
|
|
|
config LIBC_PREVENT_STRCASECMP
|
|
bool
|
|
default n
|
|
select LIBC_PREVENT_STRCASECMP_KERNEL
|
|
select LIBC_PREVENT_STRCASECMP_USER
|
|
|
|
config LIBC_PREVENT_STRCASECMP_KERNEL
|
|
bool
|
|
default n
|
|
---help---
|
|
Prevent any implementation of the libc strcasecmp from being built and linked
|
|
in the kernel, including NuttX's software-defined version of the libc strcasecmp
|
|
or any other architecture-specific version of it. The ROM-defined
|
|
version should be linked instead. This option is particularly useful
|
|
when it's required that the ROM-defined libc strcasecmp to be used by the kernel
|
|
(for accessing some driver resource, for instance) but the userspace
|
|
is forbidden to use the same ROM-defined versions. In this case,
|
|
NuttX's software-defined version of the libc strcasecmp or arch-specific
|
|
assembly version is built instead.
|
|
|
|
config LIBC_PREVENT_STRCASECMP_USER
|
|
bool
|
|
default n
|
|
---help---
|
|
Prevent any implementation of the libc strcasecmp from being built and linked
|
|
in the userspace, including NuttX's software-defined version of the
|
|
libc strcasecmp or any other architecture-specific version of it. A ROM-defined
|
|
version of the libc strcasecmp may be linked to the userspace by the linker.
|
|
|
|
config LIBC_PREVENT_STRCHR
|
|
bool
|
|
default n
|
|
select LIBC_PREVENT_STRCHR_KERNEL
|
|
select LIBC_PREVENT_STRCHR_USER
|
|
|
|
config LIBC_PREVENT_STRCHR_KERNEL
|
|
bool
|
|
default n
|
|
---help---
|
|
Prevent any implementation of the libc strchr from being built and linked
|
|
in the kernel, including NuttX's software-defined version of the libc strchr
|
|
or any other architecture-specific version of it. The ROM-defined
|
|
version should be linked instead. This option is particularly useful
|
|
when it's required that the ROM-defined libc to be used by the kernel
|
|
(for accessing some driver resource, for instance) but the userspace
|
|
is forbidden to use the same ROM-defined versions. In this case,
|
|
NuttX's software-defined version of the libc strchr or arch-specific
|
|
assembly version is built instead.
|
|
|
|
config LIBC_PREVENT_STRCHR_USER
|
|
bool
|
|
default n
|
|
---help---
|
|
Prevent any implementation of the libc strchr from being built and linked
|
|
in the userspace, including NuttX's software-defined version of the
|
|
libc strchr or any other architecture-specific version of it. A ROM-defined
|
|
version of the libc strchr may be linked to the userspace by the linker.
|
|
|
|
config LIBC_PREVENT_STRCHRNUL
|
|
bool
|
|
default n
|
|
select LIBC_PREVENT_STRCHRNUL_KERNEL
|
|
select LIBC_PREVENT_STRCHRNUL_USER
|
|
|
|
config LIBC_PREVENT_STRCHRNUL_KERNEL
|
|
bool
|
|
default n
|
|
---help---
|
|
Prevent any implementation of the libc strchrnul from being built and linked
|
|
in the kernel, including NuttX's software-defined version of the libc strchrnul
|
|
or any other architecture-specific version of it. The ROM-defined
|
|
version should be linked instead. This option is particularly useful
|
|
when it's required that the ROM-defined libc strchrnul to be used by the kernel
|
|
(for accessing some driver resource, for instance) but the userspace
|
|
is forbidden to use the same ROM-defined versions. In this case,
|
|
NuttX's software-defined version of the libc strchrnul or arch-specific
|
|
assembly version is built instead.
|
|
|
|
config LIBC_PREVENT_STRCHRNUL_USER
|
|
bool
|
|
default n
|
|
---help---
|
|
Prevent any implementation of the libc strchrnul from being built and linked
|
|
in the userspace, including NuttX's software-defined version of the
|
|
libc strchrnul or any other architecture-specific version of it. A ROM-defined
|
|
version of the libc strchrnul may be linked to the userspace by the linker.
|
|
|
|
config LIBC_PREVENT_STRCMP
|
|
bool
|
|
default n
|
|
select LIBC_PREVENT_STRCMP_KERNEL
|
|
select LIBC_PREVENT_STRCMP_USER
|
|
|
|
config LIBC_PREVENT_STRCMP_KERNEL
|
|
bool
|
|
default n
|
|
---help---
|
|
Prevent any implementation of the libc strcmp from being built and linked
|
|
in the kernel, including NuttX's software-defined version of the libc strcmp
|
|
or any other architecture-specific version of it. The ROM-defined
|
|
version should be linked instead. This option is particularly useful
|
|
when it's required that the ROM-defined libc strcmp to be used by the kernel
|
|
(for accessing some driver resource, for instance) but the userspace
|
|
is forbidden to use the same ROM-defined versions. In this case,
|
|
NuttX's software-defined version of the libc strcmp or arch-specific
|
|
assembly version is built instead.
|
|
|
|
config LIBC_PREVENT_STRCMP_USER
|
|
bool
|
|
default n
|
|
---help---
|
|
Prevent any implementation of the libc strcmp from being built and linked
|
|
in the userspace, including NuttX's software-defined version of the
|
|
libc strcmp or any other architecture-specific version of it. A ROM-defined
|
|
version of the libc strcmp may be linked to the userspace by the linker.
|
|
|
|
config LIBC_PREVENT_STRCPY
|
|
bool
|
|
default n
|
|
select LIBC_PREVENT_STRCPY_KERNEL
|
|
select LIBC_PREVENT_STRCPY_USER
|
|
|
|
config LIBC_PREVENT_STRCPY_KERNEL
|
|
bool
|
|
default n
|
|
---help---
|
|
Prevent any implementation of the libc strcpy from being built and linked
|
|
in the kernel, including NuttX's software-defined version of the libc strcpy
|
|
or any other architecture-specific version of it. The ROM-defined
|
|
version should be linked instead. This option is particularly useful
|
|
when it's required that the ROM-defined libc strcpy to be used by the kernel
|
|
(for accessing some driver resource, for instance) but the userspace
|
|
is forbidden to use the same ROM-defined versions. In this case,
|
|
NuttX's software-defined version of the libc strcpy or arch-specific
|
|
assembly version is built instead.
|
|
|
|
config LIBC_PREVENT_STRCPY_USER
|
|
bool
|
|
default n
|
|
---help---
|
|
Prevent any implementation of the libc strcpy from being built and linked
|
|
in the userspace, including NuttX's software-defined version of the
|
|
libc strcpy or any other architecture-specific version of it. A ROM-defined
|
|
version of the libc strcpy may be linked to the userspace by the linker.
|
|
|
|
config LIBC_PREVENT_STRLCAT
|
|
bool
|
|
default n
|
|
select LIBC_PREVENT_STRLCAT_KERNEL
|
|
select LIBC_PREVENT_STRLCAT_USER
|
|
|
|
config LIBC_PREVENT_STRLCAT_KERNEL
|
|
bool
|
|
default n
|
|
---help---
|
|
Prevent any implementation of the libc strlcat from being built and linked
|
|
in the kernel, including NuttX's software-defined version of the libc strlcat
|
|
or any other architecture-specific version of it. The ROM-defined
|
|
version should be linked instead. This option is particularly useful
|
|
when it's required that the ROM-defined libc strlcat to be used by the kernel
|
|
(for accessing some driver resource, for instance) but the userspace
|
|
is forbidden to use the same ROM-defined versions. In this case,
|
|
NuttX's software-defined version of the libc strlcat or arch-specific
|
|
assembly version is built instead.
|
|
|
|
config LIBC_PREVENT_STRLCAT_USER
|
|
bool
|
|
default n
|
|
---help---
|
|
Prevent any implementation of the libc strlcat from being built and linked
|
|
in the userspace, including NuttX's software-defined version of the
|
|
libc strlcat or any other architecture-specific version of it. A ROM-defined
|
|
version of the libc strlcat may be linked to the userspace by the linker.
|
|
|
|
config LIBC_PREVENT_STRLEN
|
|
bool
|
|
default n
|
|
select LIBC_PREVENT_STRLEN_KERNEL
|
|
select LIBC_PREVENT_STRLEN_USER
|
|
|
|
config LIBC_PREVENT_STRLEN_KERNEL
|
|
bool
|
|
default n
|
|
---help---
|
|
Prevent any implementation of the libc strlen from being built and linked
|
|
in the kernel, including NuttX's software-defined version of the libc strlen
|
|
or any other architecture-specific version of it. The ROM-defined
|
|
version should be linked instead. This option is particularly useful
|
|
when it's required that the ROM-defined libc strlen to be used by the kernel
|
|
(for accessing some driver resource, for instance) but the userspace
|
|
is forbidden to use the same ROM-defined versions. In this case,
|
|
NuttX's software-defined version of the libc strlen or arch-specific
|
|
assembly version is built instead.
|
|
|
|
config LIBC_PREVENT_STRLEN_USER
|
|
bool
|
|
default n
|
|
---help---
|
|
Prevent any implementation of the libc strlen from being built and linked
|
|
in the userspace, including NuttX's software-defined version of the
|
|
libc strlen or any other architecture-specific version of it. A ROM-defined
|
|
version of the libc strlen may be linked to the userspace by the linker.
|
|
|
|
config LIBC_PREVENT_STRLCPY
|
|
bool
|
|
default n
|
|
select LIBC_PREVENT_STRLCPY_KERNEL
|
|
select LIBC_PREVENT_STRLCPY_USER
|
|
|
|
config LIBC_PREVENT_STRLCPY_KERNEL
|
|
bool
|
|
default n
|
|
---help---
|
|
Prevent any implementation of the libc strlcpy from being built and linked
|
|
in the kernel, including NuttX's software-defined version of the libc strlcpy
|
|
or any other architecture-specific version of it. The ROM-defined
|
|
version should be linked instead. This option is particularly useful
|
|
when it's required that the ROM-defined libc strlcpy to be used by the kernel
|
|
(for accessing some driver resource, for instance) but the userspace
|
|
is forbidden to use the same ROM-defined versions. In this case,
|
|
NuttX's software-defined version of the libc strlcpy or arch-specific
|
|
assembly version is built instead.
|
|
|
|
config LIBC_PREVENT_STRLCPY_USER
|
|
bool
|
|
default n
|
|
---help---
|
|
Prevent any implementation of the libc strlcpy from being built and linked
|
|
in the userspace, including NuttX's software-defined version of the
|
|
libc strlcpy or any other architecture-specific version of it. A ROM-defined
|
|
version of the libc strlcpy may be linked to the userspace by the linker.
|
|
|
|
config LIBC_PREVENT_STRNCASECMP
|
|
bool
|
|
default n
|
|
select LIBC_PREVENT_STRNCASECMP_KERNEL
|
|
select LIBC_PREVENT_STRNCASECMP_USER
|
|
|
|
config LIBC_PREVENT_STRNCASECMP_KERNEL
|
|
bool
|
|
default n
|
|
---help---
|
|
Prevent any implementation of the libc strncasecmp from being built and linked
|
|
in the kernel, including NuttX's software-defined version of the libc strncasecmp
|
|
or any other architecture-specific version of it. The ROM-defined
|
|
version should be linked instead. This option is particularly useful
|
|
when it's required that the ROM-defined libc strncasecmp to be used by the kernel
|
|
(for accessing some driver resource, for instance) but the userspace
|
|
is forbidden to use the same ROM-defined versions. In this case,
|
|
NuttX's software-defined version of the libc strncasecmp or arch-specific
|
|
assembly version is built instead.
|
|
|
|
config LIBC_PREVENT_STRNCASECMP_USER
|
|
bool
|
|
default n
|
|
---help---
|
|
Prevent any implementation of the libc strncasecmp from being built and linked
|
|
in the userspace, including NuttX's software-defined version of the
|
|
libc strncasecmp or any other architecture-specific version of it. A ROM-defined
|
|
version of the libc strncasecmp may be linked to the userspace by the linker.
|
|
|
|
config LIBC_PREVENT_STRNCAT
|
|
bool
|
|
default n
|
|
select LIBC_PREVENT_STRNCAT_KERNEL
|
|
select LIBC_PREVENT_STRNCAT_USER
|
|
|
|
config LIBC_PREVENT_STRNCAT_KERNEL
|
|
bool
|
|
default n
|
|
---help---
|
|
Prevent any implementation of the libc strncat from being built and linked
|
|
in the kernel, including NuttX's software-defined version of the libc strncat
|
|
or any other architecture-specific version of it. The ROM-defined
|
|
version should be linked instead. This option is particularly useful
|
|
when it's required that the ROM-defined libc strncat to be used by the kernel
|
|
(for accessing some driver resource, for instance) but the userspace
|
|
is forbidden to use the same ROM-defined versions. In this case,
|
|
NuttX's software-defined version of the libc strncat or arch-specific
|
|
assembly version is built instead.
|
|
|
|
config LIBC_PREVENT_STRNCAT_USER
|
|
bool
|
|
default n
|
|
---help---
|
|
Prevent any implementation of the libc strncat from being built and linked
|
|
in the userspace, including NuttX's software-defined version of the
|
|
libc strncat or any other architecture-specific version of it. A ROM-defined
|
|
version of the libc strncat may be linked to the userspace by the linker.
|
|
|
|
config LIBC_PREVENT_STRNLEN
|
|
bool
|
|
default n
|
|
select LIBC_PREVENT_STRNLEN_KERNEL
|
|
select LIBC_PREVENT_STRNLEN_USER
|
|
|
|
config LIBC_PREVENT_STRNLEN_KERNEL
|
|
bool
|
|
default n
|
|
---help---
|
|
Prevent any implementation of the libc strnlen from being built and linked
|
|
in the kernel, including NuttX's software-defined version of the libc strnlen
|
|
or any other architecture-specific version of it. The ROM-defined
|
|
version should be linked instead. This option is particularly useful
|
|
when it's required that the ROM-defined libc strnlen to be used by the kernel
|
|
(for accessing some driver resource, for instance) but the userspace
|
|
is forbidden to use the same ROM-defined versions. In this case,
|
|
NuttX's software-defined version of the libc strnlen or arch-specific
|
|
assembly version is built instead.
|
|
|
|
config LIBC_PREVENT_STRNLEN_USER
|
|
bool
|
|
default n
|
|
---help---
|
|
Prevent any implementation of the libc strnlen from being built and linked
|
|
in the userspace, including NuttX's software-defined version of the
|
|
libc strnlen or any other architecture-specific version of it. A ROM-defined
|
|
version of the libc strnlen may be linked to the userspace by the linker.
|
|
|
|
config LIBC_PREVENT_STRNCMP
|
|
bool
|
|
default n
|
|
select LIBC_PREVENT_STRNCMP_KERNEL
|
|
select LIBC_PREVENT_STRNCMP_USER
|
|
|
|
config LIBC_PREVENT_STRNCMP_KERNEL
|
|
bool
|
|
default n
|
|
---help---
|
|
Prevent any implementation of the libc strncmp from being built and linked
|
|
in the kernel, including NuttX's software-defined version of the libc strncmp
|
|
or any other architecture-specific version of it. The ROM-defined
|
|
version should be linked instead. This option is particularly useful
|
|
when it's required that the ROM-defined libc to be used by the kernel
|
|
(for accessing some driver resource, for instance) but the userspace
|
|
is forbidden to use the same ROM-defined versions. In this case,
|
|
NuttX's software-defined version of the libc or arch-specific
|
|
assembly version is built instead.
|
|
|
|
config LIBC_PREVENT_STRNCMP_USER
|
|
bool
|
|
default n
|
|
---help---
|
|
Prevent any implementation of the libc strncmp from being built and linked
|
|
in the userspace, including NuttX's software-defined version of the
|
|
libc strncmp or any other architecture-specific version of it. A ROM-defined
|
|
version of the libc strncmp may be linked to the userspace by the linker.
|
|
|
|
config LIBC_PREVENT_STRNCPY
|
|
bool
|
|
default n
|
|
select LIBC_PREVENT_STRNCPY_KERNEL
|
|
select LIBC_PREVENT_STRNCPY_USER
|
|
|
|
config LIBC_PREVENT_STRNCPY_KERNEL
|
|
bool
|
|
default n
|
|
---help---
|
|
Prevent any implementation of the libc strncpy from being built and linked
|
|
in the kernel, including NuttX's software-defined version of the libc strncpy
|
|
or any other architecture-specific version of it. The ROM-defined
|
|
version should be linked instead. This option is particularly useful
|
|
when it's required that the ROM-defined libc strncpy to be used by the kernel
|
|
(for accessing some driver resource, for instance) but the userspace
|
|
is forbidden to use the same ROM-defined versions. In this case,
|
|
NuttX's software-defined version of the libc strncpy or arch-specific
|
|
assembly version is built instead.
|
|
|
|
config LIBC_PREVENT_STRNCPY_USER
|
|
bool
|
|
default n
|
|
---help---
|
|
Prevent any implementation of the libc strncpy from being built and linked
|
|
in the userspace, including NuttX's software-defined version of the
|
|
libc strncpy or any other architecture-specific version of it. A ROM-defined
|
|
version of the libc strncpy may be linked to the userspace by the linker.
|
|
|
|
config LIBC_PREVENT_STRRCHR
|
|
bool
|
|
default n
|
|
select LIBC_PREVENT_STRRCHR_KERNEL
|
|
select LIBC_PREVENT_STRRCHR_USER
|
|
|
|
config LIBC_PREVENT_STRRCHR_KERNEL
|
|
bool
|
|
default n
|
|
---help---
|
|
Prevent any implementation of the libc strrchr from being built and linked
|
|
in the kernel, including NuttX's software-defined version of the libc strrchr
|
|
or any other architecture-specific version of it. The ROM-defined
|
|
version should be linked instead. This option is particularly useful
|
|
when it's required that the ROM-defined libc strrchr to be used by the kernel
|
|
(for accessing some driver resource, for instance) but the userspace
|
|
is forbidden to use the same ROM-defined versions. In this case,
|
|
NuttX's software-defined version of the libc strrchr or arch-specific
|
|
assembly version is built instead.
|
|
|
|
config LIBC_PREVENT_STRRCHR_USER
|
|
bool
|
|
default n
|
|
---help---
|
|
Prevent any implementation of the libc strrchr from being built and linked
|
|
in the userspace, including NuttX's software-defined version of the
|
|
libc strrchr or any other architecture-specific version of it. A ROM-defined
|
|
version of the libc strrchr may be linked to the userspace by the linker.
|
|
|
|
# One or more the of above may be selected by architecture specific logic
|
|
|
|
if ARCH_ARM
|
|
source "libs/libc/machine/arm/Kconfig"
|
|
endif
|
|
if ARCH_ARM64
|
|
source "libs/libc/machine/arm64/Kconfig"
|
|
endif
|
|
if ARCH_RISCV
|
|
source "libs/libc/machine/risc-v/Kconfig"
|
|
endif
|
|
if ARCH_SIM
|
|
source "libs/libc/machine/sim/Kconfig"
|
|
endif
|
|
if ARCH_X86
|
|
source "libs/libc/machine/x86/Kconfig"
|
|
endif
|
|
if ARCH_X86_64
|
|
source "libs/libc/machine/x86_64/Kconfig"
|
|
endif
|
|
if ARCH_XTENSA
|
|
source "libs/libc/machine/xtensa/Kconfig"
|
|
endif
|
|
if ARCH_RENESAS
|
|
source "libs/libc/machine/renesas/Kconfig"
|
|
endif
|
|
|
|
if ARCH_SPARC
|
|
source "libs/libc/machine/sparc/Kconfig"
|
|
endif
|
|
|
|
endmenu # Architecture-Specific Support
|