[RFC PATCH 01/10] arch: introduce symbol HAVE_INITJMP
Jerome Forissier
jerome.forissier at linaro.org
Fri Feb 14 16:03:45 CET 2025
Hi Heinrich,
On 2/14/25 15:41, Heinrich Schuchardt wrote:
> On 14.02.25 15:00, Jerome Forissier wrote:
>> HAVE_INIJMP will be set by architectures that support initjmp(), a
>> non-standard extension to setjmp()/longjmp() allowing to initialize a
>> jump buffer with a function pointer and a stack pointer. This will be
>> useful to later introduce threads.
>
> How is initjmp() used in threading?
It's used so that we can longjmp() to a particular function pointer
(rather than to a point previously reached during program execution
as is the case with setjmp()), and with a custom stack. Both things
are needed to spin off a thread.
I will update the description.
>
> A cover-letter for the series would have been helpful.
It's here [1].
[1] https://lists.denx.de/pipermail/u-boot/2025-February/580550.html
>
>>
>> Signed-off-by: Jerome Forissier <jerome.forissier at linaro.org>
>> ---
>> arch/Kconfig | 6 ++++++
>> 1 file changed, 6 insertions(+)
>>
>> diff --git a/arch/Kconfig b/arch/Kconfig
>> index 35b19f9bfdc..8d5b54031b3 100644
>> --- a/arch/Kconfig
>> +++ b/arch/Kconfig
>> @@ -13,6 +13,12 @@ config HAVE_SETJMP
>> help
>> The architecture supports setjmp() and longjmp().
>>
>> +config HAVE_INITJMP
>> + bool
>> + help
>> + The architecture supports initjmp(), a non-standard companion to
>> + setjmp() and longjmp().
>
> If this required for thread support, I would have expected this to be in
> the help text.
>
> Best regards
>
> Heinrich
>
>> +
>> config SUPPORT_BIG_ENDIAN
>> bool
>>
>
More information about the U-Boot
mailing list