(root)/
strace-6.5/
src/
linux/
aarch64/
set_error.c
       1  /*
       2   * Copyright (c) 2016-2021 The strace developers.
       3   * All rights reserved.
       4   *
       5   * SPDX-License-Identifier: LGPL-2.1-or-later
       6   */
       7  
       8  #define arch_set_error arm_set_error
       9  #define arch_set_success arm_set_success
      10  #include "../arm/set_error.c"
      11  #undef arch_set_success
      12  #undef arch_set_error
      13  
      14  static int
      15  arch_set_error(struct tcb *tcp)
      16  {
      17  	if (aarch64_io.iov_len == sizeof(arm_regs))
      18  		return arm_set_error(tcp);
      19  
      20  	aarch64_regs.regs[0] = -tcp->u_error;
      21  	return set_regs(tcp->pid);
      22  }
      23  
      24  static int
      25  arch_set_success(struct tcb *tcp)
      26  {
      27  	if (aarch64_io.iov_len == sizeof(arm_regs))
      28  		return arm_set_success(tcp);
      29  
      30  	aarch64_regs.regs[0] = tcp->u_rval;
      31  	return set_regs(tcp->pid);
      32  }