(root)/
strace-6.5/
src/
linux/
xtensa/
get_error.c
       1  /*
       2   * Copyright (c) 2015-2022 The strace developers.
       3   * All rights reserved.
       4   *
       5   * SPDX-License-Identifier: LGPL-2.1-or-later
       6   */
       7  
       8  #include "negated_errno.h"
       9  
      10  static void
      11  arch_get_error(struct tcb *tcp, const bool check_errno)
      12  {
      13  	unsigned int status_reg = xtensa_regs.windowbase * 4 + 2;
      14  
      15  	if (check_errno && is_negated_errno(xtensa_regs.a[status_reg])) {
      16  		tcp->u_rval = -1;
      17  		tcp->u_error = -xtensa_regs.a[status_reg];
      18  	} else {
      19  		tcp->u_rval = xtensa_regs.a[status_reg];
      20  	}
      21  }