1 /*
2 * Copyright (c) 2015-2021 The strace developers.
3 * All rights reserved.
4 *
5 * SPDX-License-Identifier: LGPL-2.1-or-later
6 */
7
8 #ifndef SIGNAL_FRAMESIZE
9 # define SIGNAL_FRAMESIZE 96
10 #endif
11 #ifndef PTR_TYPE
12 # define PTR_TYPE unsigned long
13 #endif
14
15 static void
16 arch_sigreturn(struct tcb *tcp)
17 {
18 kernel_ulong_t addr;
19
20 if (!get_stack_pointer(tcp, &addr))
21 return;
22 addr += SIGNAL_FRAMESIZE;
23
24 PTR_TYPE mask[NSIG_BYTES / sizeof(PTR_TYPE)];
25 if (!umove_or_printaddr(tcp, addr, &mask)) {
26 tprintsigmask_addr(mask);
27 }
28 }