(root)/
strace-6.5/
src/
linux/
aarch64/
get_scno.c
       1  /*
       2   * Copyright (c) 2015-2021 The strace developers.
       3   * All rights reserved.
       4   *
       5   * SPDX-License-Identifier: LGPL-2.1-or-later
       6   */
       7  
       8  /* Return codes: 1 - ok, 0 - ignore, other - error. */
       9  static int
      10  arch_get_scno(struct tcb *tcp)
      11  {
      12  	kernel_ulong_t scno = 0;
      13  
      14  	switch (aarch64_io.iov_len) {
      15  		case sizeof(aarch64_regs):
      16  			/* We are in 64-bit mode */
      17  			scno = aarch64_regs.regs[8];
      18  			break;
      19  		case sizeof(arm_regs):
      20  			/* We are in 32-bit mode */
      21  			/* Note: we don't support OABI, unlike 32-bit ARM build */
      22  			scno = arm_regs.ARM_r7;
      23  			break;
      24  	}
      25  
      26  	tcp->scno = scno;
      27  	return 1;
      28  }