Lines Matching refs:tcp

129  *     memcpy(&tcp->u_arg[1], &something, sizeof(sigset_t))
131 * it may overflow tcp->u_arg[] array, and it may try to copy more data
134 * umoven(tcp, addr, sizeof(sigset_t), &sigset)
250 print_sigset_addr_len(struct tcb *tcp, long addr, long len)
271 if (umoven(tcp, addr, len, mask) < 0)
508 printsiginfo_at(struct tcb *tcp, long addr)
515 if (syserror(tcp)) {
519 if (umove(tcp, addr, &si) < 0) {
523 printsiginfo(&si, verbose(tcp));
527 sys_sigsetmask(struct tcb *tcp)
529 if (entering(tcp)) {
530 tprintsigmask_val("", tcp->u_arg[0]);
532 else if (!syserror(tcp)) {
533 tcp->auxstr = sprintsigmask_val("old mask ", tcp->u_rval);
565 decode_old_sigaction(struct tcb *tcp, long addr)
574 if (!verbose(tcp) || (exiting(tcp) && syserror(tcp))) {
582 r = umove(tcp, addr, &sa32);
593 r = umove(tcp, addr, &sa);
631 sys_sigaction(struct tcb *tcp)
633 if (entering(tcp)) {
634 printsignal(tcp->u_arg[0]);
636 decode_old_sigaction(tcp, tcp->u_arg[1]);
639 decode_old_sigaction(tcp, tcp->u_arg[2]);
644 sys_signal(struct tcb *tcp)
646 if (entering(tcp)) {
647 printsignal(tcp->u_arg[0]);
649 switch (tcp->u_arg[1]) {
660 tprintf("%#lx", tcp->u_arg[1]);
664 else if (!syserror(tcp)) {
665 switch (tcp->u_rval) {
667 tcp->auxstr = "SIG_ERR"; break;
669 tcp->auxstr = "SIG_DFL"; break;
671 tcp->auxstr = "SIG_IGN"; break;
673 tcp->auxstr = NULL;
683 sys_sigreturn(struct tcb *tcp)
686 if (entering(tcp)) {
723 if (umove(tcp, arm_regs.ARM_sp, &uc) < 0)
732 if (entering(tcp)) {
735 if (upeek(tcp->pid, PT_GPR15, &usp) < 0)
737 if (umove(tcp, usp + __SIGNAL_FRAMESIZE, &sc) < 0)
746 if (entering(tcp)) {
800 if (umove(tcp, *i386_esp_ptr, &signal_stack) < 0)
807 if (entering(tcp)) {
812 if (upeek(tcp->pid, PT_R12, &sp) < 0)
814 if (umove(tcp, sp + 16 + SIGFRAME_SC_OFFSET, &sc) < 0)
819 if (entering(tcp)) {
834 if (umove(tcp, esp, &sc) < 0)
839 if (entering(tcp)) {
842 if (upeek(tcp->pid, 4*PT_USP, &usp) < 0)
844 if (umove(tcp, usp, &sc) < 0)
849 if (entering(tcp)) {
852 if (upeek(tcp->pid, REG_FP, &fp) < 0)
854 if (umove(tcp, fp, &sc) < 0)
859 if (entering(tcp)) {
863 if (umove(tcp, i1, &si) < 0) {
872 if (entering(tcp)) {
875 if (upeek(tcp->pid, REG_SP, &sp) < 0)
879 if (umove(tcp, sp, &uc) < 0)
884 if (entering(tcp)) {
888 if (ptrace(PTRACE_GETREGS, tcp->pid, (char *)&regs, 0) < 0) {
893 if (umove(tcp, sp, &si) < 0)
898 if (entering(tcp)) {
901 if (ptrace(PTRACE_GETREGS, tcp->pid, NULL, (long)regs) < 0) {
905 if (umove(tcp, regs[PT_USP], &sc) < 0)
910 if (entering(tcp)) {
915 if (umove(tcp, tile_regs.sp + SIGFRAME_UC_OFFSET, &uc) < 0)
921 if (entering(tcp)) {
925 if (upeek(tcp->pid, 1 * 4, &sp) < 0)
927 if (umove(tcp, sp, &sc) < 0)
943 sys_siggetmask(struct tcb *tcp)
945 if (exiting(tcp)) {
946 tcp->auxstr = sprintsigmask_val("mask ", tcp->u_rval);
952 sys_sigsuspend(struct tcb *tcp)
954 if (entering(tcp)) {
955 tprintsigmask_val("", tcp->u_arg[2]);
968 print_stack_t(struct tcb *tcp, unsigned long addr)
985 r = umove(tcp, addr, &ss32);
995 r = umove(tcp, addr, &ss);
1007 sys_sigaltstack(struct tcb *tcp)
1009 if (entering(tcp)) {
1010 print_stack_t(tcp, tcp->u_arg[0]);
1014 print_stack_t(tcp, tcp->u_arg[1]);
1023 sys_sigprocmask(struct tcb *tcp)
1026 if (entering(tcp)) {
1038 printxval(sigprocmaskcmds, tcp->u_arg[0], "SIG_???");
1039 tprintsigmask_val(", ", tcp->u_arg[1]);
1041 else if (!syserror(tcp)) {
1042 tcp->auxstr = sprintsigmask_val("old mask ", tcp->u_rval);
1046 if (entering(tcp)) {
1047 printxval(sigprocmaskcmds, tcp->u_arg[0], "SIG_???");
1049 print_sigset_addr_len(tcp, tcp->u_arg[1], current_wordsize);
1053 if (syserror(tcp))
1054 tprintf("%#lx", tcp->u_arg[2]);
1056 print_sigset_addr_len(tcp, tcp->u_arg[2], current_wordsize);
1065 sys_kill(struct tcb *tcp)
1067 if (entering(tcp)) {
1069 widen_to_long(tcp->u_arg[0]),
1070 signame(tcp->u_arg[1])
1077 sys_tgkill(struct tcb *tcp)
1079 if (entering(tcp)) {
1081 widen_to_long(tcp->u_arg[0]),
1082 widen_to_long(tcp->u_arg[1]),
1083 signame(tcp->u_arg[2])
1090 sys_sigpending(struct tcb *tcp)
1092 if (exiting(tcp)) {
1093 if (syserror(tcp))
1094 tprintf("%#lx", tcp->u_arg[0]);
1096 print_sigset_addr_len(tcp, tcp->u_arg[0], current_wordsize);
1102 sys_rt_sigprocmask(struct tcb *tcp)
1105 if (entering(tcp)) {
1106 printxval(sigprocmaskcmds, tcp->u_arg[0], "SIG_???");
1108 print_sigset_addr_len(tcp, tcp->u_arg[1], tcp->u_arg[3]);
1112 if (syserror(tcp))
1113 tprintf("%#lx", tcp->u_arg[2]);
1115 print_sigset_addr_len(tcp, tcp->u_arg[2], tcp->u_arg[3]);
1116 tprintf(", %lu", tcp->u_arg[3]);
1146 decode_new_sigaction(struct tcb *tcp, long addr)
1155 if (!verbose(tcp) || (exiting(tcp) && syserror(tcp))) {
1162 r = umove(tcp, addr, &sa32);
1181 r = umove(tcp, addr, &sa);
1204 * Sigset size is in tcp->u_arg[4] (SPARC)
1205 * or in tcp->u_arg[3] (all other),
1222 sys_rt_sigaction(struct tcb *tcp)
1224 if (entering(tcp)) {
1225 printsignal(tcp->u_arg[0]);
1227 decode_new_sigaction(tcp, tcp->u_arg[1]);
1230 decode_new_sigaction(tcp, tcp->u_arg[2]);
1232 tprintf(", %#lx, %lu", tcp->u_arg[3], tcp->u_arg[4]);
1234 tprintf(", %lu, %#lx", tcp->u_arg[3], tcp->u_arg[4]);
1236 tprintf(", %lu", tcp->u_arg[3]);
1243 sys_rt_sigpending(struct tcb *tcp)
1245 if (exiting(tcp)) {
1252 if (syserror(tcp))
1253 tprintf("%#lx", tcp->u_arg[0]);
1255 print_sigset_addr_len(tcp, tcp->u_arg[0], tcp->u_arg[1]);
1256 tprintf(", %lu", tcp->u_arg[1]);
1262 sys_rt_sigsuspend(struct tcb *tcp)
1264 if (entering(tcp)) {
1266 print_sigset_addr_len(tcp, tcp->u_arg[0], tcp->u_arg[1]);
1267 tprintf(", %lu", tcp->u_arg[1]);
1273 print_sigqueueinfo(struct tcb *tcp, int sig, unsigned long uinfo)
1277 printsiginfo_at(tcp, uinfo);
1281 sys_rt_sigqueueinfo(struct tcb *tcp)
1283 if (entering(tcp)) {
1284 tprintf("%lu, ", tcp->u_arg[0]);
1285 print_sigqueueinfo(tcp, tcp->u_arg[1], tcp->u_arg[2]);
1291 sys_rt_tgsigqueueinfo(struct tcb *tcp)
1293 if (entering(tcp)) {
1294 tprintf("%lu, %lu, ", tcp->u_arg[0], tcp->u_arg[1]);
1295 print_sigqueueinfo(tcp, tcp->u_arg[2], tcp->u_arg[3]);
1300 int sys_rt_sigtimedwait(struct tcb *tcp)
1303 if (entering(tcp)) {
1304 print_sigset_addr_len(tcp, tcp->u_arg[0], tcp->u_arg[3]);
1307 if (tcp->u_arg[1] != 0)
1312 else if (tcp->u_arg[1] != 0) {
1314 printsiginfo_at(tcp, tcp->u_arg[1]);
1321 print_timespec(tcp, tcp->u_arg[2]);
1322 tprintf(", %lu", tcp->u_arg[3]);
1327 sys_restart_syscall(struct tcb *tcp)
1329 if (entering(tcp))
1335 do_signalfd(struct tcb *tcp, int flags_arg)
1338 if (entering(tcp)) {
1339 printfd(tcp, tcp->u_arg[0]);
1341 print_sigset_addr_len(tcp, tcp->u_arg[1], tcp->u_arg[2]);
1342 tprintf(", %lu", tcp->u_arg[2]);
1345 printflags(open_mode_flags, tcp->u_arg[flags_arg], "O_???");
1352 sys_signalfd(struct tcb *tcp)
1354 return do_signalfd(tcp, -1);
1358 sys_signalfd4(struct tcb *tcp)
1360 return do_signalfd(tcp, 3);