From: Alexander Graf <agraf@suse.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v4 15/21] sandbox: Fix setjmp/longjmp
Date: Thu, 21 Jun 2018 11:41:32 +0200 [thread overview]
Message-ID: <5c1da7a0-8ae5-d1e3-cc89-9342a159a4dc@suse.de> (raw)
In-Reply-To: <CAPnjgZ3B75qE1XDx+cVeD_KN1pNa5PhhbAi9eVdbMOLFJgb83A@mail.gmail.com>
On 06/21/2018 04:02 AM, Simon Glass wrote:
> Hi Alex,
>
> On 18 June 2018 at 09:23, Alexander Graf <agraf@suse.de> wrote:
>> In sandbox, longjmp returns to itself in an endless loop. Cut this through
>> by calling the real OS function.
>>
>> Setjmp on the other hand must not return. So here we have to call the OS
>> setjmp function straight from the code where the setjmp call happens.
>>
>> Signed-off-by: Alexander Graf <agraf@suse.de>
>> ---
>> arch/sandbox/cpu/cpu.c | 5 -----
>> arch/sandbox/cpu/os.c | 20 ++------------------
>> arch/sandbox/include/asm/setjmp.h | 4 +++-
>> 3 files changed, 5 insertions(+), 24 deletions(-)
>>
> I think we do need to do something like this. But I cannot find the
> man page for _longjmp(). Are you sure this is a valid function on all
> systems? Or is it Linux only?
I'm afraid it may be Linux (glibc) only.
I guess the alternative to this would be to not use system
setjmp/longjmp at all and instead use the in-U-Boot versions of them.
Alex
next prev parent reply other threads:[~2018-06-21 9:41 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-18 15:22 [U-Boot] [PATCH v4 00/21] sandbox: efi_loader support Alexander Graf
2018-06-18 15:22 ` [U-Boot] [PATCH v4 01/21] efi: sandbox: Add distroboot support Alexander Graf
2018-06-18 15:22 ` [U-Boot] [PATCH v4 02/21] efi: sandbox: Add relocation constants Alexander Graf
2018-06-18 15:22 ` [U-Boot] [PATCH v4 03/21] efi_loader: Use compiler constants for image loader Alexander Graf
2018-06-21 15:13 ` [U-Boot] [U-Boot, v4, " Alexander Graf
2018-06-18 15:22 ` [U-Boot] [PATCH v4 04/21] efi_loader: Use map_sysmem() in bootefi command Alexander Graf
2018-06-21 15:13 ` [U-Boot] [U-Boot, v4, " Alexander Graf
2018-06-18 15:22 ` [U-Boot] [PATCH v4 05/21] efi.h: Do not use config options Alexander Graf
2018-06-18 15:23 ` [U-Boot] [PATCH v4 06/21] efi_loader: Allow SMBIOS tables in highmem Alexander Graf
2018-06-21 2:01 ` Simon Glass
2018-06-21 9:38 ` Alexander Graf
2018-06-21 19:44 ` Simon Glass
2018-06-21 15:13 ` [U-Boot] [U-Boot, v4, " Alexander Graf
2018-06-18 15:23 ` [U-Boot] [PATCH v4 07/21] sandbox: Map host memory for efi_loader Alexander Graf
2018-06-21 2:01 ` Simon Glass
2018-06-18 15:23 ` [U-Boot] [PATCH v4 08/21] efi_loader: efi_allocate_pages is too restrictive Alexander Graf
2018-06-21 15:13 ` [U-Boot] [U-Boot, v4, " Alexander Graf
2018-06-18 15:23 ` [U-Boot] [PATCH v4 09/21] efi_loader: Disable miniapps on sandbox Alexander Graf
2018-06-21 15:13 ` [U-Boot] [U-Boot, v4, " Alexander Graf
2018-06-18 15:23 ` [U-Boot] [PATCH v4 10/21] fs: Convert fs_read/write to take buffer instead of address Alexander Graf
2018-06-21 2:02 ` Simon Glass
2018-06-21 15:27 ` Tom Rini
2018-06-18 15:23 ` [U-Boot] [PATCH v4 11/21] efi_loader: Introduce ms abi vararg helpers Alexander Graf
2018-06-21 2:02 ` Simon Glass
2018-06-21 9:40 ` Alexander Graf
2018-06-21 15:13 ` [U-Boot] [U-Boot, v4, " Alexander Graf
2018-06-23 8:37 ` Bin Meng
2018-06-25 16:47 ` Alexander Graf
2018-06-26 1:51 ` Bin Meng
2018-06-26 11:18 ` Alexander Graf
2018-06-27 2:59 ` Bin Meng
2018-06-18 15:23 ` [U-Boot] [PATCH v4 12/21] efi: sandbox: Enable EFI loader for sandbox Alexander Graf
2018-06-18 15:23 ` [U-Boot] [PATCH v4 13/21] distro: Move to compiler based target architecture determination Alexander Graf
2018-06-18 15:23 ` [U-Boot] [PATCH v4 14/21] efi_loader: " Alexander Graf
2018-06-21 15:13 ` [U-Boot] [U-Boot, v4, " Alexander Graf
2018-06-18 15:23 ` [U-Boot] [PATCH v4 15/21] sandbox: Fix setjmp/longjmp Alexander Graf
2018-06-21 2:02 ` Simon Glass
2018-06-21 9:41 ` Alexander Graf [this message]
2018-06-21 19:45 ` Simon Glass
2018-06-22 11:54 ` Alexander Graf
2018-06-18 15:23 ` [U-Boot] [PATCH v4 16/21] elf: Move x86 reloc defines to common elf.h Alexander Graf
2018-06-21 15:13 ` [U-Boot] [U-Boot, v4, " Alexander Graf
2018-06-18 15:23 ` [U-Boot] [PATCH v4 17/21] efi_loader: Use common elf.h reloc defines Alexander Graf
2018-06-21 15:13 ` [U-Boot] [U-Boot, v4, " Alexander Graf
2018-06-18 15:23 ` [U-Boot] [PATCH v4 18/21] efi: sandbox: Adjust memory usage for sandbox Alexander Graf
2018-06-21 2:02 ` Simon Glass
2018-06-21 15:13 ` [U-Boot] [U-Boot, v4, " Alexander Graf
2018-06-18 15:23 ` [U-Boot] [PATCH v4 19/21] sandbox: Allow to execute from RAM Alexander Graf
2018-06-21 2:02 ` Simon Glass
2018-06-21 9:44 ` Alexander Graf
2018-06-21 19:45 ` Simon Glass
2018-06-22 9:43 ` Alexander Graf
2018-06-18 15:23 ` [U-Boot] [PATCH v4 20/21] sandbox: Always allocate aligned buffers Alexander Graf
2018-06-18 15:23 ` [U-Boot] [PATCH v4 21/21] efi_loader: Expose U-Boot addresses in memory map for sandbox Alexander Graf
2018-06-21 15:13 ` [U-Boot] [U-Boot, v4, " Alexander Graf
2018-06-23 4:01 ` [U-Boot] [PATCH v4 " Simon Glass
2018-06-23 6:57 ` Alexander Graf
2018-06-25 2:58 ` Simon Glass
2018-06-25 2:58 ` Simon Glass
2018-06-18 15:53 ` [U-Boot] [PATCH v4 00/21] sandbox: efi_loader support Alexander Graf
2018-06-21 2:44 ` Simon Glass
2018-06-21 9:47 ` Alexander Graf
2018-06-21 19:45 ` Simon Glass
2018-06-22 9:44 ` Alexander Graf
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5c1da7a0-8ae5-d1e3-cc89-9342a159a4dc@suse.de \
--to=agraf@suse.de \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox