• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 kernel_ulong_t 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 kernel_ulong_t 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_BYTES);
25 	tprints("}");
26 }
27