Home | History | Annotate | Download | only in strace

Lines Matching defs:scno

480 	if (tcp->scno < 0 || tcp->scno >= nsyscalls)
482 if (sysent[tcp->scno].sys_func == printargs)
485 if (sysent[tcp->scno].sys_func == sys_read ||
486 sysent[tcp->scno].sys_func == sys_pread ||
487 sysent[tcp->scno].sys_func == sys_pread64 ||
488 sysent[tcp->scno].sys_func == sys_recv ||
489 sysent[tcp->scno].sys_func == sys_recvfrom)
491 else if (sysent[tcp->scno].sys_func == sys_readv)
496 if (sysent[tcp->scno].sys_func == sys_write ||
497 sysent[tcp->scno].sys_func == sys_pwrite ||
498 sysent[tcp->scno].sys_func == sys_pwrite64 ||
499 sysent[tcp->scno].sys_func == sys_send ||
500 sysent[tcp->scno].sys_func == sys_sendto)
502 else if (sysent[tcp->scno].sys_func == sys_writev)
547 tcp->scno = subcall + tcp->u_arg[0];
548 if (sysent[tcp->scno].nargs != -1)
549 tcp->u_nargs = sysent[tcp->scno].nargs;
558 tcp->scno = subcall + tcp->u_arg[0];
560 for (i = 0; i < sysent[tcp->scno].nargs; i++) {
577 tcp->u_nargs = sysent[tcp->scno].nargs;
586 tcp->scno = subcall + i;
587 if (sysent[tcp->scno].nargs != -1)
588 tcp->u_nargs = sysent[tcp->scno].nargs;
597 tcp->scno = subcall + tcp->u_arg[5];
598 if (sysent[tcp->scno].nargs != -1)
599 tcp->u_nargs = sysent[tcp->scno].nargs;
606 if (subcalls_table[i].call == tcp->scno) break;
609 tcp->scno = subcalls_table[i].subcalls[tcp->u_arg[0]];
631 if (tcp->scno < 0 || tcp->scno >= nsyscalls)
634 func = sysent[tcp->scno].sys_func;
735 long scno = 0;
743 * (new style) in gpr2. We cannot recover the scno again
764 * Since kernel version 2.5.44 the scno gets passed in gpr2.
766 scno = syscall_mode;
769 * Old style of "passing" the scno via the SVC instruction.
800 scno = opcode & 0xff;
823 scno = ptrace(PTRACE_PEEKTEXT, tcp->pid, svc_addr, 0);
827 scno >>= 48;
829 scno >>= 16;
836 scno = (scno | tmp) & 0xff;
840 if (upeek(tcp, sizeof(unsigned long)*PT_R0, &scno) < 0)
844 if (scno == 0 && (tcp->flags & TCB_WAITEXECVE)) {
883 scno = regs.r8;
892 if (upeek(tcp, PT_ORIG_P0, &scno))
895 if (upeek(tcp, 4*ORIG_EAX, &scno) < 0)
898 if (upeek(tcp, 8*ORIG_RAX, &scno) < 0)
969 if (upeek(tcp, PT_R1, &scno) < 0) /* orig eax */
972 if (upeek (tcp, PT_R15, &scno) < 0)
1013 scno = regs.ARM_r7;
1019 scno = ptrace(PTRACE_PEEKTEXT, tcp->pid, (void *)(regs.ARM_pc - 4), NULL);
1023 if (scno == 0 && (tcp->flags & TCB_WAITEXECVE)) {
1033 if (scno == 0xef000000) {
1034 scno = regs.ARM_r7;
1036 if ((scno & 0x0ff00000) != 0x0f900000) {
1038 scno);
1045 scno &= 0x000fffff;
1048 if (scno & 0x0f0000) {
1053 scno &= 0x0000ffff;
1068 if (upeek(tcp, 4*PT_ORIG_D0, &scno) < 0)
1079 scno = r2;
1082 if (scno == 0 && tcp->flags & TCB_WAITEXECVE) {
1087 if (scno < 0 || scno > nsyscalls) {
1090 fprintf (stderr, "stray syscall exit: v0 = %ld\n", scno);
1099 if (upeek(tcp, REG_V0, &scno) < 0)
1103 if (scno == 0 && tcp->flags & TCB_WAITEXECVE) {
1108 if (scno < 0 || scno > nsyscalls) {
1111 fprintf (stderr, "stray syscall exit: v0 = %ld\n", scno);
1124 if (upeek(tcp, REG_R0, &scno) < 0)
1128 if (scno == 0 && tcp->flags & TCB_WAITEXECVE) {
1137 if (scno < 0 || scno > nsyscalls) {
1140 fprintf (stderr, "stray syscall exit: r0 = %ld\n", scno);
1209 scno = 156;
1211 scno = regs.u_regs[U_REG_G1];
1212 if (scno == 0) {
1213 scno = regs.u_regs[U_REG_O0];
1218 if (upeek(tcp, PT_GR20, &scno) < 0)
1231 if (upeek(tcp, 4*(REG_REG0+3), &scno) < 0)
1234 if (scno < 0) {
1238 long correct_scno = (scno & 0xff);
1243 scno,
1245 scno = correct_scno;
1250 if (scno == 0 && tcp->flags & TCB_WAITEXECVE) {
1256 if (upeek(tcp, REG_SYSCALL, &scno) < 0)
1258 scno &= 0xFFFF;
1268 if (upeek(tcp, 4*PT_R9, &scno) < 0)
1271 if (upeek(tcp, PTREGS_OFFSET_REG(10), &scno) < 0)
1282 if (upeek(tcp, 0, &scno) < 0)
1288 if (upeek(tcp, uoff(u_arg[7]), &scno) < 0)
1302 scno = tcp->status.PR_SYSCALL;
1305 scno = tcp->status.PR_WHAT;
1314 pread(tcp->pfd, &scno, sizeof(scno), regs.r_esp + sizeof(int));
1317 scno
1325 tcp->scno = scno;
1333 long scno = tcp->scno;
1335 if (scno >= 0 && scno < nsyscalls && sysent[scno].native_scno != 0)
1336 scno = sysent[scno].native_scno;
1339 scno += NR_SYSCALL_BASE;
1340 return scno;
1354 int scno = known_scno(tcp);
1359 scno == SYS_fork
1361 || scno == SYS_vfork
1364 || scno == SYS_fork1
1367 || scno == SYS_forkall
1370 || scno == SYS_rfork1
1373 || scno == SYS_rforkall
1396 if (scno == 0) {
1402 if (scno != 0) {
1438 syscall_mode = tcp->scno;
1446 && (gpr2 == -ENOSYS || gpr2 == tcp->scno)) {
1533 if (tcp->scno >= 0 && tcp->scno < nsyscalls &&
1534 sysent[tcp->scno].sys_flags & SYSCALL_NEVER_FAILS) {
1981 if (tcp->scno >= 0 && tcp->scno < nsyscalls && sysent[tcp->scno].nargs != -1)
1982 tcp->u_nargs = sysent[tcp->scno].nargs;
1993 if (tcp->scno >= 0 && tcp->scno < nsyscalls && sysent[tcp->scno].nargs != -1)
1994 tcp->u_nargs = sysent[tcp->scno].nargs;
1998 /* WTA: if scno is out-of-bounds this will bomb. Add range-check
1999 * for scno somewhere above here!
2024 if (tcp->scno >= 0 && tcp->scno < nsyscalls
2025 && sysent[tcp->scno].nargs != -1)
2026 tcp->u_nargs = sysent[tcp->scno].nargs;
2055 if (tcp->scno >= 0 && tcp->scno < nsyscalls
2056 && sysent[tcp->scno].nargs != -1)
2057 tcp->u_nargs = sysent[tcp->scno].nargs;
2068 if (tcp->scno >= 0 && tcp->scno < nsyscalls && sysent[tcp->scno].nargs != -1)
2069 nargs = tcp->u_nargs = sysent[tcp->scno].nargs;
2088 if (tcp->scno >= 0 && tcp->scno < nsyscalls && sysent[tcp->scno].nargs != -1)
2089 nargs = tcp->u_nargs = sysent[tcp->scno].nargs;
2114 if (tcp->scno >= 0 && tcp->scno < nsyscalls && sysent[tcp->scno].nargs != -1)
2115 tcp->u_nargs = sysent[tcp->scno].nargs;
2130 if (tcp->scno >= 0 && tcp->scno < nsyscalls && sysent[tcp->scno].nargs != -1)
2131 tcp->u_nargs = sysent[tcp->scno].nargs;
2141 if (tcp->scno >= 0 && tcp->scno < nsyscalls && sysent[tcp->scno].nargs != -1)
2142 tcp->u_nargs = sysent[tcp->scno].nargs;
2154 if (tcp->scno >= 0 && tcp->scno < nsyscalls && sysent[tcp->scno].nargs != -1)
2155 tcp->u_nargs = sysent[tcp->scno].nargs;
2162 tcp->u_nargs = sysent[tcp->scno].nargs;
2174 if (tcp->scno >= 0 && tcp->scno < nsyscalls && sysent[tcp->scno].nargs != -1)
2175 tcp->u_nargs = sysent[tcp->scno].nargs;
2191 tcp->u_nargs = sysent[tcp->scno].nargs;
2208 assert(sysent[tcp->scno].nargs <
2212 tcp->u_nargs = sysent[tcp->scno].nargs;
2227 if (tcp->scno >= 0 && tcp->scno < nsyscalls && sysent[tcp->scno].nargs != -1)
2228 tcp->u_nargs = sysent[tcp->scno].nargs;
2239 if (tcp->scno >= 0 && tcp->scno < nsyscalls)
2240 tcp->u_nargs = sysent[tcp->scno].nargs;
2256 if (tcp->scno >= 0 && tcp->scno < nsyscalls)
2257 tcp->u_nargs = sysent[tcp->scno].nargs;
2268 if (tcp->scno >= 0 && tcp->scno < nsyscalls && sysent[tcp->scno].nargs != -1)
2269 tcp->u_nargs = sysent[tcp->scno].nargs;
2280 if (tcp->scno >= 0 && tcp->scno < nsyscalls && sysent[tcp->scno].nargs != -1)
2281 tcp->u_nargs = sysent[tcp->scno].nargs;
2292 if (tcp->scno >= 0 && tcp->scno < nsyscalls && sysent[tcp->scno].nargs != -1)
2293 tcp->u_nargs = sysent[tcp->scno].nargs;
2306 if (tcp->scno >= 0 && tcp->scno < nsyscalls && sysent[tcp->scno].nargs != -1)
2307 tcp->u_nargs = sysent[tcp->scno].nargs;
2325 if (tcp->scno >= 0 && tcp->scno < nsyscalls && sysent[tcp->scno].nargs != -1)
2326 tcp->u_nargs = sysent[tcp->scno].nargs;
2343 if (tcp->scno >= 0 && tcp->scno < nsyscalls && sysent[tcp->scno].nargs != -1)
2344 tcp->u_nargs = sysent[tcp->scno].nargs;
2350 if (tcp->scno >= 0 && tcp->scno < nsyscalls && sysent[tcp->scno].nargs != -1)
2351 tcp->u_nargs = sysent[tcp->scno].nargs;
2360 if (tcp->scno >= 0 && tcp->scno < nsyscalls && sysent[tcp->scno].nargs != -1)
2361 tcp->u_nargs = sysent[tcp->scno].nargs;
2371 if (tcp->scno >= 0 && tcp->scno < nsyscalls &&
2372 sysent[tcp->scno].nargs > tcp->status.val)
2373 tcp->u_nargs = sysent[tcp->scno].nargs;
2427 if (res == 1 && tcp->scno >= 0 && tcp->scno < nsyscalls &&
2428 !(qual_flags[tcp->scno] & QUAL_TRACE)) {
2438 else if (tcp->scno >= nsyscalls || tcp->scno < 0)
2439 tprintf("syscall_%lu", tcp->scno);
2441 tprintf("%s", sysent[tcp->scno].sys_name);
2464 if (tcp->scno >= nsyscalls || tcp->scno < 0
2465 || (qual_flags[tcp->scno] & QUAL_RAW))
2470 sys_res = (*sysent[tcp->scno].sys_func)(tcp);
2476 if (tcp->scno >= nsyscalls || tcp->scno < 0 ||
2477 qual_flags[tcp->scno] & QUAL_RAW) {
2592 else if (tcp->scno >= nsyscalls || tcp->scno < 0)
2593 tprintf("syscall_%lu(", tcp->scno);
2595 tprintf("%s(", sysent[tcp->scno].sys_name);
2695 if (tcp->scno >=0 && tcp->scno < nsyscalls && !(qual_flags[tcp->scno] & QUAL_TRACE)) {
2709 if (tcp->scno >= nsyscalls || tcp->scno < 0)
2710 tprintf("syscall_%lu(", tcp->scno);
2712 tprintf("%s(", sysent[tcp->scno].sys_name);
2713 if (tcp->scno >= nsyscalls || tcp->scno < 0 ||
2714 ((qual_flags[tcp->scno] & QUAL_RAW) &&
2715 sysent[tcp->scno].sys_func != sys_exit))
2718 sys_res = (*sysent[tcp->scno].sys_func)(tcp);
2806 int i, scno, nargs;
2809 if ((scno = tcp->u_arg[0]) > nsyscalls) {
2810 fprintf(stderr, "Bogus syscall: %u\n", scno);
2813 nargs = sysent[scno].nargs;
2814 tprintf("%s", sysent[scno].sys_name);