| # |
| # 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_ATOMIC |
| bool |
| default n |
| |
| 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_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_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 |