diff options
author | Richard Henderson <richard.henderson@linaro.org> | 2021-04-28 12:33:55 -0700 |
---|---|---|
committer | Laurent Vivier <laurent@vivier.eu> | 2021-05-15 21:44:38 +0200 |
commit | cb1f198296dd9d7787328eab5beb2e31f550ba63 (patch) | |
tree | b67b831d7596d170c114b8c4300c8367661fd7b0 /linux-user/s390x | |
parent | 5d79bd111ff4f9ed0b19c20f6708a770651a9048 (diff) | |
download | qemu-cb1f198296dd9d7787328eab5beb2e31f550ba63.zip qemu-cb1f198296dd9d7787328eab5beb2e31f550ba63.tar.gz qemu-cb1f198296dd9d7787328eab5beb2e31f550ba63.tar.bz2 |
linux-user/s390x: Use uint16_t for signal retcode
Using the right type simplifies the frame setup.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: David Hildenbrand <david@redhat.com>
Message-Id: <20210428193408.233706-3-richard.henderson@linaro.org>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Diffstat (limited to 'linux-user/s390x')
-rw-r--r-- | linux-user/s390x/signal.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/linux-user/s390x/signal.c b/linux-user/s390x/signal.c index 707fb60..fece8ab 100644 --- a/linux-user/s390x/signal.c +++ b/linux-user/s390x/signal.c @@ -25,7 +25,6 @@ #define __NUM_FPRS 16 #define __NUM_ACRS 16 -#define S390_SYSCALL_SIZE 2 #define __SIGNAL_FRAMESIZE 160 /* FIXME: 31-bit mode -> 96 */ #define _SIGCONTEXT_NSIG 64 @@ -62,7 +61,7 @@ typedef struct { target_sigcontext sc; target_sigregs sregs; int signo; - uint8_t retcode[S390_SYSCALL_SIZE]; + uint16_t retcode; } sigframe; struct target_ucontext { @@ -75,7 +74,7 @@ struct target_ucontext { typedef struct { uint8_t callee_used_stack[__SIGNAL_FRAMESIZE]; - uint8_t retcode[S390_SYSCALL_SIZE]; + uint16_t retcode; struct target_siginfo info; struct target_ucontext uc; } rt_sigframe; @@ -155,7 +154,7 @@ void setup_frame(int sig, struct target_sigaction *ka, env->regs[14] = (frame_addr + offsetof(sigframe, retcode)) | PSW_ADDR_AMODE; __put_user(S390_SYSCALL_OPCODE | TARGET_NR_sigreturn, - (uint16_t *)(frame->retcode)); + &frame->retcode); } /* Set up backchain. */ @@ -216,7 +215,7 @@ void setup_rt_frame(int sig, struct target_sigaction *ka, env->regs[14] = (frame_addr + offsetof(typeof(*frame), retcode)) | PSW_ADDR_AMODE; __put_user(S390_SYSCALL_OPCODE | TARGET_NR_rt_sigreturn, - (uint16_t *)(frame->retcode)); + &frame->retcode); } /* Set up backchain. */ |