qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
To: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	"richard.henderson@linaro.org" <richard.henderson@linaro.org>
Cc: "qemu-s390x@nongnu.org" <qemu-s390x@nongnu.org>,
	"f4bug@amsat.org" <f4bug@amsat.org>,
	"alex.bennee@linaro.org" <alex.bennee@linaro.org>,
	"laurent@vivier.eu" <laurent@vivier.eu>,
	Ilya Leoshkevich <iii@de.ibm.com>
Subject: s390x regression - Re: [PATCH v5 21/26] linux-user/s390x: Implement setup_sigtramp
Date: Thu, 28 Apr 2022 18:15:26 +0000	[thread overview]
Message-ID: <cc4c1322a26533ca694985a5cf70d0e0aa9cea26.camel@de.ibm.com> (raw)
In-Reply-To: <20210929130553.121567-22-richard.henderson@linaro.org>

Richard Henderson <richard.henderson@linaro.org> wrote:

>Create and record the two signal trampolines.
>Use them when the guest does not use SA_RESTORER.

This patch caused a regression when running the wasmtime CI under qemu:
https://github.com/bytecodealliance/wasmtime/pull/4076

The problem is that this part:

>diff --git a/linux-user/s390x/signal.c b/linux-user/s390x/signal.c
>index 80f34086d7..676b948147 100644
>--- a/linux-user/s390x/signal.c
>+++ b/linux-user/s390x/signal.c
>@@ -68,7 +68,6 @@ typedef struct {
>     target_sigregs sregs;
>     int signo;
>     target_sigregs_ext sregs_ext;
>-    uint16_t retcode;
> } sigframe;
> 
> #define TARGET_UC_VXRS 2
>@@ -85,7 +84,6 @@ struct target_ucontext {
> 
> typedef struct {
>     uint8_t callee_used_stack[__SIGNAL_FRAMESIZE];
>-    uint16_t retcode;
>     struct target_siginfo info;
>     struct target_ucontext uc;
> } rt_sigframe;

changes the layout of the signal stack frame that is visible from user
space.  Some user space code, in particular the GCC unwinder
(s390_fallback_frame_state in libgcc), relies on that layout and no
longer works correctly if it is changed.


Reverting just those two hunks above on top of QEMU 7.0 makes the
wasmtime CI pass again.  (Actually, just the second hunk is enough; the
first hunk is not visible since the removed variable is at the very top
of the frame.)


Bye,
Ulrich


  reply	other threads:[~2022-04-28 18:17 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-29 13:05 [PATCH v5 00/26] linux-user: Move signal trampolines to new page Richard Henderson
2021-09-29 13:05 ` [PATCH v5 01/26] linux-user: Add infrastructure for a signal trampoline page Richard Henderson
2021-09-29 13:05 ` [PATCH v5 02/26] linux-user/aarch64: Implement setup_sigtramp Richard Henderson
2021-09-29 13:05 ` [PATCH v5 03/26] linux-user/arm: Drop v1 signal frames Richard Henderson
2021-09-29 13:05 ` [PATCH v5 04/26] linux-user/arm: Drop "_v2" from symbols in signal.c Richard Henderson
2021-09-29 13:05 ` [PATCH v5 05/26] linux-user/arm: Implement setup_sigtramp Richard Henderson
2021-09-29 13:45   ` Peter Maydell
2021-09-29 13:05 ` [PATCH v5 06/26] linux-user/alpha: " Richard Henderson
2021-09-29 13:05 ` [PATCH v5 07/26] linux-user/cris: " Richard Henderson
2021-09-29 13:05 ` [PATCH v5 08/26] linux-user/hexagon: " Richard Henderson
2021-09-29 13:05 ` [PATCH v5 09/26] linux-user/hppa: Document non-use of setup_sigtramp Richard Henderson
2021-09-29 13:05 ` [PATCH v5 10/26] linux-user/i386: Implement setup_sigtramp Richard Henderson
2021-09-29 13:05 ` [PATCH v5 11/26] linux-user/x86_64: Raise SIGSEGV if SA_RESTORER not set Richard Henderson
2021-09-29 13:05 ` [PATCH v5 12/26] linux-user/m68k: Implement setup_sigtramp Richard Henderson
2021-09-29 13:05 ` [PATCH v5 13/26] linux-user/microblaze: " Richard Henderson
2021-09-29 13:05 ` [PATCH v5 14/26] linux-user/mips: Tidy install_sigtramp Richard Henderson
2021-09-29 13:05 ` [PATCH v5 15/26] linux-user/mips: Implement setup_sigtramp Richard Henderson
2021-09-29 13:05 ` [PATCH v5 16/26] linux-user/nios2: Document non-use of setup_sigtramp Richard Henderson
2021-09-29 13:05 ` [PATCH v5 17/26] linux-user/openrisc: Implement setup_sigtramp Richard Henderson
2021-09-29 13:05 ` [PATCH v5 18/26] linux-user/ppc: Simplify encode_trampoline Richard Henderson
2021-09-29 13:05 ` [PATCH v5 19/26] linux-user/ppc: Implement setup_sigtramp Richard Henderson
2021-09-29 13:05 ` [PATCH v5 20/26] linux-user/riscv: " Richard Henderson
2021-09-29 13:05 ` [PATCH v5 21/26] linux-user/s390x: " Richard Henderson
2022-04-28 18:15   ` Ulrich Weigand [this message]
2022-04-29 18:14     ` s390x regression - " Richard Henderson
2021-09-29 13:05 ` [PATCH v5 22/26] linux-user/sh4: " Richard Henderson
2021-09-29 13:05 ` [PATCH v5 23/26] linux-user/sparc: " Richard Henderson
2021-09-29 13:05 ` [PATCH v5 24/26] linux-user/xtensa: " Richard Henderson
2021-09-29 13:05 ` [PATCH v5 25/26] linux-user: Remove default for TARGET_ARCH_HAS_SIGTRAMP_PAGE Richard Henderson
2021-09-29 13:05 ` [PATCH v5 26/26] tests/tcg/multiarch: Re-enable signals test for most guests Richard Henderson
2021-09-29 13:45   ` Philippe Mathieu-Daudé
2021-10-01 10:04 ` [PATCH v5 00/26] linux-user: Move signal trampolines to new page Laurent Vivier

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=cc4c1322a26533ca694985a5cf70d0e0aa9cea26.camel@de.ibm.com \
    --to=ulrich.weigand@de.ibm.com \
    --cc=alex.bennee@linaro.org \
    --cc=f4bug@amsat.org \
    --cc=iii@de.ibm.com \
    --cc=laurent@vivier.eu \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-s390x@nongnu.org \
    --cc=richard.henderson@linaro.org \
    /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;
as well as URLs for NNTP newsgroup(s).