/* Return codes: 1 - ok, 0 - ignore, other - error. */ static int arch_get_scno(struct tcb *tcp) { long scno = 0; switch (aarch64_io.iov_len) { case sizeof(aarch64_regs): /* We are in 64-bit mode */ scno = aarch64_regs.regs[8]; update_personality(tcp, 0); break; case sizeof(arm_regs): /* We are in 32-bit mode */ /* Note: we don't support OABI, unlike 32-bit ARM build */ scno = arm_regs.ARM_r7; scno = shuffle_scno(scno); update_personality(tcp, 1); break; } tcp->scno = scno; return 1; }