(root)/
strace-6.5/
src/
sigreturn.c
       1  /*
       2   * Copyright (c) 2015-2021 Dmitry V. Levin <ldv@strace.io>
       3   * Copyright (c) 2021-2023 The strace developers.
       4   * All rights reserved.
       5   *
       6   * SPDX-License-Identifier: LGPL-2.1-or-later
       7   */
       8  
       9  #include "defs.h"
      10  #include "ptrace.h"
      11  #include "nsig.h"
      12  #include "regs.h"
      13  
      14  #if defined HAVE_ASM_SIGCONTEXT_H && !defined HAVE_STRUCT_SIGCONTEXT
      15  # include <asm/sigcontext.h>
      16  #endif
      17  
      18  /* The following function might be unused, hence the inline qualifier.  */
      19  static inline void
      20  print_sigmask_addr_size(const void *const addr, const unsigned int size)
      21  {
      22  	tprint_struct_begin();
      23  	tprints_field_name("mask");
      24  	tprints_string(sprintsigmask_n("", addr, size));
      25  	tprint_struct_end();
      26  }
      27  
      28  #define tprintsigmask_addr(mask_) \
      29  	print_sigmask_addr_size((mask_), sizeof(mask_))
      30  
      31  #include "arch_sigreturn.c"
      32  
      33  SYS_FUNC(sigreturn)
      34  {
      35  	arch_sigreturn(tcp);
      36  
      37  	return RVAL_DECODED;
      38  }