diff options
author | Keith Packard <keithp@keithp.com> | 2025-04-21 11:05:40 -0700 |
---|---|---|
committer | Chris Packham <judge.packham@gmail.com> | 2025-04-26 15:06:15 +1200 |
commit | 2fb4cf18d13fdf9b694f1ff01245b559a5447c8d (patch) | |
tree | 57be5fd594052217338ecdef6f5ff7ae0aac96a9 /config/libc | |
parent | 63765c98c0c267e1cc87612ea7373e13113396d9 (diff) | |
download | crosstool-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.in | 29 |
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" |