[U-Boot] [U-Boot,v5,04/10] sandbox: Fix setjmp/longjmp

Alexander Graf agraf at suse.de
Sat Sep 15 12:17:57 UTC 2018


> In sandbox, longjmp returns to itself in an endless loop because
> os_longjmp() calls into longjmp() which is provided by U-Boot which
> again calls os_longjmp().
> 
> Setjmp on the other hand must not return because otherwise the
> return freees up stack elements that we need during longjmp().
> 
> The only straight forward fix that doesn't involve nasty hacks I
> could find is to directly link against the system setjmp/longjmp
> implementations. That means we just provide the compiler with
> hints that the symbol will be available and actually fill them
> out with versions from libc.
> 
> This approach should be reasonably platform agnostic
> 
> Signed-off-by: Alexander Graf <agraf at suse.de>
> Reviewed-by: Simon Glass <sjg at chromium.org>

Thanks, applied to efi-next

Alex



More information about the U-Boot mailing list