[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