1 static void
arch_sigreturn(struct tcb * tcp)2 arch_sigreturn(struct tcb *tcp)
3 {
4 #if defined LINUX_MIPSO32
5 	/*
6 	 * offsetof(struct sigframe, sf_mask) ==
7 	 * sizeof(sf_ass) + sizeof(sf_pad) + sizeof(struct sigcontext)
8 	 */
9 	const long addr = mips_REG_SP + 6 * 4 +
10 			  sizeof(struct sigcontext);
11 #else
12 	/*
13 	 * This decodes rt_sigreturn.
14 	 * The 64-bit ABIs do not have sigreturn.
15 	 *
16 	 * offsetof(struct rt_sigframe, rs_uc) ==
17 	 * sizeof(sf_ass) + sizeof(sf_pad) + sizeof(struct siginfo)
18 	 */
19 	const long addr = mips_REG_SP + 6 * 4 + 128 +
20 			  offsetof(struct ucontext, uc_sigmask);
21 #endif
22 
23 	tprints("{mask=");
24 	print_sigset_addr_len(tcp, addr, NSIG / 8);
25 	tprints("}");
26 }
27