Files
rk35xx-android14/external/strace/linux/alpha/get_scno.c
T
hmz007 36ed224bac Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a)
Signed-off-by: hmz007 <hmz007@gmail.com>
Change-Id: Ib87fdbe7a0be7dc961af3500fe9ea4589a127f9f
2024-10-29 18:12:02 +08:00

27 lines
510 B
C

/* Return codes: 1 - ok, 0 - ignore, other - error. */
static int
arch_get_scno(struct tcb *tcp)
{
kernel_ulong_t scno = 0;
if (upeek(tcp, REG_A3, &alpha_a3) < 0)
return -1;
if (upeek(tcp, REG_R0, &scno) < 0)
return -1;
/*
* Do some sanity checks to figure out if it's
* really a syscall entry
*/
if (!scno_in_range(scno)) {
if (alpha_a3 == 0 || alpha_a3 == -1UL) {
if (debug_flag)
error_msg("stray syscall exit: r0 = %lu", scno);
return 0;
}
}
tcp->scno = scno;
return 1;
}