aboutsummaryrefslogtreecommitdiff
path: root/config/libc
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2025-04-21 11:05:40 -0700
committerChris Packham <judge.packham@gmail.com>2025-04-26 15:06:15 +1200
commit2fb4cf18d13fdf9b694f1ff01245b559a5447c8d (patch)
tree57be5fd594052217338ecdef6f5ff7ae0aac96a9 /config/libc
parent63765c98c0c267e1cc87612ea7373e13113396d9 (diff)
downloadcrosstool-ng-2fb4cf18d13fdf9b694f1ff01245b559a5447c8d.tar.gz
crosstool-ng-2fb4cf18d13fdf9b694f1ff01245b559a5447c8d.tar.bz2
crosstool-ng-2fb4cf18d13fdf9b694f1ff01245b559a5447c8d.zip
companion_libs: Make picolibc build compatible with 1.8.10
Picolibc 1.8.10 reworked the configuration option for single/multi thread support and removed some unused options for exit handler support. Map LIBC_PICOLIBC_MULTITHREAD to the new single-thread option or the old newlib-retargetable-locking+newlib-multithread options depending on whether the picolibc version knows about the single-thread option. Remove support for newlib-register-fini, newlib-atexit-dynamic-alloc, newlib-global-atexit and lite-exit options as all of those relate to the legacy exit handler code. There hasn't ever been any way to enable this using crosstool-ng, so none of these options have ever done anything. The help strings for each of of the unused configuration variables have been updated. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'config/libc')
-rw-r--r--config/libc/picolibc.in29
1 files changed, 24 insertions, 5 deletions
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"