aboutsummaryrefslogtreecommitdiff
path: root/config/libc
diff options
context:
space:
mode:
Diffstat (limited to 'config/libc')
-rw-r--r--config/libc/glibc.in22
-rw-r--r--config/libc/musl.in1
-rw-r--r--config/libc/picolibc.in29
3 files changed, 38 insertions, 14 deletions
diff --git a/config/libc/glibc.in b/config/libc/glibc.in
index fb72f67a..a34c4209 100644
--- a/config/libc/glibc.in
+++ b/config/libc/glibc.in
@@ -68,7 +68,7 @@ config GLIBC_DEP_MAKE_4_0
# where the build process hangs indefinitely
config GLIBC_DEP_MAKE_4_3
def_bool y
- depends on GLIBC_older_than_2_32 && CONFIGURE_has_make_4_4_or_newer
+ depends on GLIBC_older_than_2_32 && (CONFIGURE_has_make_4_4_or_newer || GLIBC_DEP_MAKE_4_0)
select COMP_TOOLS_MAKE
select MAKE_GNUMAKE_SYMLINK
select MAKE_REQUIRE_older_than_4_4
@@ -127,7 +127,7 @@ config GLIBC_HAS_LIBIDN_ADDON
# we can find in config/arch/*
config GLIBC_USE_PORTS_ADDON
def_bool y
- depends on ARCH_ALPHA || ARCH_ARM || ARCH_M68K || ARCH_MIPS || ARCH_POWERPC
+ depends on ARCH_ALPHA || ARCH_ARM || ARCH_M68K || ARCH_MIPS || ARCH_PARISC || ARCH_POWERPC
depends on GLIBC_HAS_PORTS_ADDON
depends on !GLIBC_USE_ORACLE
@@ -155,11 +155,11 @@ config GLIBC_HAS_OBSOLETE_RPC
def_bool y
depends on GLIBC_2_14_or_later && !GLIBC_2_32_or_later
-# As of 2.38 libcrypt is no longer built by default. It will likely be removed in a future
-# version.
+# As of 2.38 libcrypt is no longer built by default. It was completely removed
+# as of 2.39
config GLIBC_HAS_OBSOLETE_LIBCRYPT
def_bool y
- depends on GLIBC_2_38_or_later
+ depends on GLIBC_2_38_or_later && !GLIBC_2_39_or_later
config GLIBC_EXTRA_CONFIG_ARRAY
string
@@ -197,8 +197,8 @@ config GLIBC_ENABLE_DEBUG
config GLIBC_EXTRA_CFLAGS
string
prompt "extra target CFLAGS"
- default "-Wno-missing-attributes -Wno-array-bounds -Wno-array-parameter -Wno-stringop-overflow -Wno-maybe-uninitialized" if GLIBC_2_29_or_older && GCC_11_or_later
- default ""
+ default "-Wno-missing-attributes -Wno-array-bounds -Wno-array-parameter -Wno-stringop-overflow -Wno-maybe-uninitialized" if GLIBC_2_29_or_older && GCC_11_or_later && !GCC_14_or_later
+ default "-Wno-missing-attributes -Wno-array-bounds -Wno-array-parameter -Wno-stringop-overflow -Wno-maybe-uninitialized -Wno-implicit-int" if GLIBC_2_29_or_older && GCC_14_or_later
help
Extra target CFLAGS to use when building.
@@ -289,6 +289,12 @@ comment "| Building GLIBC locales requires that GLIBC supports "
comment "| the build machine as the target. "
endif # LIBC_GLIBC && GLIBC_LOCALES
+# Older Glibc versions are incompatible with newer makeinfo versions. Skip
+# building the user manual if needed.
+config GLIBC_MAKEINFO_WORKAROUND
+ def_bool y
+ depends on GLIBC_2_23_or_older
+
if KERNEL_LINUX
choice GLIBC_SUPPORTED_KERNEL
@@ -436,7 +442,7 @@ config GLIBC_ENABLE_WERROR
(GCC_9_or_later && !GCC_10_or_later && GLIBC_2_29_or_later) || \
(GCC_10_or_later && !GCC_11_or_later && GLIBC_2_31_or_later) || \
(GCC_11_or_later && !GCC_13_or_later && GLIBC_2_34_or_later) || \
- (GCC_13_or_later && GLIBC_2_37_or_later)
+ (GCC_13_or_later && !GCC_14_or_later && GLIBC_2_37_or_later)
default y
help
By default, glibc enables strict warning checks during the build.
diff --git a/config/libc/musl.in b/config/libc/musl.in
index 427dd699..71d9c990 100644
--- a/config/libc/musl.in
+++ b/config/libc/musl.in
@@ -1,7 +1,6 @@
# musl second-part option
## depends on ! WINDOWS && ! BARE_METAL
-## depends on EXPERIMENTAL
## select LIBC_SUPPORT_THREADS_NATIVE
## select CC_CORE_NEEDED
diff --git a/config/libc/picolibc.in b/config/libc/picolibc.in
index 6c4c6cac..c3014b11 100644
--- a/config/libc/picolibc.in
+++ b/config/libc/picolibc.in
@@ -40,31 +40,47 @@ config LIBC_PICOLIBC_IO_C99FMT
config LIBC_PICOLIBC_REGISTER_FINI
bool
- prompt "Enable finalization function registration using atexit"
+ prompt "Enable finalization function registration using atexit [unused]"
help
Enable finalization function registration using atexit.
+ This would be used when building with the legacy newlib exit
+ handling code which cannot be enabled in crosstool-ng, so
+ this option doesn't do anything.
+
config LIBC_PICOLIBC_ATEXIT_DYNAMIC_ALLOC
bool
- prompt "Enable dynamic allocation of atexit entries"
+ prompt "Enable dynamic allocation of atexit entries [unused]"
help
Enable dynamic allocation of atexit entries.
+ This would be used when building with the legacy newlib exit
+ handling code which cannot be enabled in crosstool-ng, so
+ this option doesn't do anything.
+
config LIBC_PICOLIBC_GLOBAL_ATEXIT
bool
- prompt "Enable atexit data structure as global variable"
+ prompt "Enable atexit data structure as global variable [unused]"
help
Enable atexit data structure as global variable, instead
of being thread-local.
+ This would be used when building with the legacy newlib exit
+ handling code which cannot be enabled in crosstool-ng, so
+ this option doesn't do anything.
+
config LIBC_PICOLIBC_LITE_EXIT
bool
- prompt "Enable lite exit"
+ prompt "Enable lite exit [unused]"
default y
help
Enable lite exit, a size-reduced implementation of exit that doesn't
invoke clean-up functions such as _fini or global destructors.
+ This would be used when building with the legacy newlib exit
+ handling code which cannot be enabled in crosstool-ng, so
+ this option doesn't do anything.
+
config LIBC_PICOLIBC_MULTITHREAD
bool
prompt "Enable support for multiple threads"
@@ -74,12 +90,15 @@ config LIBC_PICOLIBC_MULTITHREAD
config LIBC_PICOLIBC_RETARGETABLE_LOCKING
bool
- prompt "Enable retargetable locking"
+ prompt "Enable retargetable locking [unused]"
default y
help
Enable retargetable locking to allow the operating system to override
the dummy lock functions defined within picolibc.
+ This value was always required to match
+ LIBC_PICOLIBC_MULTITHREAD, so it is no longer used.
+
config LIBC_PICOLIBC_EXTRA_SECTIONS
bool
prompt "Place each function & data element in their own section"