Date: Tue, 13 Aug 2013 19:57:36 +0000 (UTC) From: Jilles Tjoelker <jilles@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r254291 - head/usr.bin/kdump Message-ID: <201308131957.r7DJvawn066830@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: jilles Date: Tue Aug 13 19:57:35 2013 New Revision: 254291 URL: http://svnweb.freebsd.org/changeset/base/254291 Log: kdump: Improve decoding of various *at calls: * Write AT_FDCWD where appropriate. * Decode the remaining arguments of openat() etc like open() etc. Modified: head/usr.bin/kdump/kdump.c head/usr.bin/kdump/mksubr Modified: head/usr.bin/kdump/kdump.c ============================================================================== --- head/usr.bin/kdump/kdump.c Tue Aug 13 19:55:12 2013 (r254290) +++ head/usr.bin/kdump/kdump.c Tue Aug 13 19:57:35 2013 (r254291) @@ -606,6 +606,27 @@ ktrsyscall(struct ktr_syscall *ktr, u_in if (fancy && (flags == 0 || (flags & SV_ABI_MASK) == SV_ABI_FREEBSD)) { switch (ktr->ktr_code) { + case SYS_faccessat: + case SYS_fchmodat: + case SYS_fchownat: + case SYS_fstatat: + case SYS_futimesat: + case SYS_linkat: + case SYS_mkdirat: + case SYS_mkfifoat: + case SYS_mknodat: + case SYS_openat: + case SYS_readlinkat: + case SYS_renameat: + case SYS_unlinkat: + putchar('('); + atfdname(*ip, decimal); + c = ','; + ip++; + narg--; + break; + } + switch (ktr->ktr_code) { case SYS_ioctl: { print_number(ip, narg, c); putchar(c); @@ -624,6 +645,7 @@ ktrsyscall(struct ktr_syscall *ktr, u_in break; case SYS_access: case SYS_eaccess: + case SYS_faccessat: print_number(ip, narg, c); putchar(','); accessmodename(*ip); @@ -631,6 +653,7 @@ ktrsyscall(struct ktr_syscall *ktr, u_in narg--; break; case SYS_open: + case SYS_openat: print_number(ip, narg, c); putchar(','); flagsandmodename(ip[0], ip[1], decimal); @@ -655,6 +678,7 @@ ktrsyscall(struct ktr_syscall *ktr, u_in narg--; break; case SYS_mknod: + case SYS_mknodat: print_number(ip, narg, c); putchar(','); modename(*ip); @@ -860,7 +884,9 @@ ktrsyscall(struct ktr_syscall *ktr, u_in narg--; break; case SYS_mkfifo: + case SYS_mkfifoat: case SYS_mkdir: + case SYS_mkdirat: print_number(ip, narg, c); putchar(','); modename(*ip); @@ -1083,6 +1109,15 @@ ktrsyscall(struct ktr_syscall *ktr, u_in ip++; narg--; break; + case SYS_linkat: + case SYS_renameat: + case SYS_symlinkat: + print_number(ip, narg, c); + putchar(','); + atfdname(*ip, decimal); + ip++; + narg--; + break; case SYS_cap_new: case SYS_cap_rights_limit: print_number(ip, narg, c); Modified: head/usr.bin/kdump/mksubr ============================================================================== --- head/usr.bin/kdump/mksubr Tue Aug 13 19:55:12 2013 (r254290) +++ head/usr.bin/kdump/mksubr Tue Aug 13 19:57:35 2013 (r254291) @@ -209,6 +209,18 @@ cat <<_EOF_ while (0) /* MANUAL */ +void +atfdname(int fd, int decimal) +{ + if (fd == AT_FDCWD) + printf("AT_FDCWD"); + else if (decimal) + printf("%d", fd); + else + printf("%#x", fd); +} + +/* MANUAL */ extern char *signames[]; /* from kdump.c */ void signame(int sig)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201308131957.r7DJvawn066830>