1 --- strace-4.2/linux/alpha/syscallent.h.jj Sat Aug 19 16:51:50 2000
2 +++ strace-4.2/linux/alpha/syscallent.h Sat Aug 19 16:53:00 2000
4 { 2, TF, sys_pivot_root, "pivot_root" }, /* 374 */
5 { 3, 0, sys_mincore, "mincore" }, /* 375 */
6 { 3, 0, printargs, "pciconfig_iobase"}, /* 376 */
7 + { 3, 0, sys_getdents64, "getdents64" }, /* 377 */
8 --- strace-4.2/linux/sparc/syscall.h.jj Sat Aug 19 16:51:50 2000
9 +++ strace-4.2/linux/sparc/syscall.h Sat Aug 19 16:56:43 2000
10 @@ -87,7 +87,7 @@ int sys_aioread(), sys_aiowrite(), sys_a
12 int sys_chdir(),sys_chroot();
13 int sys_fchdir(),sys_fchroot();
14 -int sys_mkdir(),sys_rmdir(),sys_getdirentries(), sys_getdents(),sys_readdir();
15 +int sys_mkdir(),sys_rmdir(),sys_getdirentries(), sys_getdents(),sys_getdents64(),sys_readdir();
16 int sys_creat(),sys_open(),sys_mknod(),sys_unlink(),sys_stat(),sys_fstat(),sys_lstat();
17 int sys_chown(),sys_fchown(),sys_chmod(),sys_fchmod(),sys_utimes();
18 int sys_link(),sys_symlink(),sys_readlink(),sys_rename();
19 --- strace-4.2/linux/sparc/syscallent.h.jj Sat Aug 19 16:51:50 2000
20 +++ strace-4.2/linux/sparc/syscallent.h Sat Aug 19 16:58:29 2000
22 { 4, TN, sys_getmsg, "getmsg" }, /* 151 */
23 { 4, TN, sys_putmsg, "putmsg" }, /* 152 */
24 { 3, 0, sys_poll, "poll" }, /* 153 */
25 - { 0, 0, printargs, "SYS_154" }, /* 154 */
26 - { 1, 0, printargs, "nfssvc" }, /* 155 */
27 + { 3, 0, sys_getdents64, "getdents64" }, /* 154 */
28 + { 3, 0, sys_fcntl, "fcntl64" }, /* 155 */
29 { 4, 0, printargs, "getdirentries" }, /* 156 */
30 { 2, TF, sys_statfs, "statfs" }, /* 157 */
31 { 2, 0, sys_fstatfs, "fstatfs" }, /* 158 */
32 --- strace-4.2/linux/ia64/syscallent.h.jj Sat Aug 19 02:31:27 2000
33 +++ strace-4.2/linux/ia64/syscallent.h Sat Aug 19 16:54:25 2000
35 { 8, 0, printargs, "SYS_1211" }, /* 1211 */
36 { 8, 0, printargs, "SYS_1212" }, /* 1212 */
37 { 8, 0, printargs, "SYS_1213" }, /* 1213 */
38 - { 8, 0, printargs, "SYS_1214" }, /* 1214 */
39 + { 3, 0, sys_getdents64, "getdents64" }, /* 1214 */
40 { 8, 0, printargs, "SYS_1215" }, /* 1215 */
41 { 8, 0, printargs, "SYS_1216" }, /* 1216 */
42 { 8, 0, printargs, "SYS_1217" }, /* 1217 */
43 --- strace-4.2/linux/syscall.h.jj Sat Aug 19 16:51:50 2000
44 +++ strace-4.2/linux/syscall.h Sat Aug 19 16:52:00 2000
45 @@ -69,7 +69,7 @@ int sys_delete_module(), sys_get_kernel_
46 int sys_getpgid(), sys_fchdir(), sys_bdflush();
47 int sys_sysfs(), sys_personality(), sys_afs_syscall();
48 int sys_setfsuid(), sys_setfsgid(), sys_llseek();
49 -int sys_getdents(), sys_flock(), sys_msync();
50 +int sys_getdents(), sys_getdents64(), sys_flock(), sys_msync();
51 int sys_readv(), sys_writev(), sys_select();
52 int sys_getsid(), sys_fdatasync(), sys_sysctl();
53 int sys_mlock(), sys_munlock(), sys_mlockall(), sys_munlockall();
54 --- strace-4.2/linux/syscallent.h.jj Sat Aug 19 16:51:50 2000
55 +++ strace-4.2/linux/syscallent.h Sat Aug 19 16:56:16 2000
57 { 3, 0, sys_mincore, "mincore" }, /* 218 */
58 { 3, 0, sys_madvise, "madvise" }, /* 219 */
60 - { 5, 0, printargs, "SYS_220" }, /* 220 */
61 - { 5, 0, printargs, "SYS_221" }, /* 221 */
62 + { 3, 0, sys_getdents64, "getdents64" }, /* 220 */
63 + { 3, 0, sys_fcntl, "fcntl64" }, /* 221 */
64 { 5, 0, printargs, "SYS_222" }, /* 222 */
65 { 5, 0, printargs, "SYS_223" }, /* 223 */
66 { 5, 0, printargs, "SYS_224" }, /* 224 */
67 --- strace-4.2/file.c.jj Sat Aug 19 16:51:50 2000
68 +++ strace-4.2/file.c Sat Aug 19 16:52:00 2000
72 #define dirent kernel_dirent
73 +#define dirent64 kernel_dirent64
74 #include <linux/types.h>
75 #include <linux/dirent.h>
79 #define kernel_dirent dirent
80 +#define kernel_dirent64 dirent64
84 @@ -1622,6 +1625,53 @@ struct tcb *tcp;
93 + int i, len, dents = 0;
96 + if (entering(tcp)) {
97 + tprintf("%lu, ", tcp->u_arg[0]);
100 + if (syserror(tcp) || !verbose(tcp)) {
101 + tprintf("%#lx, %lu", tcp->u_arg[1], tcp->u_arg[2]);
105 + if ((buf = malloc(len)) == NULL) {
106 + tprintf("out of memory\n");
109 + if (umoven(tcp, tcp->u_arg[1], len, buf) < 0) {
110 + tprintf("{...}, %lu", tcp->u_arg[2]);
116 + for (i = 0; i < len;) {
117 + struct kernel_dirent64 *d = (struct kernel_dirent64 *) &buf[i];
118 + if (!abbrev(tcp)) {
119 + tprintf("%s{d_ino=%llu, d_off=%llu, ",
120 + i ? " " : "", d->d_ino, d->d_off);
121 + tprintf("d_reclen=%u, d_type=%u, d_name=\"%s\"}",
122 + d->d_reclen, d->d_type, d->d_name);
130 + tprintf("/* %u entries */", dents);
131 + tprintf(", %lu", tcp->u_arg[2]);
138 --- strace-4.2/desc.c.jj Sat Aug 19 02:31:27 2000
139 +++ strace-4.2/desc.c Sat Aug 19 16:52:00 2000
140 @@ -58,6 +58,11 @@ static struct xlat fcntlcmds[] = {
142 { F_CNVT, "F_CNVT" },
144 +#if defined(F_GETLK64) && F_GETLK64 != F_GETLK
145 + { F_GETLK64, "F_GETLK64" },
146 + { F_SETLK64, "F_SETLK64" },
147 + { F_SETLKW64, "F_SETLKW64" },
152 @@ -124,6 +129,31 @@ int getlk;
156 +#if defined(F_GETLK64) && F_GETLK64 != F_GETLK
158 +printflock64(tcp, addr, getlk)
165 + if (umove(tcp, addr, &fl) < 0) {
170 + printxval(lockfcmds, fl.l_type, "F_???");
171 + tprintf(", whence=");
172 + printxval(whence, fl.l_whence, "SEEK_???");
173 + tprintf(", start=%lld, len=%lld", fl.l_start, fl.l_len);
175 + tprintf(", pid=%lu}", (unsigned long) fl.l_pid);
182 sprintflags(xlat, flags)
184 @@ -175,6 +205,12 @@ struct tcb *tcp;
186 printflock(tcp, tcp->u_arg[2], 0);
188 +#if defined(F_GETLK64) && F_GETLK64 != F_GETLK
189 + case F_SETLK64: case F_SETLKW64:
191 + printflock64(tcp, tcp->u_arg[2], 0);
197 @@ -196,6 +232,12 @@ struct tcb *tcp;
199 printflock(tcp, tcp->u_arg[2], 1);
201 +#if defined(F_GETLK64) && F_GETLK64 != F_GETLK
204 + printflock64(tcp, tcp->u_arg[2], 1);
208 tprintf(", %#lx", tcp->u_arg[2]);