]> granicus.if.org Git - strace/blob - ChangeLog
.
[strace] / ChangeLog
1 2005-05-31  Dmitry V. Levin  <ldv@altlinux.org>
2
3         Deal with memory management issues.
4         * defs.h (tprint_iov): Update prototype.
5         * desc.c (sys_epoll_wait) [HAVE_SYS_EPOLL_H]: Do not allocate
6         epoll_event array of arbitrary size on the stack, to avoid
7         stack overflow.
8         * file.c (print_xattr_val): Check for integer overflow during
9         malloc size calculation, to avoid heap corruption.
10         * io.c (tprint_iov) [HAVE_SYS_UIO_H]: Check for integer overflow
11         during malloc size calculation, to avoid heap corruption.
12         Change iovec array handling to avoid heap memory allocation.
13         * mem.c (get_nodes) [LINUX]: Check for integer overflow during
14         size calculation and do not allocate array of arbitrary size on
15         the stack, to avoid stack overflow.
16         * net.c (printcmsghdr) [HAVE_SENDMSG]: Do not allocate array of
17         arbitrary size on the stack, to avoid stack overflow.  Do not
18         trust cmsg.cmsg_len to avoid read beyond the end of allocated
19         object.
20         (printmsghdr) [HAVE_SENDMSG]: Update tprint_iov() usage.
21         * process.c (sys_setgroups): Check for integer overflow during
22         malloc size calculation, to avoid heap corruption.  Change gid_t
23         array handling to avoid heap memory allocation.
24         (sys_getgroups): Likewise.
25         (sys_setgroups32) [LINUX]: Likewise.
26         (sys_getgroups32) [LINUX]: Likewise.
27         * stream.c (sys_poll) [HAVE_SYS_POLL_H]: Check for integer
28         overflow during malloc size calculation, to avoid heap corruption.
29         Change pollfd array handling to avoid heap memory allocation.
30         * system.c (sys_sysctl) [LINUX]: Check for integer overflow
31         during malloc size calculation, to avoid heap corruption.
32         * util.c (dumpiov) [HAVE_SYS_UIO_H]: Check for integer overflow
33         during malloc size calculation, to avoid heap corruption.
34         Fixes RH#159196.
35
36         * util.c (printxval): Change third argument from "char *" to
37         "const char *".
38         (printflags): Add third argument, "const char *", with similar
39         meaning to the third argument of printxval().
40         * defs.h (printxval): Change third argument from "char *" to
41         "const char *".
42         (printflags): Add third argument.
43         * bjm.c (sys_query_module) [LINUX]: Pass third argument to
44         printflags().
45         * desc.c (sys_fcntl): Likewise.
46         (sys_flock) [LOCK_SH]: Likewise.
47         (print_epoll_event) [HAVE_SYS_EPOLL_H]: Likewise.
48         * file.c (sys_open): Likewise.
49         (solaris_open) [LINUXSPARC]: Likewise.
50         (sys_access): Likewise.
51         (sys_chflags, sys_fchflags) [FREEBSD]: Likewise.
52         (realprintstat) [HAVE_LONG_LONG_OFF_T &&
53         HAVE_STRUCT_STAT_ST_FLAGS]: Likewise.
54         (printstat64) [HAVE_STAT64 &&
55         HAVE_STRUCT_STAT_ST_FLAGS]: Likewise.
56         (sys_setxattr, sys_fsetxattr): Likewise.
57         * ipc.c (sys_msgget, sys_msgsnd, sys_msgrcv, sys_semget,
58         sys_shmget, sys_shmat) [LINUX || SUNOS4 || FREEBSD]: Likewise.
59         (sys_mq_open) [LINUX]: Likewise.
60         (printmqattr) [HAVE_MQUEUE_H]: Likewise.
61         * mem.c (print_mmap) [!HAVE_LONG_LONG_OFF_T]: Likewise.
62         (sys_mmap64) [_LFS64_LARGEFILE || HAVE_LONG_LONG_OFF_T]: Likewise.
63         (sys_mprotect): Likewise.
64         (sys_mremap, sys_madvise, sys_mlockall) [LINUX]: Likewise.
65         (sys_msync) [MS_ASYNC]: Likewise.
66         (sys_mctl) [MC_SYNC]: Likewise.
67         (sys_remap_file_pages, sys_mbind, sys_get_mempolicy) [LINUX]:
68         Likewise.
69         * net.c (printmsghdr) [HAVE_STRUCT_MSGHDR_MSG_CONTROL]: Likewise.
70         (sys_send, sys_sendto): Likewise.
71         (sys_sendmsg) [HAVE_SENDMSG]: Likewise.
72         (sys_recv, sys_recvfrom): Likewise.
73         (sys_recvmsg) [HAVE_SENDMSG]: Likewise.
74         (printicmpfilter) [ICMP_FILTER]: Likewise.
75         * proc.c (proc_ioctl) [SVR4 && !HAVE_MP_PROCFS || FREEBSD]: Likewise.
76         * process.c (sys_clone) [LINUX]: Likewise.
77         (printwaitn): Likewise.
78         (sys_waitid) [SVR4 || LINUX]: Likewise.
79         * signal.c (sys_sigvec) [SUNOS4 || FREEBSD]: Likewise.
80         (sys_sigaction): Likewise.
81         (printcontext) [SVR4]: Likewise.
82         (print_stack_t) [LINUX) || FREEBSD]: Likewise.
83         (sys_rt_sigaction) [LINUX]: Likewise.
84         * sock.c (sock_ioctl) [LINUX]: Likewise.
85         * stream.c (sys_putmsg, sys_getmsg): Likewise.
86         (sys_putpmsg) [SYS_putpmsg]: Likewise.
87         (sys_getpmsg) [SYS_getpmsg]: Likewise.
88         (sys_poll): Likewise.
89         (print_transport_message) [TI_BIND]: Likewise.
90         (stream_ioctl): Likewise.
91         * system.c (sys_mount, sys_reboot): Likewise.
92         (sys_cacheflush) [LINUX && M68K]: Likewise.
93         (sys_capget, sys_capset) [SYS_capget]: Likewise.
94         * term.c (term_ioctl) [TIOCMGET]: Likewise.
95         * time.c (sys_clock_nanosleep, sys_timer_settime) [LINUX]:
96         Likewise.
97         Fixes RH#159310.
98
99         * bjm.c (sys_query_module) [LINUX]: Unitize "out of memory"
100         errors reporting style.
101         * strace.c (rebuild_pollv) [USE_PROCFS]: Likewise.
102         * system.c (sys_capget, sys_capset) [SYS_capget]: Likewise.
103         * util.c (printstr): Likewise.
104         (dumpiov) [HAVE_SYS_UIO_H]: Likewise.
105         (fixvfork) [SUNOS4]: Likewise.
106         * desc.c (decode_select): Continue to decode syscall arguments
107         in case of OOM condition.
108         * file.c (sys_getdents): Likewise.
109         (sys_getdents64) [_LFS64_LARGEFILE]: Likewise.
110         (sys_getdirentries) [FREEBSD]: Likewise.
111         * mem.c (sys_mincore): Changed type of variables which deal with
112         malloc size from int to unsigned long.
113         Fixes RH#159308.
114
115 2005-05-22  Dmitry V. Levin  <ldv@altlinux.org>
116
117         * bjm.c [LINUX]: Do not include <linux/linkage.h>.  It is not
118         safe to include kernel headers, and this one is not used anyway.
119         Fixes RH#158488.
120
121 2005-05-26  Roland McGrath  <roland@redhat.com>
122
123         * system.c (sys_sysctl): Check for errors accessing user pointers.
124         Use malloc instead of alloca in case size is insane.
125
126 2005-05-09  Roland McGrath  <roland@redhat.com>
127
128         * configure.ac: Check for libaio.h.
129         * desc.c (sys_io_setup, sys_io_submit, sys_io_cancel,
130         sys_io_getevents, sys_io_destroy): New functions.
131         * linux/syscall.h: Declare them.
132         * linux/syscallent.h: Use those for io_* syscalls.
133         * linux/alpha/syscallent.h: Likewise.
134         * linux/hppa/syscallent.h: Likewise.
135         * linux/ia64/syscallent.h: Likewise.
136         * linux/mips/syscallent.h: Likewise.
137         * linux/powerpc/syscallent.h: Likewise.
138         * linux/s390/syscallent.h: Likewise.
139         * linux/s390x/syscallent.h: Likewise.
140         * linux/x86_64/syscallent.h: Likewise.
141         From Zach Brown <zach.brown@oracle.com>.
142         Fixes RH#155065.
143
144         * debian/control (Architecture): Add ppc64.
145         Fixes Debian bug #301089.
146
147 2005-05-05  Anton Blanchard  <anton@samba.org>
148
149         * process.c (ptrace_cmds): Add PTRACE_GETVRREGS and PTRACE_SETVRREGS
150         if defined.
151
152 2005-05-09  Roland McGrath  <roland@redhat.com>
153
154         * strace.c (main): Refuse negative -s argument value.
155         Fixes Debian bug #303256.
156
157 2005-04-25  Anton Blanchard  <anton@samba.org>
158
159         * file.c (openmodes): Add O_NOATIME flag if defined.
160
161 2005-04-05  Anton Blanchard  <anton@samba.org>
162
163         * linux/powerpc/ioctlent.h: Regenerated.
164
165         * signal.c (signame): Don't try and dereference negative index.
166
167         * linux/powerpc/syscallent.h: Add debug_setcontext, vserver,
168         mbind, *_mempolicy, mq_*, sys_kexec_load, add_key, request_key,
169         keyctl, waitid, sys_semtimedop.  Fix various other syscalls.
170
171         * ipc.c (shm_resource_flags): New variable, table has SHM_HUGETLB
172         but not IPC_NOWAIT, which have the same value.
173         (sys_shmget): Use that instead of resource_flags.
174
175 2005-03-22  Roland McGrath  <roland@redhat.com>
176
177         * desc.c (decode_select): Increase local buffer size.
178         Fixes RH#151570.
179
180         * configure.ac, NEWS: Version 4.5.11.
181         * debian/changelog, strace.spec: 4.5.11-1.
182
183         * linux/arm/syscallent.h: Fix 113 entry (syscall, not vm86old).
184
185 2005-03-14  Roland McGrath  <roland@redhat.com>
186
187         * configure.ac, NEWS: Version 4.5.10.
188         * debian/changelog, strace.spec: 4.5.10-1.
189
190 2005-02-26  GOTO Masanori  <gotom@debian.or.jp>
191
192         * linux/alpha/syscallent.h: Fix the reversed order of lstat64 and
193         fstat64.  Clean up osf_nrecvmsg and osf_ngetsockname.
194
195 2005-02-28  Andreas Schwab  <schwab@suse.de>
196
197         * syscall.c (getrval2): Move #ifdef IA64 inside #ifdef LINUX.
198
199 2005-03-14  Roland McGrath  <roland@redhat.com>
200
201         * linux/mips/syscallent.h: Update various calls.
202         From Thiemo Seufer <ths@networkno.de>.
203         Fixes Debian bug #256684.
204
205         * debian/control (Architecture): Add s390.
206         Fixes Debian bug #294172.
207
208 2005-03-06  Roland McGrath  <roland@redhat.com>
209
210         * strace.c (trace) [PTRACE_GETSIGINFO]: Fetch siginfo_t for SIGSEGV
211         and SIGBUS signals, use si_addr in output.
212
213 2005-03-01  Roland McGrath  <roland@redhat.com>
214
215         * file.c (print_xattr_val): Add a cast.
216
217 2005-02-05  Roland McGrath  <roland@redhat.com>
218
219         * desc.c (decode_select): Calculate size of passed fd_set vectors and
220         copy in the user's size rather than the standard sizeof(fd_set).
221         Fixes Debian bug #65654, #284290.
222
223         * util.c (printpath, printpathn): Print NULL and don't try any fetch
224         when ADDR is zero.
225         Fixes Debian bug #63093.
226
227         * debian/control (Build-Depends): Fix for s390 and sparc.
228         From Bastian Blank <waldi@debian.org>.
229         Fixes Debian bug #293564.
230
231 2004-12-19  Dmitry V. Levin  <ldv@altlinux.org>
232
233         * strace.c (main) [!USE_PROCFS]: In child process, raise SIGSTOP
234         right before execv() call.  Remove fake_execve() call.
235         * defs.h (fake_execve): Remove unused declaration.
236         * process.c (fake_execve): Remove unused function.
237         Fixes RH#143365.
238
239 2005-02-04  Roland McGrath  <roland@redhat.com>
240
241         * configure.ac, NEWS: Version 4.5.9.
242         * debian/changelog, strace.spec: 4.5.9-2.
243
244         * file.c (O_LARGEFILE): Omit when #undef'd because it was zero.
245
246 2005-02-02  Roland McGrath  <roland@redhat.com>
247
248         * debian/control: Add strace-udeb package for installer debugging.
249         * debian/rules (binary-arch): Build it.
250         From Joshua Kwan <joshk@triplehelix.org>.
251         Fixes Debian bug #268294.
252
253         * file.c (openmodes) [O_LARGEFILE] [O_LARGEFILE == 0]: Redefine to
254         known values for Linux.
255
256         * util.c (printcall): Print 16 ?s when long is 8 bytes.
257         Fixes RH#146932.
258
259         * linux/sparc/syscall.h: Declare sys_epoll_create, sys_epoll_ctl,
260         sys_epoll_wait.
261         * linux/sparc64/syscall.h: Just #include "../sparc/syscall.h" here.
262         * ioctl.c (nioctlents2): Add const to type.
263         Fixes Debian bug #278449.
264
265         * sock.c (iffflags): New variable, table of IFF_* values.
266         (print_addr): New function.
267         (sock_ioctl): Handle SIOCGIFADDR, SIOCGIFDSTADDR, SIOCGIFBRDADDR,
268         SIOCGIFNETMASK, SIOCGIFFLAGS, SIOCGIFMETRIC, SIOCGIFMTU, SIOCGIFSLAVE,
269         SIOCGIFHWADDR.  Use print_addr for SIOCGIFCONF, SIOCGIFNAME, and
270         SIOCGIFINDEX, and fix their output.
271         From Ulrich Drepper <drepper@redhat.com>.
272         Fixes RH#138223.
273         Fixes Debian bug #192164.
274
275 2004-12-20  Dmitry V. Levin  <ldv@altlinux.org>
276
277         * configure.ac: Use AC_GNU_SOURCE macro instead of changing CFLAGS.
278         * defs.h [HAVE_CONFIG_H]: Include config.h first.
279         * strace.c: Include "defs.h" first.
280         Fixes RH#143370.
281
282         * syscall.c (call_summary): Fix potential NULL dereference.
283         Fixes RH#143369.
284
285 2004-12-19  Dmitry V. Levin  <ldv@altlinux.org>
286
287         * syscall.c (qual_signal): Check bounds for numeric signal names.
288         Fix parser of symbolic signal names.
289         Fix return code, as required by qualify() function.
290         * syscall.c (qual_desc): Check bounds for descriptor number.
291         * syscall.c (qual_syscall): Correct return code, to be consistent
292         with qualify() and other qual_* functions.
293         Fixes RH#143362.
294
295 2005-02-01  Roland McGrath  <roland@redhat.com>
296
297         * system.c [LINUX] (MS_MANDLOCK, MS_NOATIME, MS_NODIRATIME, MS_BIND,
298         MS_MOVE, MS_REC, MS_VERBOSE, MS_POSIXACL, MS_ACTIVE, MS_NOUSER):
299         New macros.
300         [LINUX] (mount_flags): Add them.
301         [LINUX] (sys_mount): If any of (MS_BIND|MS_MOVE|MS_REMOUNT) bits are
302         set in the flags argument, don't try to fetch the filesystem string.
303         Fixes RH#141932.
304
305         * config.guess: Update from canonical version, timestamp 2004-11-12.
306         * config.sub: Likewise, timestamp 2004-11-30.
307
308         * process.c [LINUX] [X86_64] (sys_arch_prctl): New function.
309         * linux/syscall.h: Declare it.
310         * linux/x86_64/syscallent.h: Use it.
311         Part of RH#142667.
312
313         * process.c (sys_sched_setscheduler): Use %#lx format for bad pointer.
314         (sys_sched_getparam, sys_sched_setparam): Likewise.
315         Part of RH#142667.
316
317         * signal.c [HAVE_SIGACTION] [LINUX && X86_64] (SA_RESTORER): Define
318         here too.
319         Part of RH#142667.
320
321         * linux/syscallent.h: Use sys_mincore instead of printargs.
322         * linux/x86_64/syscallent.h: Likewise.  Also use sys_getrlimit,
323         sys_semtimedop, sys_umount2.
324         Part of RH#142667.
325
326         * syscall.c (qual_signal): Fix inverted return value and bogus
327         argument to qualify_one in the named case.
328
329         * file.c (print_xattr_val): Don't use auto array sized by syscall
330         argument.  Use malloc instead, so it can fail for insane values.
331         Fixes Debian bug #283704.
332
333         * net.c (sys_getsockopt): Fix a format %ld -> %d.
334
335         * linux/syscall.h [IA64] (SYS_semtimedop): #undef it.
336
337         * syscall.c (syscall_enter) [X86_64]: Fix 32-bit argument register map
338         not to double the middle entry!
339         Fixes RH#146093.
340
341         * linux/x86_64/syscallent.h: Fix exit_group entry.
342
343         * util.c (getpc) [S390 || S390X]: Implement it.
344         Patch by David Wilder <wilder@us.ibm.com>.
345
346         * linux/ia64/syscallent.h: Add fadvise64, fstatfs64, statfs64, mbind,
347         [gs]et_mempolicy, mq_*, sys_kexec_load, vserver, and waitid.
348         Fixes RH#146245.
349
350 2005-01-22  Andreas Schwab  <schwab@suse.de>
351
352         * net.c (sys_getsockopt): Change type of len to int.
353
354 2004-10-19  Roland McGrath  <roland@redhat.com>
355
356         * configure.ac, NEWS: Version 4.5.8.
357         * debian/changelog, strace.spec: 4.5.8-1.
358
359         * file.c (sys_fadvise64): Conditionalize just on [LINUX].
360
361         * configure.ac: Check for sys/epoll.h.
362         * desc.c: Protect #include <sys/epoll.h> with [HAVE_SYS_EPOLL_H].
363         (epollctls, epollevents): Protect each entry with #ifdef on its macro.
364
365         * strace.c (handle_group_exit): Don't detach leader that wasn't
366         TCB_ATTACHED.  Instead mark it with TCB_GROUP_EXITING.
367         Remove droptcb loop at end, no longer required since 2.6 reports each
368         thread death.
369         Fixes RH#135254.
370
371         * strace.c (trace): Use handle_group_exit for non-TCB_ATTACHED child
372         taking signal when it has nclone_threads > 0.
373
374         * strace.c (handle_group_exit, trace): Mark leader with
375         TCB_GROUP_EXITING and don't be surprised at child deaths when their
376         leader has it set.
377         Fixes RH#132150.
378
379         * process.c (WCOREFLAG): Define if not defined.
380         (W_STOPCODE, W_EXITCODE): Likewise.
381         Reported by Marty Leisner <mleisner@eng.mc.xerox.com>.
382
383         * sock.c [! LINUX]: Include <sys/socket.h> before <sys/sockio.h>.
384         Reported by Marty Leisner <mleisner@eng.mc.xerox.com>.
385
386         * debian/rules: Make strace64.1.gz symlink to strace.1.gz instead of
387         strace64.1 to strace.1, which doesn't exist.
388         Fixes Debian bug #269220.
389
390 2004-09-05  Phil Blundell  <pb@nexus.co.uk>
391
392         * linux/arm/syscallent.h: New file.
393
394 2004-10-19  Roland McGrath  <roland@redhat.com>
395
396         * debian/rules (DEB_BUILD_GNU_TYPE, CONFIG_OPTS): New variables.
397         [$(DEB_HOST_GNU_TYPE) == s390-linux] (build64, HOST64, CC64): Set them.
398         (build/Makefile): Use $(CONFIG_OPTS).
399         (build64/Makefile): Pass --host as well as --build.
400         From Bastian Blank <waldi@debian.org>.
401         Fixes Debian bug #271500.
402
403         * linux/hppa/syscallent.h: Update for 2.6.9 syscalls.
404         From Randolph Chung <tausq@debian.org>
405         Fixes Debian bug #273887.
406
407         * file.c (sys_llseek): Revert last change.
408
409 2004-09-14  Richard Henderson  <rth@twiddle.net>
410
411         * linux/alpha/syscallent.h: Add tgkill, *stat64, vserver, mbind,
412         [gs]et_mempolicy, mq_*, waitid.
413
414 2004-10-07  Roland McGrath  <roland@redhat.com>
415
416         * file.c (sys_llssek, sys_readahead, sys_fadvise64, sys_fadvise64_64):
417         Use LONG_LONG macro.
418         * io.c (sys_pread, sys_pwrite, sys_sendfile): Likewise.
419
420         * linux/x86_64/syscallent.h: Fix botched table entries.
421         From Ulrich Drepper <drepper@redhat.com>.
422
423         * mem.c [LINUX] (sys_mbind, sys_set_mempolicy, sys_get_mempolicy):
424         New functions.
425         * linux/syscall.h: Declare them.
426         * linux/x86_64/syscallent.h: Likewise.
427         From Ulrich Drepper <drepper@redhat.com>.
428
429         * linux/syscallent.h: Handle mbind, set_mempolicy, get_mempolicy.
430         From Ulrich Drepper <drepper@redhat.com>.
431
432         * file.c [LINUX && (I386 || X86_64)] (sys_fadvise64, sys_fadvise64_64):
433         New functions.
434         * linux/syscall.h: Declare them.
435         * linux/syscallent.h: Handle fadvise64 and fadvise64_64 using those.
436         * linux/x86_64/syscallent.h: Likewise.
437         From Ulrich Drepper <drepper@redhat.com>.
438
439 2004-09-13  Dmitry V. Levin  <ldv@altlinux.org>
440
441         * linux/ioctlsort.c (main): Omit duplicate lines
442         (with same name and code) from output.
443         * linux/ioctlent.sh: Build the list of ioctls defined in
444         scsi/sg.h (0x22..), scsi/scsi.h and scsi/scsi_ioctl.h (0x53..),
445         as suggested by Peter Jones <pjones@redhat.com>
446         * linux/ioctlent.h: Regenerated.
447         Fixes RH#129808.
448
449 2004-09-13  Ulrich Drepper <drepper@redhat.com>
450             Dmitry V. Levin <ldv@altlinux.org>
451
452         * time.c [LINUX] (print_rtc): New function, for printing rtc_time
453         structure.
454         [LINUX] (rtc_ioctl): New function, for parsing RTC_* ioctls.
455         * ioctl.c [LINUX] (ioctl_decode): Call rtc_ioctl.
456         * defs.h [LINUX]: Declare rtc_ioctl.
457         Fixes RH#58606.
458
459 2004-10-06  Roland McGrath  <roland@redhat.com>
460
461         * desc.c [LINUX] (sys_epoll_create, sys_epoll_ctl, sys_epoll_wait):
462         New functions.
463         * linux/syscall.h: Declare them.
464         * linux/syscallent.h: Use those for epoll_* syscalls.
465         * linux/alpha/syscallent.h: Likewise.
466         * linux/hppa/syscallent.h: Likewise.
467         * linux/ia64/syscallent.h: Likewise.
468         * linux/powerpc/syscallent.h: Likewise.
469         * linux/s390/syscallent.h: Likewise.
470         * linux/s390x/syscallent.h: Likewise.
471         * linux/sparc/syscallent.h: Likewise.
472         * linux/sparc64/syscallent.h: Likewise.
473         * linux/sparc64/syscallent2.h: Likewise.
474         * linux/x86_64/syscallent.h: Likewise.
475         From Ulrich Drepper <drepper@redhat.com>.
476         Fixes RH#134463.
477
478         * resource.c (resources): Add RLIMIT_LOCKS, RLIMIT_SIGPENDING,
479         and RLIMIT_MSGQUEUE, if defined.
480         From Ulrich Drepper <drepper@redhat.com>.
481         Fixes RH#133594.
482
483         * net.c [HAVE_SENDMSG] (printcmsghdr): New function.
484         (printmsghdr): Use it.
485         From Ulrich Drepper <drepper@redhat.com>.
486         Fixes RH#131689.
487
488         * file.c (sprintmode): Add const to return type.
489         (sprintfstype): Likewise.
490         * signal.c (printsiginfo): Add a const.
491
492 2004-09-15  Roland McGrath  <roland@redhat.com>
493
494         * linux/x86_64/syscallent.h: Use sys_waitid.
495
496         * linux/syscallent.h: waitid takes 5 arguments, and is in TP category.
497         * process.c (sys_waitid): Handle fifth argument (struct rusage *).
498
499 2004-09-11  Roland McGrath  <roland@redhat.com>
500
501         * time.c (sys_clock_nanosleep): Print zero flags arg correctly.
502         (sys_timer_settime): Likewise.
503         (printsigevent): Print signals by name for SIGEV_SIGNAL.
504         (sys_timer_create): Print clock ID symbolically.
505         From Ulrich Drepper <drepper@redhat.com>.
506         Fixes RH#131420.
507
508 2004-09-07  Michal Ludvig  <mludvig@suse.cz>
509
510         * defs.h (nioctlents1, nsignals2): Fix typos in decls.
511
512 2004-09-03  Roland McGrath  <roland@redhat.com>
513
514         * syscall.c (qual_options): Add const to defn.
515         Update all uses.
516         (call_count, error_count, tv_count): Variables removed.
517         (struct call_counts, counts): New type and variable.
518         Update all users of the old three to use the new array of structs.
519         (trace_syscall): Allocate counts on first use.
520         (sorted_count): Variable removed.
521         (call_summary): Allocate locally.
522
523         * syscall.c (sysent0, sysent1, sysent2, sysent): Add const to defn.
524         (nsyscalls0, nsyscalls1, nsyscalls2): Likewise.
525         (errnoent0, errnoent1, errnoent2, errnoent): Likewise.
526         (nerrnos0, nerrnos1, nerrnos2): Likewise.
527         * signal.c (signalent0, signalent1, signalent2): Likewise.
528         (nsignals0, nsignals1, nsignals2): Likewise.
529         (signame): LIkewise.
530         * ioctl.c (ioctlent0, ioctlent1, ioctlent2): Likewise.
531         (nioctlents0, nioctlents1, nioctlents2): Likewise.
532         (ioctl_lookup, ioctl_next_match): Likewise.
533         * defs.h: Update decls.
534         * io.c (sys_ioctl): Update users.
535
536         * util.c (xlookup, printxval, addflags, printflags): Use const for
537         struct xlat * argument.
538         * defs.h (xlookup, printxval, addflags, printflags): Update decls.
539         * bjm.c: Add const to all struct xlat defns.
540         * desc.c: Likewise.
541         * file.c: Likewise.
542         * ipc.c: Likewise.
543         * mem.c: Likewise.
544         * net.c: Likewise.
545         * proc.c: Likewise.
546         * process.c: Likewise.
547         * resource.c: Likewise.
548         * signal.c: Likewise.
549         * sock.c: Likewise.
550         * stream.c: Likewise.
551         * system.c: Likewise.
552         * term.c: Likewise.
553         * time.c: Likewise.
554         * util.c: Likewise.
555
556 2004-09-01  Roland McGrath  <roland@redhat.com>
557
558         * linux/x86_64/syscallent.h: Add new entries for timer_*, clock_*, and
559         mq_* syscalls, and names only for new calls up to 252.
560         * linux/syscallent.h: Add waitid.
561         * linux/x86_64/syscallent.h: Likewise.
562         * linux/syscall.h: Declare sys_waitid.
563
564         * process.c (internal_wait): Take second arg giving index of flags
565         argument.
566         * defs.h: Update prototype.
567         * syscall.c (internal_syscall): Update caller.
568         Also use internal_wait for SYS_waitid.
569         * process.c (sys_waitid): Define for [LINUX] as well.
570         Don't tweak TCB_SUSPENDED--internal_wait does that.
571         (waitid_types): Conditionalize use of nonstandard P_* macros.
572
573 2004-08-31  Roland McGrath  <roland@redhat.com>
574
575         * configure.ac, NEWS: Version 4.5.7.
576         * debian/changelog: 4.5.7-1.
577         * strace.spec: 4.5.7-2.
578
579         * debian/rules: Rewrite sparc64 change of 2004-07-12.
580         Always do each build in a separate build directory.
581         Fixes Debian bug #254728.
582
583         * time.c (clocknames): Use #ifdef around CLOCK_* uses.
584
585         * strace.1: Say that -c shows system CPU time, not real time.
586         Fixes Debian bug #254438.
587
588         * syscall.c (dumpio): Match pread and pwrite system calls too.
589         Fixes Debian bug #239947.
590
591         * net.c (sockoptions): Add all SO_* macros known in Linux 2.6.9.
592         Fixes Debian bug #171653.
593
594 2004-07-12  Dmitry V. Levin  <ldv@altlinux.org>
595
596         * signal.c [LINUX] (parse_sigset_t): Fix hex strings parser.
597         Fixes RH#128091.
598
599 2004-08-30  Roland McGrath  <roland@redhat.com>
600
601         * strace.c (main): Don't call fake_execve under -c.
602         From Ulrich Drepper <drepper@redhat.com>.
603         Fixes RH#129166.
604
605         * net.c (sockipoptions): Add some options.
606         [SOL_IPV6] (sockipv6options): New variable.
607         (sys_getsockopt, printsockopt): Use it for SOL_IPV6 level.
608         From Ulrich Drepper <drepper@redhat.com>.
609         Fixes RH#128391.
610
611         * time.c (clocknames): New variable, symbolic names for clock_t.
612         (sys_clock_settime, sys_clock_gettime, sys_clock_nanosleep): Use it.
613         From Ulrich Drepper <drepper@redhat.com>.
614         Fixes RH#129378.
615
616         * system.c (personality_options): Hard-code values here.
617         Don't #include <linux/personality.h> at all.
618         Fixes RH#130965 and Debian bug #40588.
619
620         * file.c (print_xattr_val): New function to show attribute values.
621         (sys_setxattr, sys_fsetxattr, sys_getxattr, sys_fgetxattr): Use it.
622         From Ulrich Drepper <drepper@redhat.com>.
623         Fixes RH#131177.
624
625 2004-07-12  Roland McGrath  <roland@redhat.com>
626
627         * configure.ac, NEWS: Version 4.5.6.
628         * strace.spec, debian/changelog: 4.5.6-1.
629
630         * Makefile.am (EXTRA_DIST): Add linux/sparc64 files.
631
632         * debian/rules: On sparc-linux, build strace64 as well.
633         From Ben Collins <bcollins@debian.org>.
634         Fixes Debian bug #254728.
635
636 2004-07-07  David S. Miller  <davem@nuts.davemloft.net>
637
638         * linux/sparc/syscallent.h: Sync with reality.
639         * linux/sparc/syscall.h (sys_sendfile64, sys_futex, sys_gettid,
640         sys_sched_setaffinity, sys_sched_getaffinity, sys_setxattr,
641         sys_lsetxattr, sys_fsetxattr, sys_getxattr, sys_lgetxattr,
642         sys_fgetxattr, sys_listxattr, sys_llistxattr, sys_flistxattr,
643         sys_removexattr, sys_lremovexattr, sys_fremovexattr,
644         sys_remap_file_pages, sys_readahead, sys_tgkill, sys_statfs64,
645         sys_fstatfs64, sys_clock_settime, sys_clock_gettime,
646         sys_clock_getres, sys_clock_nanosleep, sys_timer_create,
647         sys_timer_settime, sys_timer_gettime): New declarations.
648         * linux/sparc64/dummy2.h, linux/sparc64/syscallent2.h,
649         linux/sparc64/syscall.h, linux/sparc64/errnoent.h,
650         linux/sparc64/errnoent1.h, linux/sparc64/errnoent2.h,
651         linux/sparc64/ioctlent.h, linux/sparc64/ioctlent1.h,
652         linux/sparc64/ioctlent2.h, linux/sparc64/signalent.h,
653         linux/sparc64/signalent.h, linux/sparc64/signalent.h,
654         linux/sparc64/signalent1.h, linux/sparc64/signalent2.h,
655         linux/sparc64/syscall1.h, linux/sparc64/syscallent.h,
656         linux/sparc64/syscallent1.h: New files.
657         * defs.h (LINUXSPARC): Define also when SPARC64.
658         (LINUX && SPARC64): Set SUPPORTED_PERSONALITIES to 3.
659         Ignore SIGTRAP after execve by defining TCB_WAITEXECVE.
660         Define possibly missing __NR_exit_group.  Declare getrval2.
661         * configure.ac (sparc64): New architecture case.
662         * file.c (stat_sparc64): New structure.
663         (printstat_sparc64): New output routine for that.
664         (printstat): Call it, if personality is 2.
665         (printstat64): Likewise.
666         * util.c: Conditionalize ptrace defines on LINUXSPARC
667         not LINUX && SPARC.
668         (SPARC64 && LINUX): Define r_pc to r_tpc, and PTRACE_FOOREGS
669         to PTRACE_FOOREGS64 so that more sparc code can be shared
670         between 64-bit and 32-bit.
671         (_hack_syscall5): Correct trap number when SPARC64.
672         (PTRACE_WRITE{TEXT,DATA}): Add SPARC64 to ifdef guard.
673         (getpc): Handle SPARC64 && LINUX.
674         (printcall): Likewise.
675         (arg fetching/setting): Use same code for SPARC64 LINUX
676         as for SPARC.
677         (setbpt): Handle SPARC64 && LINUX.
678         (clearbpt): Likewise.
679         * signal.c: Conditionalize ptrace defines on SPARC and
680         SPARC64.
681         (SPARC64 && LINUX): Define r_pc to r_tpc, and PTRACE_FOOREGS
682         to PTRACE_FOOREGS64 so that more sparc code can be shared
683         between 64-bit and 32-bit.
684         (m_siginfo): Use same definition on SPARC64 as SPARC.
685         (sys_sigreturn): Handle LINUX && SPARC64.
686         * syscall.c: Conditionalize ptrace defines on SPARC and
687         SPARC64.
688         (SPARC64 && LINUX): Define r_pc to r_tpc, and PTRACE_FOOREGS
689         to PTRACE_FOOREGS64 so that more sparc code can be shared
690         between 64-bit and 32-bit.
691         (getscno): Use same static state on SPARC64 as SPARC,
692         and add SPARC64 handling.
693         (get_error): Handle LINUX && SPARC64.
694         (force_result): Likewise.
695         (syscall_enter): Likewise.
696         (trace_syscall): Handle sys_socketcall and sys_ipc on SPARC64
697         just like SPARC.
698         (getrval2): Handle LINUX && SPARC64.
699         * process.c: Conditionalize ptrace defines on SPARC and
700         SPARC64.
701         (SPARC64 && LINUX): Define r_pc to r_tpc, and PTRACE_FOOREGS
702         to PTRACE_FOOREGS64 so that more sparc code can be shared
703         between 64-bit and 32-bit.
704         (change_syscall): Handle LINUX && SPARC64.
705         (struct_user_offsets): Ifdef out those which do not exist
706         on SPARC64.
707         * net.c (sys_pipe): Handle LINUX && SPARC64.
708         * ioctl.c: Fix initializer typo for nioctlents2, was
709         nioctlents1 by accident.
710
711 2004-06-28  Andreas Schwab  <schwab@suse.de>
712
713         * process.c (internal_exec): Move TCB_WAITEXECVE handling here.
714         (sys_execve): Remove it here.
715
716 2004-07-12  Roland McGrath  <roland@redhat.com>
717
718         * Makefile.am (EXTRA_DIST): Add linux/sh64/syscallent.h.
719
720         * debian/control (Section): Move to utils, matching Debian override.
721
722         * net.c (addrfams): Make variable global.
723         * sock.c (sock_ioctl): Decode the arguments for SIOCGIFNAME,
724         SIOCGIFINDEX, and SIOCGIFCONF.
725         From Ulrich Drepper <drepper@redhat.com>.
726         Fixes RH#126917.
727
728         * linux/ioctlsort.c: Add some #includes.
729         [POWERPC]: Kludge out high bits.
730         * linux/ia64/ioctlent.h: Regenerated using RHEL3 headers.
731         * linux/powerpc/ioctlent.h: Likewise.
732
733 2004-07-11  Roland McGrath  <roland@redhat.com>
734
735         * linux/ioctlent.sh: Replace asm with $asm in all places.
736
737         * configure.ac: Add I386 as AM_CONDITIONAL.
738         * Makefile.am [LINUX]: Add maintainer-mode rules to regenerate
739         the ioctlent.h file.
740
741 2004-07-08  Roland McGrath  <roland@redhat.com>
742
743         * resource.c (sys_quotactl): Truncate first argument to 32 bits, since
744         that's what the kernel will do.
745
746 2004-07-07  Roland McGrath  <roland@redhat.com>
747
748         * linux/ioctlent.sh: Take optional second argument to use as directory
749         name in place of `asm'.
750
751 2004-06-27  Roland McGrath  <roland@redhat.com>
752
753         * configure.ac, NEWS: Version 4.5.5.
754         * strace.spec, debian/changelog: 4.5.5-1.
755
756 2004-06-22  Roland McGrath  <roland@redhat.com>
757
758         * syscall.c (syscall_fixup) [LINUX && X86_64]: For 32-bit process,
759         sign extend the low 32 bits of RAX to 64 bits.
760         Fixes RH#126547.
761
762         * syscall.c (force_result): [LINUX && X86_64]: Fix RAX*4 -> RAX*8.
763
764 2004-06-03  Roland McGrath  <roland@redhat.com>
765
766         * configure.ac, NEWS: Version 4.5.4.
767         * strace.spec, debian/changelog: 4.5.4-1.
768
769         * net.c (domains): Add many PF_* values #ifdef PF_*.
770         (addrfams): Add many AF_* values #ifdef AF_*.
771         Fixes Debian bug #250506.
772
773 2004-05-02  Dmitry V. Levin  <ldv@altlinux.org>
774
775         * linux/ioctlsort.c (compare): When ioctl codes equal, compare
776         names.
777         (main): Print a note that program output is generated by
778         ioctlsort.
779         * linux/ioctlent.sh: Build the list of ioctls defined in
780         linux/fb.h (0x46..), linux/kd.h (0x4B..), linux/cdrom.h (0x53..),
781         asm/ioctls.h (0x54..), linux/vt.h (0x56..), linux/videotext.h
782         (0x71..), linux/videotext.h (0x72..), asm/sockios.h (0x89..),
783         linux/sockios.h (0x89..), linux/wireless.h (0x8B..).
784         * linux/ioctlent.h: Regenerated from linux-2.6.5.
785         Fixes RH#122257.
786
787 2004-06-03  Roland McGrath  <roland@redhat.com>
788
789         * debian/control (Architecture): Add amd64.
790         Fixes Debian bug #246568.
791
792         * strace.c (main) [LINUX]: Expand TCBTAB as necessary for threads
793         attached.  Attach threads only under -f.  Set TCB_FOLLOWFORK in them.
794         (expand_tcbtab): New function, broken out of ...
795         * process.c (fork_tcb): ... here, call that.
796         * defs.h: Declare expand_tcbtab.
797
798 2004-04-19  Roland McGrath  <roland@redhat.com>
799
800         * process.c (printstatus): Add a space before | in output.
801
802 2004-04-16  Roland McGrath  <roland@redhat.com>
803
804         * configure.ac: Version 4.5.3.
805         * strace.spec, debian/changelog: 4.5.3-1.
806
807 2004-03-18  Dmitry V. Levin  <ldv@altlinux.org>
808
809         * resource.c (sys_quotactl) [LINUX]: Cast arithmetic shift operand
810         from long to unsigned long, to fix output of the quotactl command
811         parser.
812         Fixes RH#118694.
813
814 2004-04-16  Roland McGrath  <roland@redhat.com>
815
816         * linux/s390/ioctlent.h, linux/s390x/ioctlent.h: Update DASD ioctls.
817         From Maxim Shchetynin <maxim@de.ibm.com>.
818
819         * configure.ac: Check for <mqueue.h>.
820         * ipc.c (sys_mq_open, printmqattr) [! HAVE_MQUEUE_H]: Don't try to
821         decode struct mq_attr.
822         * NEWS: Mention mq support.
823
824         * linux/syscall.h: Support new mq_* syscalls on Linux.
825         * linux/syscallent.h: Likewise.
826         * linux/dummy.h: Likewise.
827         * ipc.c: Likewise.
828         * time.c (printsigevent): Handle SIGEV_THREAD.
829         From Ulrich Drepper <drepper@redhat.com>.
830         Fixes RH#120701.
831
832 2004-04-13  Roland McGrath  <roland@redhat.com>
833
834         * net.c (msg_flags): Grok MSG_FIX, MSG_SYN, MSG_RST, MSG_NOSIGNAL,
835         MSG_MORE.
836         From Ulrich Drepper <drepper@redhat.com>.
837         Fixes RH#120541.
838
839         * process.c (printstatus): Mask out bits presented symbolically, and
840         print "| 0xnnn" if the remaining bits are not all zero.
841         Fixes Debian bug #240062.
842
843         * process.c (print_affinitylist): Rewritten to handle indirect values.
844         (sys_sched_setaffinity, sys_sched_getaffinity): Update callers.
845         From Ulrich Drepper <drepper@redhat.com>.
846         Fixes RH#118685.
847
848         * acinclude.m4: Quote first argument to AC_DEFUN in all cases.
849
850 2004-04-08  Roland McGrath  <roland@redhat.com>
851
852         * strace.c (main) [LINUX]: When attaching for -p, look in
853         /proc/PID/task for all threads and attach them as presumed
854         CLONE_THREAD children.
855         * NEWS: Mention the feature.
856         Fixes RH#120462.
857
858 2004-03-02  Roland McGrath  <roland@redhat.com>
859
860         * util.c (setbpt): Fix one missed spot to use new arg0_index macro.
861         From Michael Holzheu <HOLZHEU@de.ibm.com>.
862
863         * debian/control (Standards-Version): Update to 3.6.1.
864
865 2004-03-01  Roland McGrath  <roland@redhat.com>
866
867         * configure.ac, NEWS: Version 4.5.2.
868         * strace.spec, debian/changelog: 4.5.2-1.
869
870         * strace.c (main): Avoid potential buffer overruns from ludicrous
871         arguments or PATH values.
872         * syscall.c (qual_signal): Bail out for too-long string.
873
874         * mem.c [LINUX]: <asm/mman.h> -> <linux/mman.h>
875         Fixes Debian bug #223207.
876
877         * linux/sparc/syscall.h: Copy linux/syscall.h decls of sys_sched_*.
878
879         * configure.ac: Check for `struct user_desc' in <asm/ldt.h>.
880         * process.c [HAVE_STRUCT_USER_DESC]: Use struct user_desc in place of
881         struct modify_ldt_ldt_s.
882         * mem.c [HAVE_STRUCT_USER_DESC]: Likewise.
883
884         * system.c (sysctl_vm): Conditionalize VM_* macro uses, add some more.
885         From Tim Yamin <plasmaroo@gentoo.org>.
886
887         * process.c (sys_execve): Clear instead of set TCB_WAITEXECVE on
888         erring syscall.
889
890         * configure.ac: Check for `struct pt_all_user_regs'
891         and `struct ia64_fpreg' in <sys/ptrace.h>.
892         * util.c, process.c, syscall.c, signal.c: Work around conflicts between
893         <sys/ptrace.h> and <linux/ptrace.h> for defining those types.
894
895         * process.c (struct_user_offsets) [LINUX && IA64]: Conditionalize
896         PT_AR_CSD and PT_AR_SSD uses in case of older kernel headers.
897
898         * util.c [LINUX] (arg0_index, arg1_index): New macros.
899         [S390 || S390X]: Define them with inverted values.
900         (setbpt): Use them for u_arg indices.
901
902 2004-02-26  Andreas Schwab  <schwab@suse.de>
903
904         * defs.h [LINUX && IA64]: Declare getrval2 also on IA64.
905         * net.c (sys_pipe) [LINUX && IA64]: For IA64 use the two return values.
906         * syscall.c (getrval2) [LINUX && IA64]: Implement for IA64.
907
908 2004-03-01  Roland McGrath  <roland@redhat.com>
909
910         * linux/dummy.h (sys_sched_getscheduler, sys_sched_setparam,
911         sys_sched_getparam, sys_sched_setscheduler, sys_sched_getscheduler,
912         sys_sched_get_priority_max, sys_sched_get_priority_min): Remove macros.
913         * process.c [LINUX] (sys_sched_getscheduler, sys_sched_setparam,
914         sys_sched_getparam, sys_sched_setscheduler, sys_sched_getscheduler,
915         sys_sched_get_priority_min): New functions.
916         From Ulrich Drepper <drepper@redhat.com>.
917         Fixes RH#116990.
918
919 2004-02-20  Roland McGrath  <roland@redhat.com>
920
921         * linux/hppa/syscallent.h: Update some syscalls.
922         From Randolph Chung <tausq@debian.org>.
923         Fixes Debian bug #231632.
924
925 2003-12-31  David Mosberger  <davidm@hpl.hp.com>
926
927         * process.c (internal_exit): For ia64, also recognize IA-32 252
928         as exit_group().
929         (change_syscall): For IA64, also support changing IA-32 syscalls.
930         * syscall.c (internal_syscall): For IA64, also recognize IA-32
931         syscall 252 (exit_group) as an internal_exit() syscall.
932         * util.c (SYS_fork): For IA64, define them to the IA-32 syscall
933         number.
934         (SYS_vfork): Likewise.
935         (arg_setup): For IA64 version, also support IA-32 syscalls.
936         (get_arg0): Likewise.
937         (get_arg1): Likewise.
938         (set_arg0): Likewise.
939         (set_arg1): Likewise.
940
941 2004-02-15  Anton Blanchard  <anton@samba.org>
942
943         * linux/powerpc/syscallent.h: Add rtas call.
944         Shift multiplexed syscalls to start at 300, we are already about
945         to hit 256 real syscalls.
946         * linux/syscall.h: SYS_socket_subcall is now 300 for [POWERPC].
947
948 2004-02-19  Roland McGrath  <roland@redhat.com>
949
950         * strace.c (main): Use TCP->pid, not PID, in -p message.
951         Fixes Debian bug #229802.
952
953 2004-01-13  Roland McGrath  <roland@redhat.com>
954
955         * syscall.c (force_result) [LINUX] [S390 || S390X]: Remove bogus upeek
956         call.
957
958         * stream.c (internal_stream_ioctl): Fix typo strict -> struct.
959         Reported by Petter Reinholdtsen <pere@hungry.com>.
960
961 2003-12-31  David Mosberger  <davidm@hpl.hp.com>
962
963         * process.c (struct_user_offsets) [IA64]: Fix up register name list.
964
965 2003-12-14  Anton Blanchard  <anton@samba.org>
966
967         * file.c (sys_getdents64): Don't cast d_ino and d_off to unsigned long.
968         Use %llu formats for them.
969
970         * file.c [LINUX] (fsmagic): Add SYSFS_MAGIC.
971
972         * linux/powerpc/syscallent.h: Update to include recently added
973         syscalls.
974
975         * syscall.c (get_error) [POWERPC]: Cast result to unsigned long for
976         ppc64, we were misreporting syscalls that really succeeded as having
977         failed.
978
979 2004-01-13  Roland McGrath  <roland@redhat.com>
980
981         * strace.1: Remove comment about vfork on Linux.
982         Fixes Debian bug #223390.
983
984         * file.c (direnttypes): Define under [LINUX] as well.  Add DT_UNKNOWN.
985         (sys_getdents64) [LINUX]: Print d_type field.
986
987 2003-12-15  Dmitry V. Levin  <ldv@altlinux.org>
988
989         * strace.c (trace) [WCOREDUMP]: Show coredump status of the
990         killed process if available.  Fixes RH#112117.
991
992 2003-11-13  Roland McGrath  <roland@redhat.com>
993
994         * configure.ac, NEWS: Version 4.5.1.
995         * strace.spec, debian/changelog: 4.5.1-1.
996
997 2003-09-06  Dmitry V. Levin  <ldv@altlinux.org>
998
999         * defs.h (ioctl_lookup): Prototype change.
1000         * ioctl.c (ioctl_next_match): New function.
1001         * defs.h: Declare it.
1002         * io.c (sys_ioctl): Use it, to display all possible ioctl names
1003         when there's more than one match.
1004         * ioctl.c (ioctl_lookup): Likewise.
1005         * stream.c (internal_stream_ioctl): Likewise.
1006         Patch from Solar Designer <solar@openwall.com>.
1007
1008 2003-11-13  Roland McGrath  <roland@redhat.com>
1009
1010         * linux/sh/syscallent.h: Use sys_setgroups32, sys_getgroups32.
1011         * linux/sh64/syscallent.h: Likewise.
1012
1013 2003-09-06  Dmitry V. Levin  <ldv@altlinux.org>
1014
1015         Fixes for RH#105359.
1016         * util.c (printuid): New function.
1017         * defs.h: Declare it.
1018         * file.c (sys_chown): Use it.
1019         * file.c (sys_fchown): Likewise.
1020         * process.c (sys_setreuid, sys_setregid, sys_setresuid,
1021         sys_setresgid): Likewise.
1022         * linux/syscallent.h: Better handle getgid32, geteuid32, getegid32,
1023         setreuid32, setregid32, getgroups32, setgroups32, fchown32,
1024         setresuid32, getresuid32, setresgid32, getresgid32, chown32,
1025         setuid32, setgid32, setfsuid32, setfsgid32.
1026         * process.c [LINUX]: Define GETGROUPS32_T.
1027         * process.c [LINUX] (sys_setgroups32, sys_getgroups32):
1028         New functions.
1029         * linux/syscall.h (sys_setgroups32, sys_getgroups32):
1030         Declare them.
1031
1032 2003-11-11  Roland McGrath  <roland@redhat.com>
1033
1034         * strace.c (main): Bail with usage error for missing command before we
1035         open the -o file or fiddle uids.
1036
1037 2003-11-06  Roland McGrath  <roland@redhat.com>
1038
1039         * strace.c (main): Treat piped output more like file output.
1040         Disallow -ff with piped output.  Fixes RH#105366.
1041         Reported by Dmitry V. Levin <ldv@altlinux.org>
1042
1043         * strace.c (tprintf): Check result of vfprintf and use perror when it
1044         fails while not writing to stderr itself.  Fixes Debian bug #218762.
1045
1046         * net.c (printsock): Fix typo in #ifdef AF_NETLINK.
1047         From Ulrich Drepper <drepper@redhat.com>.
1048
1049 2003-11-01  Roland McGrath  <roland@redhat.com>
1050
1051         * syscall.c (trace_syscall) [LINUX]: Calculate ONE_TICK once using
1052         setitimer rather than hard-coding a value based on HZ.
1053         Fixes RH#108012, reported by Florian La Roche <laroche@redhat.com>.
1054
1055 2003-10-21  Roland McGrath  <roland@redhat.com>
1056
1057         * strace.1: Fixed a few spelling errors.
1058         Fixes Debian bug #217008.
1059
1060         * syscall.c: Revert last change, was broken.
1061
1062 2003-10-01  Roland McGrath  <roland@redhat.com>
1063
1064         * process.c (internal_clone): Don't suspend parent when call requested
1065         a specific PID that is not a traced child.
1066
1067         * signal.c [LINUX] (parse_sigset_t): Rewrite to process hex strings
1068         from right to left so we don't have to presume the size.
1069         Reported by David Woodhouse <dwmw2@redhat.com>.
1070
1071 2003-09-25  Roland McGrath  <roland@redhat.com>
1072
1073         * mem.c (mmap_prot) [PROT_SEM, PROT_GROWSDOWN, PROT_GROWSUP]: Include
1074         these in the table if they are defined.
1075
1076 2003-09-24  Roland McGrath  <roland@redhat.com>
1077
1078         * configure.ac, NEWS: Version 4.5.
1079         * strace.spec, debian/changelog: 4.5-1.
1080
1081         * syscall.c (get_scno) [LINUX] [S390 || S390X]: Bail out of
1082         instruction decoding branch if TCB_INSYSCALL is clear.
1083         Reported by <jochen@penguin-breeder.org>.
1084
1085         * linux/ioctlent.h: Swap order of overloaded TC* and SNDCTL_* values.
1086
1087 2003-09-23  Roland McGrath  <roland@redhat.com>
1088
1089         * strace.spec: On ppc64 (maybe others later), create an strace64
1090         package as well containing just /usr/bin/strace64.
1091
1092         * signal.c (sprintsigmask): Print RT_%u for __SIGRTMIN..__SIGRTMAX.
1093         Fixes RH#104365.
1094
1095 2003-08-21  Roland McGrath  <roland@redhat.com>
1096
1097         * linux/syscallent.h: Fix mlock argument count.  Fixes RH#101499.
1098         * linux/x86_64/syscallent.h: Likewise.
1099         * linux/s390/syscallent.h: Likewise.
1100         * linux/s390x/syscallent.h: Likewise.
1101
1102 2003-07-28  Daniel Jacobowitz  <drow@mvista.com>
1103
1104         * defs.h (ALIGN64): Define for MIPS.
1105         * io.c (PREAD_OFFSET_ARG): Define.
1106         (sys_pread, sys_pwrite): Use it.
1107         * process.c (struct_user_offsets) [SH]: Check whether REG_XDREG0
1108         is defined.
1109         * linux/sh/syscallent.h (pread, pwrite): Take six arguments.
1110         (truncate64, ftruncate64): Pretty-print.
1111         * linux/mips/syscallent.h (pread, pwrite): Take six arguments.
1112         (truncate64, ftruncate64): Take four arguments.
1113
1114 2003-07-17  Roland McGrath  <roland@redhat.com>
1115
1116         * configure.ac, NEWS: Version 4.4.99.
1117         * strace.spec, debian/changelog: 4.4.99-1.
1118
1119 2003-07-15  Anton Blanchard  <anton@samba.org>
1120
1121         * ipc.c: Add SHM_HUGETLB field.
1122         Mask out permission bits in msgget, semget and shmget before
1123                 printing resource_flags.
1124         Mask execute permission bits (even though we dont currently
1125                 use them).
1126
1127 2003-07-17  Roland McGrath  <roland@redhat.com>
1128
1129         * linux/powerpc/syscallent.h (tgkill): New at 250.
1130
1131         * linux/syscallent.h: truncate64/ftruncate64 need 3 args.
1132         From Ulrich Drepper <drepper@redhat.com>.
1133
1134         * linux/syscallent.h: Handle statfs64, fstatfs64, utimes.
1135         * file.c (printstatfs): Print f_fsid and f_frsize.
1136         [LINUX] (printstatfs64, sys_statfs64, sys_fstatfs64): New functions.
1137         * linux/syscall.h: Add decls.
1138         From Ulrich Drepper <drepper@redhat.com>.
1139
1140 2003-07-09  Roland McGrath  <roland@redhat.com>
1141
1142         * linux/ia64/syscallent.h (tgkill): New at 1235.
1143
1144 2003-07-05  Richard Henderson  <rth@twiddle.net>
1145
1146         * process.c (sys_clone): Order arguments for alpha the same as x86_64.
1147         * syscall.c (ERESTART_RESTARTBLOCK): New.
1148         (trace_syscall): Print it.
1149         * linux/alpha/syscallent.h (osf_syscall): Name properly.
1150         (osf_set_program_attributes): Fix typo.
1151         (osf_nfssvc): Likewise.
1152         (osf_sigsendset): Likewise.
1153         (getdents64, gettid, readahead, tkill, setxattr, lsetxattr, fsetxattr,
1154         getxattr, lgetxattr, fgetxattr, listxattr, llistxattr, flistxattr,
1155         removexattr, lremovexattr, fremovexattr, futex, sched_setaffinity,
1156         sched_getaffinity, tuxcall, io_setup, io_destroy, io_getevents,
1157         io_submit, io_cancel, exit_group, lookup_dcookie, epoll_create,
1158         epoll_ctl, epoll_wait, remap_file_pages, set_tid_address,
1159         restart_syscall, fadvise, timer_create, timer_settime, timer_gettime,
1160         timer_getoverrun, timer_delete, clock_settime, clock_gettime,
1161         clock_getres, clock_nanosleep, semtimedop): New.
1162
1163 2003-07-08  Roland McGrath  <roland@redhat.com>
1164
1165         * signal.c (sys_tgkill): New function.
1166         * linux/syscall.h: Declare it.
1167         * linux/syscallent.h: Add tgkill.
1168
1169 2003-06-27  Roland McGrath  <roland@redhat.com>
1170
1171         * configure.ac: Check for type `struct __old_kernel_stat'.
1172         * file.c (convertoldstat, printoldstat): Define under
1173         [LINUX && HAVE_STRUCT___OLD_KERNEL_STAT] rather than a list of archs.
1174         (sys_oldstat, sys_oldfstat, sys_oldlstat): Likewise.
1175         * linux/dummy.h [! HAVE_STRUCT___OLD_KERNEL_STAT]
1176         (sys_oldstat, sys_oldfstat, sys_oldlstat): #define to printargs.
1177
1178 2003-06-26  Roland McGrath  <roland@redhat.com>
1179
1180         * configure.ac: SHMEDIA -> SH64
1181         * defs.h: Likewise.
1182         * mem.c: Likewise.
1183         * process.c: Likewise.
1184         * sock.c: Likewise.
1185         * syscall.c: Likewise.
1186         * util.c: Likewise.
1187         * linux/shmedia/syscallent.h: Moved to ...
1188         * linux/sh64/syscallent.h: ... here.
1189
1190         * config.guess: Update from canonical version, timestamp 2003-06-17.
1191         * config.sub: Likewise.
1192
1193         * syscall.c (force_result) [LINUX] [ARM]: Fix variable usage.
1194         From: Joshua Neal <tinara@netpipeline.net>.
1195
1196         * process.c [LINUX] (sys_futex): Grok FUTEX_REQUEUE and print 5th arg.
1197         * linux/syscallent.h: sys_futex argument count is now 5, not 4.
1198         * linux/ia64/syscallent.h: Likewise.
1199         * linux/powerpc/syscallent.h: Likewise.
1200         * linux/s390/syscallent.h: Likewise.
1201         * linux/s390x/syscallent.h: Likewise.
1202         * linux/x86_64/syscallent.h: Likewise.
1203         From Jakub Jelinek <jakub@redhat.com>.
1204
1205         * syscall.c (get_scno) [S390 || S390X]: Fix old vs new mode detection.
1206         From Michael Holzheu <HOLZHEU@de.ibm.com>.
1207
1208 2003-06-23  Roland McGrath  <roland@redhat.com>
1209
1210         * net.c (sys_socket): Decode protocol for PF_INET6 same as PF_INET.
1211         From Ulrich Drepper <drepper@redhat.com>.
1212
1213 2003-06-10  Roland McGrath  <roland@redhat.com>
1214
1215         * configure.ac, NEWS: Version 4.4.98.
1216         * strace.spec, debian/changelog: 4.4.98-1.
1217
1218 2003-06-09  Roland McGrath  <roland@redhat.com>
1219
1220         * linux/s390x/syscallent.h: Update many syscalls.
1221         * linux/syscall.h (SYS_socket_subcall): Update [S390X] value.
1222
1223         * linux/s390/syscallent.h: Update many syscalls.
1224         * linux/syscall.h (SYS_socket_subcall): Update [S390] value.
1225
1226         * linux/shmedia/syscallent.h: New file.
1227         From Stephen Thomas <stephen.thomas@superh.com>.
1228
1229         * strace.c (trace): Print a message and newline for a WIFEXITED report
1230         from the process we just printed an unterminated syscall line for.
1231
1232 2003-06-03  Roland McGrath  <roland@redhat.com>
1233
1234         * util.c (printcall) [LINUX]: Fix typo [IA62] -> [IA64].
1235
1236         Linux/ARM improvements from Russell King <rmk@arm.linux.org.uk>:
1237         * defs.h [LINUX] (TCB_WAITEXECVE): Define for [ARM] too.
1238         * process.c (struct_user_offsets) [LINUX] [ARM]: Add ARM registers.
1239         * signal.c [LINUX] (sys_sigreturn) [ARM]: New case.
1240         * syscall.c (get_scno, syscall_fixup) [LINUX] [ARM]: Case rewritten.
1241         (get_error) [LINUX] [ARM]: Update.
1242         (syscall_enter) [LINUX] [ARM]: New case.
1243         * util.c (printcall) [LINUX] [ARM]: New case.
1244
1245         * debian/control (Standards-Version): Update to 3.5.10.
1246
1247         * strace.c (main): In PATH search, accept only a regular file with
1248         execute bits set.  Fixes Debian bug #137103.
1249
1250 2003-06-02  Roland McGrath  <roland@redhat.com>
1251
1252         * strace.c (main): Set -q when given -o and not -p, and not when not
1253         given -o, to match what the man page always said.
1254         Fixes Debian bug #47113, #153678.
1255
1256         * configure.ac, NEWS: Version 4.4.97.
1257         * strace.spec, debian/changelog: 4.4.97-1.
1258
1259         * configure.ac, defs.h, mem.c, process.c, sock.c, syscall.c, util.c:
1260         Merged in SHmedia port from Stephen Thomas <stephen.thomas@superh.com>.
1261
1262         * config.guess: Update from ftp://ftp.gnu.org/pub/gnu/config/,
1263         timestamp 2003-05-22.
1264         * config.sub: Likewise, timestamp 2003-05-24.
1265
1266 2003-05-22  Roland McGrath  <roland@redhat.com>
1267
1268         * defs.h (struct tcb): New member `nzombies'.
1269         * strace.c (alloctcb): Initialize it.
1270         (droptcb): Increment our parent's zombie count.
1271         * process.c (internal_wait): Don't go into TCB_SUSPENDED if the
1272         process has zombies it can reap.  On the way out, if we reaped
1273         an untraced process, decrement the zombie count.
1274
1275         * process.c (sys_clone): Mask CSIGNAL out of flags and print that
1276         separately using signame.
1277
1278         * process.c (internal_clone) [TCB_CLONE_THREAD]: Use ARG_FLAGS instead
1279         of literal 0 for index.  Consult the right flags without clobbering
1280         anything when we reparent the new child to the caller's parent thread.
1281
1282         * linux/s390/syscallent.h: Fix sys_clone argument count.
1283         * linux/s390x/syscallent.h: Likewise.
1284         * linux/mips/syscallent.h: Likewise.
1285         * linux/alpha/syscallent.h: Likewise.
1286         * linux/powerpc/syscallent.h: Likewise.
1287         * linux/sh/syscallent.h: Likewise.
1288         * linux/sparc/syscallent.h: Likewise.
1289         * linux/hppa/syscallent.h: Likewise.
1290
1291         * process.c [LINUX] [S390 || S390X] (ARG_CTID, ARG_TLS): Fix swapped
1292         indices.  Reported by Jakub Jelinek <jakub@redhat.com>.
1293
1294         * signal.c [LINUX] (SI_SIGIO, SI_TKILL): New macros.
1295         [LINUX || SVR4] (siginfo_codes): Add strings for them.
1296
1297         * process.c (print_affinitylist): Fix loop condition.
1298         Reported by Ian Wienand <ianw@gelato.unsw.edu.au>.
1299
1300 2003-04-10  Roland McGrath  <roland@redhat.com>
1301
1302         * syscall.c (qual_desc): Return zero after parsing number.
1303         From Rob Leslie <rob@mars.org>, fixes Debian bug #188379.
1304
1305 2003-04-07  Roland McGrath  <roland@redhat.com>
1306
1307         * linux/syscallent.h: Handle semtimedop subcall of ipc syscall.
1308         * linux/syscall.h: Likewise.
1309         * ipc.c [LINUX] (sys_semtimedop): New function.
1310         From Ulrich Drepper <drepper@redhat.com>.
1311
1312         * ipc.c (sys_semget): Mask off permission bits for resource_flags.
1313         From Ulrich Drepper <drepper@redhat.com>.
1314
1315 2003-04-01  Philippe De Muyter  <phdm@macqel.be>
1316
1317         * sock.c, stream.c: Check #ifdef LINUX, not linux.
1318         * file.c: Always provide sys_*attr, regardless of #ifdef XATTR_CREATE.
1319
1320 2003-03-30  Roland McGrath  <roland@redhat.com>
1321
1322         * configure.ac, NEWS: Version 4.4.96.
1323         * strace.spec, debian/changelog: 4.4.96-1.
1324
1325 2003-02-26  Stuart Menefy <stuart.menefy@st.com>
1326
1327         Various fixes for SuperH [SH]:
1328         * mem.c (sys_old_mmap): mmap() parameters passed in registers
1329         * net.c (sys_pipe), syscall.c (getrval2): pipe() results returned
1330         in registers
1331         * process.c (change_syscall): Fixed register which holds system
1332         call number
1333         * util.c (arg0_offset, arg1_offset): provide definition
1334         * Makefile.am: Added new files in linux/sh
1335         * linux/sh/syscallent.h: New file.
1336         * linux/sh/errnoent.h: New file.
1337         * linux/sh/ioctlent.h: New file.
1338         * linux/sh/signalent.h: New file.
1339
1340         * linux/ioctlent.sh: Take an arg for location of header files
1341         * syscallent.sh: Replaced lost $
1342
1343 2003-03-30  Roland McGrath  <roland@redhat.com>
1344
1345         * time.c [LINUX]: Handle new Linux 2.5 clock/timer syscalls.
1346         * linux/syscall.h, linux/syscallent.h, linux/dummy.h: Likewise.
1347         From Ulrich Drepper <drepper@redhat.com>.
1348
1349         * linux/syscallent.h: Use sys_getrlimit for 191.
1350         Use name "old_getrlimit" for 76.
1351         Reported by Ulrich Drepper <drepper@redhat.com>.
1352
1353 2003-03-18  Roland McGrath  <roland@redhat.com>
1354
1355         * process.c [LINUX] (sys_clone): Don't dereference parent_tid argument.
1356
1357 2003-03-17  Roland McGrath  <roland@redhat.com>
1358
1359         * linux/x86_64/syscallent.h: clone takes 5 args.
1360         * process.c [LINUX] (sys_clone) [X86_64]: Fix argument order.
1361
1362 2003-03-15  Roland McGrath  <roland@redhat.com>
1363
1364         * linux/x86_64/syscallent.h: Add exit_group syscall at 231.
1365
1366 2003-03-14  Roland McGrath  <roland@redhat.com>
1367
1368         * linux/x86_64/syscallent.h: Update and add many 2.5 syscalls.
1369
1370         * linux/ia64/syscallent.h: clone takes 5 arguments.
1371         * process.c [LINUX && IA64] (ARG_*): Update for 2.5 clone calls.
1372
1373 2003-03-12  Roland McGrath  <roland@redhat.com>
1374
1375         * linux/ia64/syscallent.h: Fix arg counts for clone and clone2.
1376         Use sys_clone for clone2.
1377         * linux/syscall.h: Don't declare sys_clone2.
1378         * process.c (sys_clone): Rewritten to handle both flavors,
1379         print all extra args depending on flag bits.
1380         (sys_clone2): Function removed.
1381
1382         * linux/ia64/syscallent.h: Add a bunch of 2.5 syscalls.
1383
1384 2003-03-04  Roland McGrath  <roland@redhat.com>
1385
1386         * syscall.c (get_scno) [IA64]: Do TCB_WAITEXECVE check only when
1387         TCB_INSYSCALL is clear, like other platforms do.
1388
1389 2003-03-04  Ulrich Drepper  <drepper@redhat.com>
1390
1391         * mem.c [LINUX] (sys_remap_file_pages): New function.
1392         * linux/syscall.h: Declare it.
1393         * linux/syscallent.h: Use it.
1394         * linux/powerpc/syscallent.h: Likewise.
1395
1396         * process.c [LINUX] (sys_futex): Omit final if op is not FUTEX_WAIT.
1397
1398 2003-02-26  Roland McGrath  <roland@redhat.com>
1399
1400         * configure.ac: Fix typo in netinet/in.h check.
1401         Also include <sys/types.h> and <sys/socket.h> before <netinet/in.h>.
1402         Reported by Alex Semenyaka <alexs@snark.rinet.ru>.
1403
1404 2003-02-24  Roland McGrath  <roland@redhat.com>
1405
1406         * configure.ac, NEWS: Version 4.4.95.
1407         * strace.spec, debian/changelog: 4.4.95-1.
1408
1409         * process.c (sys_getresgid): Fix typos in argument access.
1410
1411 2003-02-23  Roland McGrath  <roland@redhat.com>
1412
1413         * process.c (sys_getresuid): Fix typos in argument access.
1414         Reported by Anton Blanchard <anton@samba.org>.
1415
1416 2003-02-19  Roland McGrath  <roland@redhat.com>
1417
1418         * configure.ac, NEWS: Version 4.4.94.
1419         * strace.spec, debian/changelog: 4.4.94-1.
1420
1421         * version.c: Removed.
1422         * Makefile.am (strace_SOURCES): Remove it.
1423         * strace.c: Use PACKAGE_NAME and VERSION macros instead of version var.
1424
1425         FreeBSD rfork support changes from Russ Cox <rsc@plan9.bell-labs.com>:
1426         * syscall.c (internal_syscall): Handle SYS_rfork with internal_fork.
1427         * process.c (internal_fork) [SYS_rfork]: Bail if RFPROC flag not set.
1428
1429 2003-01-23  Roland McGrath  <roland@redhat.com>
1430
1431         * signal.c: Reorder #ifdefs so HAVE_ASM_SIGCONTEXT_H doesn't matter on
1432         SPARC, which doesn't use the header regardless.
1433
1434         * util.c [LINUX && SPARC]: Do renaming kludges around <asm/reg.h>
1435         like signal.c does.
1436
1437         * linux/sparc/syscall.h: Declare sys_getdents64, sys_llseek.
1438
1439         * linux/dummy.h [! SYS_getpmsg] (sys_getpmsg): #define to printargs.
1440         [! SYS_putpmsg] (sys_putpmsg): Likewise.
1441
1442         * process.c: Reorder includes to put sys/reg.h before linux/ptrace.h,
1443         since they can conflict.
1444
1445 2003-01-21  Roland McGrath  <roland@redhat.com>
1446
1447         * strace.c (usage): Omit -z, since it has never worked properly.
1448         * NEWS: Likewise.
1449
1450         * strace.c (main): Grok new option `-E var=val' or `-E var' to put
1451         var=val in environ or to remove var, respectively.
1452         (usage): Mention it.
1453         * strace.1, NEWS: Document it.
1454
1455         * configure.ac, NEWS: Version 4.4.93.
1456         * strace.spec, debian/changelog: 4.4.93-1.
1457         * strace.spec (Source0): Use strace-VERSION.tar.bz2 now.
1458
1459 2003-01-20  Roland McGrath  <roland@redhat.com>
1460
1461         * defs.h [LINUX] [S390 || S390X] (TCB_WAITEXECVE): Define it.
1462         * syscall.c (get_scno, syscall_fixup) [LINUX] [S390 || S390X]: Handle
1463         TCB_WAITEXECVE state with special kludges.
1464
1465         * process.c [LINUX] (sys_clone) [S390 || S390X]: Argument order is
1466         reversed from other architectures.
1467
1468         * process.c (sys_execve) [LINUX]: Make setting TCB_WAITEXECVE flag
1469         conditional on [TCB_WAITEXECVE] instead of list of processors.
1470
1471         * util.c (restore_arg0): Evaluate args in no-op defns.
1472
1473         * util.c [S390 || S390X] (arg0_offset, arg1_offset): Fix definitions
1474         for clone call on S390.  From Michael Holzheu <holzheu@de.ibm.com>.
1475
1476 2003-01-17  Anton Blanchard <anton@samba.org>
1477
1478         * util.c [LINUX] (setbpt): Handle SYS_vfork like SYS_fork.
1479
1480         * linux/syscall.h (SYS_socket_subcall): 256 also for POWERPC.
1481
1482 2003-01-14  Roland McGrath  <roland@redhat.com>
1483
1484         * linux/powerpc/errnoent.h: Add missing errnos.
1485         * linux/powerpc/ioctlent.h: Update ioctl values.
1486         From Anton Blanchard <anton@samba.org>.
1487
1488         * io.c [LINUX] (sys_pread, sys_pwrite): Fix last change.
1489         From Anton Blanchard <anton@samba.org>.
1490
1491         * linux/hppa/syscallent.h: Use sys_getdents64, sys_truncate64,
1492         sys_ftruncate64, instead of printargs, for those syscalls.
1493         * linux/mips/syscallent.h: Likewise.
1494         * linux/powerpc/syscallent.h: Likewise.
1495         * linux/s390/syscallent.h: Likewise.
1496         * linux/sparc/syscallent.h: Likewise.
1497
1498         * linux/syscall.h (SYS_socket_subcall): Only 256 for S390, S390X.
1499         All others at the moment use linux/syscallent.h, where it's 300.
1500
1501         * strace.1: Update bug reporting info.
1502
1503         * resource.c [LINUX] (quotacmds): Grok new command encodings.
1504         From Nathan Scott <nathans@debian.org>.
1505
1506         * configure.ac, NEWS: Version 4.4.92.
1507         * strace.spec, debian/changelog: 4.4.92-1.
1508
1509         * configure.ac: Match powerpc* (includes powerpc64), and don't match
1510         ppc (never comes out of config.sub).
1511
1512         * process.c (sys_ptrace): Use #lx format for address argument.
1513         [POWERPC]: Use sizeof(unsigned long) in place of 4 for multipliers.
1514         * process.c [POWERPC]: Likewise.
1515         * signal.c (sys_sigreturn) [POWERPC]: Likewise.
1516         * syscall.c (get_scno) [POWERPC]: Likewise.
1517         * util.c [POWERPC]: Likewise.
1518         (printnum): Use long for NUM.
1519         From Anton Blanchard <anton@samba.org>.
1520
1521         * defs.h (ALIGN64): Fix defn for PPC, same as FreeBSD one.
1522
1523         * util.c [LINUX] (restore_arg0, restore_arg1): New macros, defined
1524         appropriately via set_arg0 or no-ops for each architecture.
1525         (clearbpt): Use those instead of set_arg0 and set_arg1.
1526
1527         * defs.h [_LARGEFILE64_SOURCE] (_LFS64_LARGEFILE): Define it.
1528         * linux/syscallent.h: Use sys_getdents64, sys_truncate64,
1529         sys_ftruncate64, instead of printargs, for those syscalls.
1530
1531         * process.c: Use <linux/ptrace.h> regardless of <sys/reg.h>.
1532         (sys_ptrace): Use printxval.
1533         (ptrace_cmds): Make PTRACE_GETREGS et al conditional on #ifdef PTRACE_*
1534         instead of only #ifdef SUNOS4.  Add PTRACE_[GS]ETFPXREGS.
1535
1536         * ipc.c (PRINTCTL): New macro.  #ifdef IPC_64, factor out the flag and
1537         print it before using printxval.
1538         (sys_msgctl, sys_semctl, sys_shmctl): Use it.
1539
1540 2003-01-13  Roland McGrath  <roland@redhat.com>
1541
1542         * config.guess: Update from ftp://ftp.gnu.org/pub/gnu/config/,
1543         timestamp 2003-01-10.
1544         * config.sub: Likewise, timestamp 2003-01-03.
1545         * install-sh: Update from Automake 1.7.2.
1546
1547         * linux/powerpc/signalent.h: Add SIGRTMIN.
1548         From Anton Blanchard <anton@samba.org>.
1549
1550         * linux/powerpc/syscallent.h: Add missing system calls.
1551         Decode more system calls, we were just printargs for many things.
1552         Remove some x86-specific system calls.
1553         Remove two syscalls between the socket and ipc syscalls,
1554         it was resulting in all IPC syscalls being off by two.
1555
1556         * ioctl.c (ioctl_decode) [POWERPC]: Decode term ioctls like Alpha.
1557         From Anton Blanchard <anton@samba.org>.
1558
1559         * defs.h [POWERPC] (UESP, EIP, EAX, ORIG_EAX): Remove this cruft.
1560         [LINUX && POWERPC && !__powerpc64__] (ALIGN64): New macro.
1561         * io.c (sys_pread, sys_pwrite): Use ALIGN64.
1562         From Anton Blanchard <anton@samba.org>.
1563
1564         * term.c [LINUX]: Get kernel definition of struct termios.
1565         From Anton Blanchard <anton@samba.org>.
1566
1567         * linux/ioctlent.sh: Look in sound/ directory too.
1568         From Anton Blanchard <anton@samba.org>.
1569
1570         * desc.c (printflock64): Fix ADDR argument type.
1571         From Anton Blanchard <anton@samba.org>.
1572
1573         * strace.c [! HAVE_STRSIGNAL]: Clean up #ifdefs on decls for
1574         sys_siglist and _sys_siglist.
1575         Reported by John Hughes <john@Calva.COM>.
1576
1577         * net.c: HAVE_OPTHDR -> HAVE_STRUCT_OPTHDR
1578         Reported by John Hughes <john@Calva.COM>.
1579
1580         * linux/syscall.h [ARM] (SYS_socket_subcall): Set to 300.
1581
1582 2003-01-10  Roland McGrath  <roland@redhat.com>
1583
1584         * configure.ac, NEWS: Version 4.4.91.
1585         * strace.spec, debian/changelog: 4.4.91-1
1586
1587         * util.c [LINUX && X86_64] (arg0_offset, arg1_offset): Use correct
1588         values for x86-64, conditional on current_personality.
1589
1590         * strace.c (droptcb): Clear flags word before calling rebuild_pollv.
1591
1592         * configure.ac: Check struct T_conn_res for QUEUE_ptr or ACCEPTOR_id.
1593         * stream.c (print_transport_message): Use #ifdefs for those members.
1594
1595         * strace.c (rebuild_pollv): Fix typo: struct poll -> struct pollfd.
1596
1597         * configure.ac: Fix siginfo_t/sig_atomic_t checks.
1598         Use prerequisite #include <netinet/in.h> for netinet/*.h checks.
1599
1600         * strace.c (pfd2tcb): Fix for new tcbtab type.
1601         (rebuild_pollv): Likewise.
1602         (detach): Put variables used under [LINUX] inside #ifdef.
1603
1604         * process.c (change_syscall) [POWERPC]: Add missing return.
1605         * util.c [POWERPC] (arg0_offset): Set to 4*PT_R3, not 4*PT_ORIG_R3.
1606
1607         * strace.spec: New file.
1608         * debian/changelog: 4.4.90-1
1609         * debian/rules (binary-arch): Depend on build.
1610         (clean): Don't try to run Makefile.in.
1611         * debian/control (Standards-Version): Now 3.5.8.
1612
1613         * configure.ac: Diddle CFLAGS after AC_PROG_CC, not before.
1614
1615 2003-01-09  Roland McGrath  <roland@redhat.com>
1616
1617         * syscall.c (force_result) [S390 || S390X]: Fix typo.
1618
1619         * debian/control: Update Maintainer: field.
1620
1621 2003-01-08  Roland McGrath  <roland@redhat.com>
1622
1623         * NEWS: Update for 4.4.90 test release.
1624
1625         Support for new Linux 2.5 thread features.
1626         * defs.h [LINUX]: Define __NR_exit_group if not defined.
1627         (struct tcb): New members nclone_threads, nclone_detached,
1628         and nclone_waiting.
1629         (TCB_CLONE_DETACHED, TCB_CLONE_THREAD, TCB_GROUP_EXITING): New macros.
1630         (waiting_parent): Macro removed.
1631         (pid2tcb): Declare it.
1632         * process.c (internal_clone) [TCB_CLONE_THREAD]: Reparent the new
1633         child to our parent if we are a CLONE_THREAD child ourselves.
1634         Maintain TCB_CLONE_THREAD and TCB_CLONE_DETACHED flags and counts.
1635         (internal_wait) [TCB_CLONE_THREAD]: Factor out detached children when
1636         determining if we have any.  If TCB_CLONE_THREAD is set, check
1637         parent's children instead of our own, and bump nclone_waiting count.
1638         (internal_exit) [__NR_exit_group]: Set the TCB_GROUP_EXITING flag if
1639         the syscall was exit_group.
1640         * syscall.c (internal_syscall): Use internal_exit for exit_group.
1641         * strace.c (pid2tcb): No longer static.
1642         (alloctcb) [TCB_CLONE_THREAD]: Initialize new fields.
1643         (droptcb) [TCB_CLONE_THREAD]: Maintain new fields.
1644         If we have thread children, set TCB_EXITING and don't clear the TCB.
1645         (resume) [TCB_CLONE_THREAD]: Decrement parent's nclone_waiting.
1646         (detach) [TCB_CLONE_THREAD]: When calling resume, check all thread
1647         children of our parent that might be waiting for us too.
1648         [TCB_GROUP_EXITING] (handle_group_exit): New function.
1649         (trace) [TCB_GROUP_EXITING]: Use that in place of detach or droptcb.
1650
1651         Revamp -f support for Linux.
1652         * util.c [LINUX] (setbpt, clearbpt): New implementations that tweak
1653         the system call to be clone with CLONE_PTRACE set.  Various new static
1654         helper functions.
1655         * process.c (internal_clone): Define also #ifdef SYS_clone2.
1656         Initialize TCPCHILD->parent field.
1657         [CLONE_PTRACE]: Don't do PTRACE_ATTACH here, because it's preattached.
1658         Check in case the new child is in the tcb already.
1659         (internal_fork) [LINUX]: Just call internal_clone.
1660         * strace.c (trace) [LINUX]: Under -f/-F, grok an unknown pid
1661         reporting to wait, put it in the TCB with TCB_ATTACHED|TCB_SUSPENDED.
1662
1663         * linux/x86_64/syscallent1.h (sys_oldlstat): #define as printargs.
1664
1665         * file.c [LINUX]: #undef st_[amc]time in case they are macros.
1666
1667         * Makefile.am (AM_CFLAGS): New variable, define to $(WARNFLAGS).
1668
1669         * Makefile.am (EXTRA_DIST): Remove debian/postinst and debian/prerm.
1670
1671 2003-01-09  Wichert Akkerman  <wichert@deephackmode.org>
1672
1673         * debian/postinst, debian/prerm: removed, /usr/doc symlink is no
1674         longer used
1675         * debian/rules: no longer install postinst and prerm
1676         * debian/control: do not end summary with full stop (lintian)
1677
1678 2002-12-30  Roland McGrath  <roland@redhat.com>
1679
1680         * Makefile.am (bin_SCRIPTS): New variable, list strace-graph.
1681         (EXTRA_DIST): Add missing files.
1682
1683         * configure.ac: Fix asm/sigcontext.h check to include prerequisite.
1684
1685         * syscall.c (qualify_one): New function.
1686         (qual_options): Replace lookup field with qualify, update initializer.
1687         (qualify): Update caller.
1688         (qual_signal, qual_fault, qual_desc): Rewritten from lookup_*.
1689         (qual_syscall): Rewritten lookup_syscall, match name more than once.
1690         Fixes RH#70579, bites IA64 -efoo when foo exists on IA32.
1691
1692         * version.c (version): Make const, bump to 4.4.90.
1693         * strace.c: Update decl.
1694
1695         * Makefile.am [LINUX && X86_64]: Remove cruft.
1696         * linux/x86_64/errnoent1.h: New file.
1697         * linux/x86_64/ioctlent1.h: New file.
1698         * linux/x86_64/signalent1.h: New file.
1699         * linux/x86_64/syscallent1.h: New file.
1700         * linux/x86_64/i386-headers.diff: File removed.
1701         * linux/x86_64/makeheaders.sh: File removed.
1702         * linux/x86_64/Makefile.in: File removed.
1703
1704         * linux/syscallent.h [X86_64]: Disable sanity checks, subcall stuff is
1705         already broken for 32-bit personality on x86-64.
1706
1707 2002-12-29  Roland McGrath  <roland@redhat.com>
1708
1709         * configure.ac, Makefile.am: Punt subdirs, handle everything here.
1710         * linux/Makefile.am: File removed.
1711         * freebsd/Makefile.am: File removed.
1712         * sunos4/Makefile.in: File removed.
1713         * svr4/Makefile.in: File removed.
1714
1715         * linux/alpha/Makefile.in: File removed.
1716         * linux/hppa/Makefile.in: File removed.
1717         * linux/ia64/Makefile.in: File removed.
1718         * linux/powerpc/Makefile.in: File removed.
1719         * linux/s390/Makefile.in: File removed.
1720         * linux/s390x/Makefile.in: File removed.
1721
1722 2002-12-26  Roland McGrath  <roland@redhat.com>
1723
1724         * syscallent.sh: Grok three flavors of #define line, uniquify.
1725         * linux/hppa/syscallent.sh: File removed.
1726         * linux/powerpc/syscallent.sh: File removed.
1727
1728         * linux/Makefile.am: New file.
1729         * linux/Makefile.in: File removed.
1730         * freebsd/Makefile.am: New file.
1731         * freebsd/i386/Makefile.am: New file.
1732         * freebsd/i386/Makefile.in: File removed.
1733
1734 2002-12-22  Roland McGrath  <roland@redhat.com>
1735
1736         Update to Autoconf 2.57, and Automakify with version 1.7.
1737         * Makefile.am: New file.
1738         * Makefile.in: File removed.
1739         * configure.in: Moved to ...
1740         * configure.ac: ... here.  Update for Autoconf 2.5x and Automake.
1741         * aclocal.m4: Moved to ...
1742         * acinclude.m4: ... here.  Update for Autoconf 2.5x.
1743         * acconfig.h: File removed.
1744         * AUTHORS: New file, makes automake happy.
1745         * autogen.sh: File removed.
1746         * README-CVS: Update to recommend autoreconf instead.
1747         * file.c: HAVE_ST_* -> HAVE_STRUCT_STAT_ST_*.
1748         * net.c: HAVE_SIN6_SCOPE_ID -> HAVE_STRUCT_SOCKADDR_IN6_SIN6_SCOPE_ID,
1749         HAVE_MSG_CONTROL -> HAVE_STRUCT_MSGHDR_MSG_CONTROL.
1750         * strace.c: *_DECLARED -> HAVE_DECL_*
1751         * stream.c: HAVE_* -> HAVE_STRUCT_*
1752
1753         * linux/Makefile.in (ioctldefs.h ioctls.h): Use $(SHELL) instead of
1754         sh, and use $(srcdir) to find the script.
1755         * linux/powerpc/Makefile.in (ioctlent.raw): Find ioctlent.sh in ../.
1756         (ioctlsort.o): Use ../ioctlsort.c, not ../../ioctlsort.c.
1757         * linux/x86_64/Makefile.in (headers): Renamed to all.
1758         * linux/alpha/Makefile.in: Add empty install target.
1759         * linux/x86_64/Makefile.in: Likewise.
1760         * linux/powerpc/Makefile.in: Likewise.
1761         * linux/Makefile.in: Likewise.
1762
1763 2002-12-26  Roland McGrath  <roland@redhat.com>
1764
1765         * defs.h [LINUX && MIPS] (MAX_QUALS): Set to 5000, not 4999.
1766         From Daniel Jacobowitz <drow@false.org>.
1767
1768 2002-12-21  Roland McGrath  <roland@redhat.com>
1769
1770         * linux/syscallent.h: Add some new 2.5 syscall names.
1771         Now clone takes 5 args.
1772         * process.c [LINUX] (clone_flags): Update with 2.5 flag bits.
1773         [LINUX] (sys_clone): Print new args.
1774         * mem.c (print_ldt_entry): Make global.
1775
1776         * linux/syscall.h [I386 || IA64] (SYS_socket_subcall): Bump to 300 for
1777         safety, since up to 260 are already used in 2.5 kernels.
1778         * linux/syscallent.h: Update the table.
1779         * linux/ia64/syscallent.h: Likewise.
1780
1781         * syscall.c (force_result): New function.
1782         * process.c (internal_wait): Handle ECHILD exit from wait call with
1783         WNOHANG flag set; force the return value to 0 in the inferior when it
1784         has live children we are tracing.
1785         * NEWS: Mention the bug fix.
1786
1787 2002-12-17  Roland McGrath  <roland@redhat.com>
1788
1789         * linux/ia64/syscallent.h: Remove placeholders 275-298 to catch up
1790         with linux/syscallent.h additions.
1791
1792         * strace.c (tcbtab): Make this a pointer to pointers, not an array.
1793         (tcbtabsize): New variable.
1794         (main): Initialize them using dynamic allocation.
1795         (alloctcb, main): Use tcbtabsize in place of MAX_PROCS; indirect.
1796         (pid2tcb, cleanup): Likewise.
1797         [USE_PROCFS] (pollv): Make this a pointer, not an array; make static.
1798         (rebuild_pollv): Dynamically allocate the vector.
1799         * defs.h (tcbtab): Update decls.
1800         (MAX_PROCS): Macro removed, no more static limit on this.
1801         * process.c (fork_tcb): New function.
1802         (internal_clone, internal_fork): Use it instead of checking nprocs.
1803
1804         * strace.c (detach) [LINUX]: Use __WALL (or a second try with __WCLONE)
1805         in wait after sending SIGSTOP.
1806
1807 2002-12-16  Roland McGrath  <roland@redhat.com>
1808
1809         * signal.c (sprintsigmask): Increase static buffer size to account for
1810         worst possible case.  Reported by Daniel Jacobowitz <drow@false.org>.
1811
1812         * process.c [LINUX] (wait4_options): Fix __WCLONE value.  Add
1813         __WNOTHREAD and __WALL.
1814
1815         * strace.c (trace) [LINUX]: Only check errno if wait4 actually fails,
1816         so we don't repeat a wait and thus drop a status.  Fixes RH#62591.
1817
1818 2002-12-15  Roland McGrath  <roland@redhat.com>
1819
1820         * process.c (setarg) [POWERPC]: Support it.
1821
1822         * util.c [POWERPC] (LOOP): Fix value, now 0x48000000 (0: b 0b).
1823         Old value was bogus, not even a proper instruction.
1824         From Guy M. Streeter <streeter@redhat.com>.
1825
1826         * strace.c (main) [! USE_PROCFS]: Always reset SIGCHLD to SIG_DFL.
1827
1828         * configure.in: Don't check for putpmsg.
1829         * stream.c (sys_getpmsg, sys_putpmsg): Make these conditional on
1830         #ifdef SYS_*, rather than on HAVE_PUTPMSG.
1831
1832         * aclocal.m4 (AC_STAT64): Include <linux/types.h> before <asm/stat.h>
1833         in test.  Test our own #ifdef LINUX rather than predefined `linux'.
1834
1835         * linux/powerpc/syscallent.h: Use sys_llseek for _llseek.
1836         * linux/sparc/syscallent.h: Likewise.
1837         * linux/hppa/syscallent.h: Likewise.
1838
1839         * syscall.c (syscall_enter) [LINUX && POWERPC]: Define PT_ORIG_R3 if
1840         not defined, since <asm/ptrace.h> defines it only #ifdef __KERNEL__.
1841         * process.c: Likewise.
1842
1843         * desc.c (sys_osf_select): Add missing return type.
1844
1845         * syscall.c (trace_syscall): Use strerror, not sys_errlist/sys_nerr.
1846
1847         * linux/ia64/syscallent.h: Remove macros for sys_delete_module,
1848         sys_nanosleep, both already in linux/dummy.h.
1849
1850         * syscall.c (get_scno): Move static `currpers' inside #ifdef X86_64.
1851         (trace_syscall): Fix return without value.
1852
1853         * linux/syscallent.h: Update table with names of new syscalls
1854         io_setup, io_destroy, io_getvents, io_submit, io_cancel.
1855         * linux/ia64/syscallent.h: Likewise.
1856         * linux/powerpc/syscallent.h: Likewise.
1857
1858         * signal.c [LINUX && I386]: Provide SA_RESTORER constant if not
1859         defined.  If the bit is set, print the sa_restorer field of sigaction.
1860
1861         * mem.c: Add sys_{get,set}_thread_area.
1862         * linux/syscall.h: Declare them.
1863         * linux/syscallent.h: Update the table for these.
1864         * linux/dummy.h (sys_modify_ldt): Define only #ifndef I386.
1865         (sys_get_thread_area, sys_set_thread_area): New macros #ifndef I386.
1866
1867         * configure.in: Check for linux/xattr.h and linux/futex.h headers.
1868         * linux/syscall.h: Add sys_* decls for new syscalls getpmsg, putpmsg,
1869         readahead, sendfile64, setxattr, fsetxattr, getxattr, fgetxattr, int
1870         listxattr, flistxattr, removexattr, fremovexattr, sched_setaffinity,
1871         sched_getaffinity, futex.
1872         * linux/syscallent.h: Update the table.
1873         * io.c: Add sys_sendfile64.
1874         * file.c: Add sys_readahead, sys_*xattr.
1875         * process.c: Add sys_futex, sys_*affinity.
1876
1877         * linux/syscall.h (SYS_socket_subcall): Define to 256 on all machines.
1878         (SYS_ipc_subcall): Always SYS_socket_subcall + SYS_socket_nsubcalls.
1879         * linux/syscallent.h: Update the table for socket and ipc subcalls.
1880
1881 2002-11-09  Heiko Carstens <heiko.carstens@de.ibm.com>
1882
1883         Bugfix for s390/s390x:
1884         * syscall.c: Fixed scno derivation for s390/s390x.
1885
1886 2002-11-06  Michal Ludvig  <mludvig@suse.cz>
1887
1888         Merged patch from Steven J. Hill <sjhill@realitydiluted.com>
1889         to allow the compilation of a native MIPS strace.
1890
1891 2002-11-06  Michal Ludvig  <mludvig@suse.cz>
1892
1893         From Marty Leisner <leisner@rochester.rr.com>,
1894         rewritten by mludvig:
1895         * strace.c (not_failing_only): New.
1896         (usage): Added -z switch description.
1897         (main): Added -z switch parsing to not_failing_only variable.
1898         * syscall.c (trace_syscall): Added not_failing_only handling.
1899
1900 2002-10-08  Heiko Carstens <heiko.carstens@de.ibm.com>
1901
1902         Missing complete changelog for 2002-10-07 commit:
1903         * Makefile.in: Added linux/s390, linux/s390x to ALL_SUBDIRS.
1904         * acconfig.h: New define for s390x.
1905         * config.sub: Added missing define for s390 and new one for s390x.
1906         * configure.in: Added new define for s390x.
1907         * file.c: Added missing #undef dirent64 and new defines for s390x.
1908         * linux/s390: New directory.
1909         * linux/s390/Makefile.in: New file.
1910         * linux/s390/errnoent.h: New file.
1911         * linux/s390/ioctlent.h: New file.
1912         * linux/s390/signalent.h: New file.
1913         * linux/s390/syscallent.h: New file.
1914         * linux/s390x: New directoy.
1915         * linux/s390x/Makefile.in: New file.
1916         * linux/s390x/errnoent.h: New file.
1917         * linux/s390x/ioctlent.h: New file.
1918         * linux/s390x/signalent.h: New file.
1919         * linux/s390x/syscallent.h: New file.
1920         * linux/syscall.h: Added sys_mincore() prototype and added new
1921         s390x defines.
1922         * process.c: Added s390x defines.
1923         (change_syscall): Changed handling for s390.
1924         (setarg): Added missing s390/s390x code in setarg().
1925         * signal.c: Added s390x define.
1926         (sys_sigreturn): Bugfix in s390/s390x code (wrong number of
1927         arguments to sprintsigmask()).
1928         * stream.c (internal_stream_ioctl): Changed int cast to long cast,
1929         since printstr() expects a long.
1930         * syscall.c (decode_subcall): Changed several variables to be long
1931         instead of int to match 64 bit requirements. Added s390x defines.
1932         (syscall_enter): Changed upeek() call to match s390 and s390x
1933         requirements.
1934         * util.c: Added s390x defines.
1935
1936 2002-10-07  Michal Ludvig  <mludvig@suse.cz>
1937
1938         Merged s390x port by Heiko Carstens <Heiko.Carstens@de.ibm.com>
1939         and bugfixes to s390 by D.J. Barrow.
1940
1941 2002-09-23  Michal Ludvig  <mludvig@suse.cz>
1942
1943         Merged x86-64 port by Andi Kleen <ak@suse.de>
1944         and Michal Ludvig <mludvig@suse.cz>
1945         * Makefile.in: New target 'headers'. Failure ignored.
1946         * acconfig.h: New defines for x86-64.
1947         * configure.in: Ditto.
1948         * defs.h: Ditto.
1949         * file.c: Ditto.
1950         * signal.c: Ditto.
1951         * process.c: Added support for x86-64.
1952         * util.c: Ditto.
1953         * syscall.c: Ditto + added automatic personality switching.
1954         * linux/syscall.h: Ditto.
1955         * linux/x86_64: New directory.
1956         * linux/x86_64/Makefile.in: New file.
1957         * linux/x86_64/gentab.pl: Ditto.
1958         * linux/x86_64/i386-headers.diff: Ditto.
1959         * linux/x86_64/makeheaders.sh: Ditto.
1960         * linux/x86_64/syscallent.h: Ditto.
1961         * mem.c (print_mmap): Always print arg[4] as int.
1962
1963 2002-09-23  Michal Ludvig  <mludvig@suse.cz>
1964
1965         * configure.in: Fix regular expressions.
1966         * linux/syscall.h: Added missing braces in prototype of
1967         sys_getdents64().
1968         * file.c: Use '#ifdef LINUX' instead of '#ifdef linux'.
1969         (struct fileflags): Made extern to inhibit compiation warnings.
1970         (sys_getdents64): Merged LINUX and SVR4 part.
1971         * syscall.c (get_scno): Split multiline string into two distinct
1972         strings.
1973
1974 2002-05-24  John Hughes <john@calva.com>
1975
1976         * stream.h, net.h: Avoid possible infinite loop caused by
1977         unsigned arithmetic in preceeding change.
1978
1979 2002-05-23  John Hughes <john@calva.com>
1980
1981         * acconfig.h: Add HAVE_OPTHDR and HAVE_T_OPTHDR defines.
1982
1983         * aclocal.m4: Add tests for struct opthdr in sys/socket.h and
1984         struct t_opthdr in sys/tiuser.h, define HAVE_OPTHDR and HAVE_T_OPTHDR
1985         if found.
1986
1987         * configure.in: use tests for struct opthdr and struct t_opthdr.
1988
1989         * defs.h: add new function print_sock_optmgmt.
1990
1991         * io.c: add hack that lets ioctl decode functions set auxilliary
1992         string return.
1993
1994         * stream.c: better decoding for timod ioctls.
1995
1996         * net.c: add function print_sock_optmgmt, used by timod ioctl
1997         decoding functions in stream.c.
1998
1999 2002-05-23  John Hughes <john@calva.com>
2000
2001         * acconfig.h: Make autoheader happy about Linux/SuperH
2002
2003 2002-05-23  John Hughes <john@calva.com>
2004
2005         * strace.c: Get rid of warning if not using POLL_HACK
2006
2007 2002-05-22  John Hughes <john@calva.com>
2008
2009         * net.c: Simplify {get,set}sockopt, decode SO_LINGER, cope with
2010         options that are not just ints, cope with systems that don't
2011         #define SOL_TCP and so on.
2012
2013 2002-05-21  John Hughes <john@calva.com>
2014
2015         * strace.c: Fix warning if POLL_HACK is used.
2016
2017 2002-05-17  John Hughes <john@calva.com>
2018
2019         * svr4/ioctlent.sh: Some defines on UW come with too many spaces.
2020
2021 2002-05-17  John Hughes <john@calva.com>
2022
2023         * svr4/ioctlent.sh: Cope with #defines wrapped in #ifdefs.
2024
2025 2002-05-17  John Hughes <john@calva.com>
2026
2027         * stream.c: tidy up output a little.
2028
2029 2002-05-17  John Hughes <john@calva.com>
2030
2031         * process.c, svr4/dummy.h, svr4/syscall.h: decode arguments
2032         to procpriv syscall.
2033
2034 2002-05-01  Wichert Akkerman <wichert@deephackmode.org>
2035
2036         * configure.in, defs.h, process.c, sock.c, syscall.c, util.c: merge
2037           patch from Greg Banks <gbanks@pocketpenguins.com> for Linux/SuperH
2038           support
2039
2040 2002-04-01  Wichert Akkerman <wichert@deephackmode.org>
2041
2042         * strace.c: close tcp->outf in droptcb()
2043
2044 2002-04-01  Wichert Akkerman <wichert@deephackmode.org>
2045
2046         * net.c: decode packet options
2047
2048 2002-03-31  Wichert Akkerman <wichert@deephackmode.org>
2049
2050         * linux/{alpha,hppa,ia64,mips,powerpc,sparc}/syscallent.h: regenerated
2051
2052 2002-03-31  Wichert Akkerman <wichert@deephackmode.org>
2053
2054         * debian/*: added
2055         * linux/syscallent.h: fix typo and add the reserved stream syscalls
2056         * defs.h, file.c, io.c: fix signed/unsigned issues
2057         * syscall.c: check for negative u_errors
2058         * cvsbuild: renamed to autogen.sh
2059
2060 2001-12-17  Wichert Akkerman <wakkerma@debian.org>
2061
2062         * net.c: add new TCP socket options
2063
2064 2001-10-26  John Hughes <john@calva.com>
2065
2066         * svr4/ioctlent.sh: Cope with #define lines containing
2067         comments that terminate on subsequent lines.  Used to
2068         comment out subsequent ioctls!
2069
2070 2001-10-25  Wichert Akkerman <wakkerma@debian.org>
2071
2072         * linux/ioctlent.h: regenerated using current scripts so
2073           term ioctls are included
2074
2075 2001-10-19  John Hughes  <john@Calva.COM>
2076
2077         * strace.c(proc_open): On SVR4 only trace the syscalls,
2078         signals and faults we care about.
2079
2080 2001-10-18  John Hughes  <john@Calva.COM>
2081
2082         * acconfig.h: Add HAS_SIGINFO_T.
2083         * aclocal.m4: add check for siginfo_t in signal.h.
2084         * configure.in: use check for siginfo_t.
2085         * defs.h: if HAVE_SIGINFO_T the declare printsiginfo.  On SVR4
2086           allow access to siginfo when signal recieved.
2087         * process.c: Remove SVR4 only version of printsiginfo.
2088         * signal.c: merge SVR4 and LINUX versions of printsiginfo.
2089         * strace.c: on SVR4 print siginfo when signal recieved.
2090
2091 2001-10-18  John Hughes  <john@Calva.COM>
2092
2093         * system.c(sys_ssisys): handle return values for ssisys
2094
2095 2001-10-18  John Hughes  <john@Calva.COM>
2096
2097         * signal.c: handle sigwait
2098         * svr4/dummy.c: Move sigwait to done
2099         * svr4/syscall.h: handle sigwait
2100
2101 2001-10-16  John Hughes  <john@Calva.COM>
2102
2103         * system.c(sys_ssisys): decode some args for ssisys.
2104
2105 2001-10-16  John Hughes  <john@Calva.COM>
2106
2107         * mem.c: MS_SYNC is zero, so must be first in xlat list.
2108
2109         * svr4/dummy.h: memcntl is much like mctl.
2110
2111 2001-10-16  John Hughes  <john@Calva.COM>
2112
2113         * util.c (umovestr): UnixWare (svr4?) returns 0 when trying
2114         to read unmapped page.  Make it possible to strace ksh.
2115
2116 2001-10-03  David Mosberger  <davidm@hpl.hp.com>
2117
2118         * process.c (internal_clone): Avoid race condition by clearing
2119         breakpoint after attaching to child.
2120
2121 2001-10-02  David Mosberger  <davidm@hpl.hp.com>
2122
2123         * linux/ia64/syscallent.h: Define ia32 syscall numbers (originally
2124         by Don Dugger, with my refinements).
2125
2126         * linux/ia64/ioctlent.h: Regenerate and manually merge conflicting
2127         ioctls (TCGETS & SNDCTL_TMR_TIMEBASE, etc.).
2128
2129         * linux/ia64/Makefile.in (ioctldefs.h ioctls.h): Update for
2130         new ioctlent.h generation scheme.
2131
2132         * linux/syscall.h (sys_clone2): Declare.
2133         [IA64] Define ia32 socket, ipc, and extra syscall numbers.
2134
2135         * linux/ioctlent.sh (regexp): Also handle <asm/ioctls.h> so we
2136         don't miss the tty ioctls (unfortunately, some of the sound timer
2137         ioctls are in conflict with them!).
2138
2139         * util.c (setbpt) [IA64]: Add ia32 support (by Don Dugger).
2140         (clrbpt) [IA64]: Ditto.
2141
2142         * syscall.c (internal_syscall): Handle SYS_clone2, SYS32_wait4,
2143         and SYS32_exit.
2144         (get_scno): Get ia32 syscall number from r1 (orig eax) instead of
2145         r8 (eax).  Handle TCB_WAITEXECVE.
2146         (syscall_fixup): Handle ia64.
2147         (syscall_enter): Fix argument fetching for ia64.
2148
2149         * strace.c [IA64 && LINUX]: Include <asm/ptrace_offsets.h>.
2150         (trace) [PT_GETSIGINFO]: Print signal address and pc if possible.
2151
2152         * process.c (tcp): New function.
2153         (change_syscall): Add support for ia64 linux.
2154         (sys_execve): Turn on TCB_WAITEXECVE for ia64 linux.
2155
2156         * desc.c (getlk): Cast l_len to "long long" to avoid warnings when
2157         type is narrower.
2158         * resource.c (sprintrlim64): Ditto.
2159
2160         * defs.h (TCB_WAITEXECVE) [IA64]: Define.
2161         [IA64]: Declare "ia32" variable.
2162
2163         * bjm.c: Do not include <linux/module.h>.  It's not safe to include
2164         kernel headers.  Declare the necessary constants and structures
2165         directly instead.
2166
2167 2001-10-01  David Mosberger  <davidm@hpl.hp.com>
2168
2169         * signal.c (parse_sigset_t): New function.
2170         (sigishandled): Fix off-by-one bug by using parse_sigset_t() and
2171         avoiding relying on internal layout of sigset_t datastructure.
2172
2173 2001-04-26  David Mosberger  <davidm@hpl.hp.com>
2174
2175         * linux/ia64/syscallent.h: Add getunwind().
2176
2177 2001-04-11  David Mosberger  <davidm@hpl.hp.com>
2178
2179         * syscall.c (syscall_enter): Use PT_RBS_END instead of deprecated
2180         PT_AR_BSP.  Pick up arguments starting with out0, which is not
2181         always the same as r32 (e.g., consider inlined syscalls).
2182
2183 2001-09-28   John Hughes <john@Calva.COM>
2184
2185   * process.c: FreeBSD-CURRENT no longer has PT_READ_U, and anyway we
2186     were showing it as PT_WRITE_U!  Fix from Maxime Henrion.
2187
2188 2001-09-18   John Hughes <john@Calva.COM>
2189
2190   * net.c: fix display of sockaddr structures, sometimes too many "}",
2191     sometimes too few.  Fix suggested by Richard Kettlewell.
2192
2193 2001-08-19   Wichert Akkerman <wakkerma@debian.org>
2194
2195   * signal.c: do not include asm/sigcontext.h on IA64 since it gets
2196     the struct from bits/sigcontext.h already which signal.h includes.
2197
2198 2001-08-03   Wichert Akkerman <wakkerma@debian.org>
2199
2200   * linux/ioctlent.sh: change regexps so we catch sound ioctls as well in
2201     Linux
2202   * linux/Makefile.in: fix a few things so the ioctl list is generated
2203     properly
2204   * ioctl.c: remember to shift ioctl masks as well
2205
2206 2001-08-03   Wichert Akkerman <wakkerma@debian.org>
2207
2208   * Linux/**/syscallent.h: synchronize section for fcntl and use sys_fcntl
2209     for sys_fcntl as well
2210
2211 2001-08-03   Wichert Akkerman <wakkerma@debian.org>
2212
2213   * linux/hppa/syscallent.h: updated from Matthew Wilcox
2214
2215 2001-08-03   Wichert Akkerman <wakkerma@debian.org>
2216
2217   * process.c: seems Linux/IA64 changed register names on us, switch to
2218     using new names.
2219
2220 2001-08-03   Wichert Akkerman <wakkerma@debian.org>
2221
2222   * strace.c: set CLOEXEC  flag for outputfile
2223
2224 2001-08-03   Wichert Akkerman <wakkerma@debian.org>
2225
2226   * linux/sparc/syscall.h, linux/sparc/syscallent.h: add some LFS calls
2227
2228 2001-07-23  Wichert Akkerman <wakkerma@debian.org>
2229
2230   * configure.in: Support cross-compiling between architectures
2231
2232 2001-07-13  Wichert Akkerman <wakkerma@debian.org>
2233
2234   * configure.in: add S390 to architecture list
2235
2236 2001-07-10  John Hughes <john@Calva.COM>
2237
2238   * TODO, defs.h, io.h, net.c, strace.c, syscall.c, util.c: Merge fixes
2239     from Richard Kettlewell <rkettlewell@zeus.com> which add I/O dumping
2240     of args to readv/writev.  Also gets rid of redundant printiovec
2241     routine from net.c (duplicate of tprint_iov in util.c).
2242
2243 2001-07-02  Wichert Akkerman <wakkerma@debian.org>
2244
2245   * config.{guess,sub}: updated
2246
2247 2001-05-15  John Hughes <john@Calva.COM>
2248
2249   * signal.c: pass a pointer to sigmask to printsigmask from printcontext,
2250     it was just passing the sigmask (ucp->uc_sigmask).
2251
2252 2001-05-15  John Hughes <john@Calva.COM>
2253
2254   * util.c: Don't run off the end of valid memory in umovestr when
2255     USE_PROCFS.  Important for FREEBSD systems (which seem to have an
2256     unmapped page just after the args/env area).
2257
2258 2001-04-18  John Hughes <john@Calva.COM>
2259
2260   * configure.in: test for sys/nscsys.h, the non-stop clusters includes.
2261   * process.c: handle rfork{1,all} and rexecve calls on non-stop clusters.
2262   * syscall.c: treat rfork{1,all} and fork{1,all} as fork like calls.
2263     Treat rexecve as an exec.
2264   * system.c: decode arguments to ssisys call on nsc systems.
2265   * svr4/dummy.h, svr4/syscall.h: now we handle rfork{1,all}, ssisys and
2266     rexecve calls.
2267
2268 2001-04-12  Wichert Akkerman <wakkerma@debian.org>
2269
2270   * process.c: fix cast for powerpc code
2271   * linux/powerpc/syscallent.h: update syscall list
2272   * README: fix address for the strace mailinglist
2273   * signal.c: switch to using /proc/<pid>/status on Linux so we can get
2274     the realtime signals as well
2275
2276 2001-04-10  Wichert Akkerman <wakkerma@debian.org>
2277
2278   * Merge patches from Maciej W. Rozycki:
2279     + util.c: add code to print PC for MIPS
2280     + linux/mips/syscallent.h: updated
2281     + system.c: formating fixes for sys_sysmips
2282     + configure.in: test for yet more headers
2283     + stream.c: use configure-headertests instead of relying on OS hints
2284
2285 2001-04-07  Wichert Akkerman <wakkerma@debian.org>
2286
2287   * NEWS: start 4.3.1 items
2288   * version.c: updated to say 4.3.1 (was still 4.2, oops!)
2289
2290 2001-04-07  Wichert Akkerman <wakkerma@debian.org>
2291
2292   * configure.in: test for asm/sysmips.h and linux/utsname.h
2293   * linux/syscall.h: fix a typo for sys_sysmips
2294   * system.c: include asm/sysmips.h and linux/utsname.h if they exist,
2295     fix typo
2296
2297 2001-03-31  Wichert Akkerman <wakkerma@debian.org>
2298
2299   * linux/mips/ioctlent.h: updated using new Linux ioctl setup
2300
2301 2001-03-31  Wichert Akkerman <wakkerma@debian.org>
2302
2303   * linux/ia64/ioctlent.h: regenerated
2304
2305 2001-03-31  Wichert Akkerman <wakkerma@debian.org>
2306
2307   * linux/{alpha,ia64,powerpc}/ioctlent.sh: removed, all archs use the
2308     general Linux ioctlent.sh
2309
2310 2001-03-31  Wichert Akkerman <wakkerma@debian.org>
2311
2312   * linux/ioctlent.sh: add dir variable for location of kernel headers
2313
2314 2001-03-29  Wichert Akkerman <wakkerma@debian.org>
2315
2316   * linux/ia64/ioctlent.h: updated using new Linux ioctl setup
2317
2318 2001-03-29  Wichert Akkerman <wakkerma@debian.org>
2319
2320   * linux/powerpc/ioctlent.h: updated using new Linux ioctl setup
2321
2322 2001-03-29  Wichert Akkerman <wakkerma@debian.org>
2323
2324   * linux/hppa/ioctlent.h: updated using new Linux ioctl setup
2325
2326 2001-03-29  Wichert Akkerman <wakkerma@debian.org>
2327
2328   * linux/alpha/ioctlent.h: updated using new Linux ioctl setup
2329
2330 2001-03-28  Wichert Akkerman <wakkerma@debian.org>
2331
2332   * configure.in: use sparc* so we can compile on sparc64 as well
2333   * process.c, syscall.c: work around double define of fpq, fq and fpu
2334     structs on Linux/sparc, and use regs instead of pt_regs
2335   * don't use asm/sigcontext.h on Linux/sparc
2336
2337 2001-03-28  Wichert Akkerman <wakkerma@debian.org>
2338
2339   * linux/sparc/ioctlent.h: updated using new Linux ioctl setup
2340
2341 2001-03-28  Wichert Akkerman <wakkerma@debian.org>
2342
2343   * strace.c: use __WALL as wait4 flag if it exists so we can properly
2344     trace threaded programs
2345
2346 2001-03-27  John Hughes <john@Calva.COM>
2347
2348   * aclocal.m4: add check for endianness of long long.
2349   * acconfig.h: add #define for LITTLE_ENDIAN_LONG_LONG.
2350   * configure.in: check for endianness of long long.
2351   * defs.h: change LONG_LONG macro to work with either endianness of
2352     long long.
2353
2354 2001-03-27  John Hughes <john@Calva.COM>
2355
2356   * net.c: Make compilable by SCO UDK compiler (doesn't like empty
2357     initialisation list for array).
2358
2359 2001-03-27  John Hughes <john@Calva.COM>
2360
2361   * svr4/syscallent.h: ntp_adjtime entry was duplicated on Solaris
2362     systems - bad merge of Harald Boehme's patch by me.
2363
2364 2001-03-27  Wichert Akkerman <wakkerma@debian.org>
2365
2366   * lots of files: add Linux/hppa support
2367
2368 2001-03-19  Wichert Akkerman <wakkerma@debian.org>
2369
2370   * linux/mips/syscallent.h: we can't have -1 nargs, change to 0
2371   * linux/syscallent.h: not that syscalls 220 and 221 are used now
2372   * config.guess: updated
2373
2374 2001-03-17  Wichert Akkerman <wakkerma@debian.org>
2375
2376   * linux/ioclsort.c: new file
2377   * linux/ioctlent.sh: complete rewrite to use a more sane approach to get
2378     the ioctl list that doesn't involve attempting to #include all kernel
2379     headers
2380   * linux/.cvsignore: added ioctdefs.h and ioctls.h which are generated
2381     by the new ioctlent.sh
2382   * ioctl.c: only look at the number and type bits for linux, since
2383     ioctlent.sh no longer supplies the others
2384
2385 2001-03-08  John Hughes <john@Calva.COM>
2386
2387   * freebsd/syscalls.pl: On FreeBSD we must cope with COMPATibility syscalls,
2388     pretend they have names ending with "?" so that -e trace=stat (for
2389     example) will work.
2390   * freebsd/i386/syscallent.h: add ? to compatability syscalls.
2391   * freebsd/i386/syscall.h: consistency.
2392
2393 2001-03-08  John Hughes <john@Calva.COM>
2394
2395   * acconfig.h: add new ST_xxx defines.
2396   * aclocal.m4: macros to check for more fields in struct stat.
2397   * configure.in: use new macros to check for fields in struct stat.
2398   * file.c: use new defines to replace #ifdef FREEBSD by #if HAVE_ST_xxx.
2399
2400 2001-03-08  John Hughes <john@Calva.COM>
2401
2402   * defs.h: rename wimpy get64 as powerful new LONG_LONG
2403   * file.c: use LONG_LONG
2404   * io.c: use LONG_LONG
2405   * mem.c use LONG_LONG
2406
2407 2001-03-08  John Hughes <john@Calva.COM>
2408
2409   * acconfig.h: new #defines HAVE_LONG_LONG_OFF_T and HAVE_LONG_LONG_RLIM_T.
2410   * aclocal.m4: routines to check for long long off_t and rlim_t.
2411   * configure.in: check for long long off_t and rlim_t.
2412   * desc.c: if HAVE_LONG_LONG_OFF_T treat flock as flock64
2413   * file.c: if HAVE_LONG_LONG_OFF_T treat stat,lstat,fstat and lseek as 64
2414     bit versions.
2415   * io.c: if HAVE_LONG_LONG_OFF_T use 64 bit versions of pread and pwrite.
2416   * mem.c: if HAVE_LONG_LONG_OFF_T use 64 bit version of mmap
2417   * resource.c: if HAVE_LONG_LONG_OFF_T use 64 bit versions of getrlimit
2418     and setrlimit.
2419   * freebsd/syscalls.print: don't explicitly use 64 bit versions of calls,
2420     now done automaticaly for us.
2421   * freebsd/i386/syscall.h: ditto.
2422   * freebsd/i386/syscallent.h ditto.
2423
2424 2001-03-07  John Hughes <john@Calva.COM>
2425
2426   * desc.c: On FreeBSD flock structure uses 64 bit offsets.
2427   * file.c: On FreeBSD use stat64 and pals instead of stat.
2428   * freebsd/syscalls.print: use stat64, lstat64 and fstat64.
2429   * freebsd/i386/syscall.h: ditto.
2430   * freebsd/i386/syscallent.h: ditto.
2431
2432 2001-03-07  John Hughes <john@Calva.COM>
2433
2434   * file.c: merge missing part of Harald Böhme's solaris patches,
2435     was only declaring sys_{stat64,lstat64,fstat64} on linux!
2436
2437 2001-03-07  John Hughes <john@Calva.COM>
2438
2439   * svr4/dummy.h: fix multiple define warning on non LFS64 systems.
2440   * svr4/syscallent.h: pread/pwrite are TF calls.
2441
2442 2001-03-07  John Hughes <john@Calva.COM>
2443
2444   * defs.h: add ALIGN64 macro to cope with FreeBSD's strange insistence
2445     on alignment for off_t (64 bit) arguments.  Also simplify get64 so
2446     we don't need to know endianness of long long.
2447   * file.c: FreeBSD now uses 64 bit versions of lseek, truncate,
2448     ftruncate, allows reduction in numvber of horrid #if's
2449   * io.c: FreeBSD now uses 64 bit versions of pread, pwrite.
2450   * mem.c: FreeBSD now uses 64 bit version of mmap.
2451   * freebsd/syscalls.print: use 64 bit versions of various syscalls.
2452   * freebsd/i386/syscall.h: use 64 bit versions of various syscalls.
2453   * freebsd/i386/syscallent.h: use 64 bit versions of various syscalls.
2454
2455 2001-03-06  John Hughes <john@Calva.COM>
2456
2457   * file.c: Implement truncate64 and ftruncate64
2458   * svr4/dummy.h: add dummies for truncate64 and ftruncate64 for non
2459     LFS64 systems.
2460   * svr4/syscall.h: add declarations for truncate64 and ftruncate64.
2461
2462 2001-03-06  John Hughes <john@Calva.COM>
2463
2464   * freebsd/syscalls.pl: fix for FreeBSD 4.1 (new optional field in
2465     syscall master file).
2466
2467 2001-03-06  John Hughes <john@Calva.COM>
2468
2469   * syscall.c: fix for FreeBSD 4.1 (SYS_semconfig has disappeared).  Also
2470     zap incorrect syscall subarg range check.
2471
2472 2001-03-06  John Hughes <john@Calva.COM>
2473
2474   * configure.in, defs.h, desc.c, file.c, io.c, mem.c, net.c, resource.c,
2475     signal.c, syscall.c, svr4/dummy.h, svr4/syscall.h, svr4/syscallent.h:
2476     merge Harald Böhme's solaris patches (_LFS64_LARGEFILE and kernel aio
2477     mostly).
2478
2479 2001-03-06  John Hughes <john@Calva.COM>
2480
2481   * dummy.h: add unimplemented UW sycalls
2482   * syscall.h: we can do settimeofday for UW, whopee!
2483   * syscallent.h: fix unimplemented UW syscalls
2484
2485 2001-03-06  John Hughes <john@Calva.COM>
2486
2487   * aclocal.m4: look for pr_syscall in pr_lwp if we HAVE_MP_PROCFS
2488   * defs.h: add PR_SYSCALL to allow use of pr_lwp.pr_syscall if it exists.
2489   * syscall.c: use PR_SYSCALL instead of pr_syscall, fix up UnixWare code
2490     so it doesn't try to use pr_sysarg.
2491
2492 2001-03-06  John Hughes <john@Calva.COM>
2493
2494   * aclocal.m4: on systems other than linux look for stat64 in sys/stat.h
2495   * file.c: handle xstat version _STAT64_VER, aka stat64.
2496
2497 2001-03-06  John Hughes <john@Calva.COM>
2498
2499   * net.c: make sure SOL_ options are defined before using.
2500   * signal.c: declare sigset variable, only used on linux, inside #ifdef.
2501
2502 2001-02-21  Wichert Akkerman <wakkerma@debian.org>
2503
2504   * net.c: fix format for printing Unix domain sockets
2505
2506 2001-02-19  Wichert Akkerman <wakkerma@debian.org>
2507
2508   * linux/mips/syscallent.h: use new sys_sysmips
2509   * system.c: add sys_sysmips decoding
2510
2511 2001-02-16  Wichert Akkerman <wakkerma@debian.org>
2512
2513   * CREDITS: add Arkadiusz Miskiewicz <misiek@pld.org.pl> who
2514     submitted the IP6 scope ID updates
2515   * acconfig.h: add HAVE_SIN6_SCOPE_ID and HAVE_SIN6_SCOPE_ID_LINUX
2516   * aclocal.m4: add AC_SIN6_SCOPE_ID to check if sin6_scope_id is
2517     available
2518   * configure.in: check for if_indextoname function and sin6_scope_id
2519   * net.c: teach printsock about IP6 scope ids
2520
2521 2001-02-16  Wichert Akkerman <wakkerma@debian.org>
2522
2523   * configure.in: test for netinet/tcp.h and netinet/udp.h existance
2524   * net.c: include netinet/tcp.h and netinet/udp.h if they exist
2525   * Makefile.in: use @mandir@ and @bindir@
2526
2527 2000-11-26  Wichert Akkerman <wakkerma@debian.org>
2528
2529   *  net.c: fix formating error in sys_setsockopt
2530   *  net.c: add list of socketlayers and use that for [gs]etsockopt
2531
2532 2000-10-12  Wichert Akkerman <wakkerma@debian.org>
2533
2534   * time.c: use sys/timex.h so things compile with 2.2 kernels
2535   * stream.c: test if MSG_* constants are #defined
2536
2537 2000-09-03  Wichert Akkerman <wakkerma@debian.org>
2538
2539   * process.c: perform bpt trick for clone as well so we can get the
2540     pid of the child before it starts doing something
2541   * file.c: rename dirent64 struct to kernel_dirent64 so things compile
2542     again with newer libcs
2543   * test/clone.c: improve our testcase a bit
2544   * Merge another patch from Gäel Roualland with FreeBSD updates
2545
2546 2000-09-01  Wichert Akkerman <wakkerma@debian.org>
2547
2548   * lots of files: merge patch from Gaël Roualland to add
2549     support for FreeBSD.
2550
2551 2000-08-09  Wichert Akkerman <wakkerma@debian.org>
2552
2553   * file.c: update to reflect that st_ino suddenly became a long long
2554     in the in Linux 2.4.0-test6
2555
2556 2000-08-09  Wichert Akkerman <wakkerma@debian.org>
2557
2558   * test/clone.c: minor fixup
2559   * Another bunch of patches from John Hughes merged:
2560   * signal.c:
2561     + SVR4 printcontext(): sigset_t != sigset_t*
2562     + getcontext returns a value, so print on exit of syscall
2563     + add UC_FP to ucontext_flags for OS writers that can't spell
2564     + sys_signal(): special case SIG_{ERR,DFL,IGN}
2565     + decode_subcall(): only do subcall range checking when needed
2566   * bunch of UnixWare updates
2567   * aclocal.m4, acconfig.h, configure.in: add test for long long type
2568
2569 2000-07-04  Wichert Akkerman <wakkerma@debian.org>
2570
2571   * net.c: add SOL_PACKET and SOL_RAW socket options, update
2572     SOL_IP and SOL_TCP
2573
2574 2000-06-23  Wichert Akkerman <wakkerma@debian.org>
2575
2576   * strace.c: close outf before we exec a child process
2577
2578 2000-06-09  Ulrich Drepper  <drepper@redhat.com>
2579
2580   * configure.in: Don't link against libnsl on Linux, it's unnecessary.
2581   * defs.h (struct tcb): Make auxstr member const.
2582   * file.c (fsmagic): And many more magic numbers.
2583   * util.c: Don't include <linux/ptrace.h> for glibc 2.1 and up.
2584
2585 2000-04-26  Wichert Akkerman <wakkerma@debian.org>
2586
2587   * defs.h: balance #if/#endif again
2588   * system.c: fix return statements in sys_capget()
2589   * Merge updates from Topi Miettinen <Topi.Miettinen@nic.fi>:
2590     + file.c: add F_[SG]ETSIG to fcntl flags
2591     + strace.c: don't setre[gu]id if not needed
2592     + system.c: handle sys_reboot for Linux
2593     + term.c: add baudrate constants up to B4000000
2594     + linux/**/syscallent.h: note that munlockall has no arguments
2595
2596 2000-04-25  David Mosberger  <davidm@hpl.hp.com>
2597
2598   * CREDITS: fix email address
2599   * process.c: handle PR_[GS]ET_UNALIGN and PR_[GS]ET_KEEPCAPS
2600   * signal.c: honour offset of sigconfig in sigframe structure for
2601     Linux/ia64
2602   * linux/ia64/syscallent.h: Add perfmonctl, pivotroot, mincore, and
2603     madvise syscalls.
2604   * syscall.c (syscall_enter): With Kevin's latest ptrace patches,
2605     AR_BSP points to the _end_ of the active register frame, so we need
2606     to adjust bsp by moving it back by the size of the active frame
2607     before using it.
2608
2609 2000-04-24  Wichert Akkerman <wakkerma@debian.org>
2610
2611   * process.c: add sparc support to change_syscall
2612
2613 2000-04-22  Wichert Akkerman <wakkerma@debian.org>
2614
2615   * linux/mips/syscallent.h: fix some typos
2616
2617 2000-04-14  Wichert Akkerman <wakkerma@debian.org>
2618
2619   * linux/mips/syscallent.h: added names for SVR4, SYSV, BSD4.3 and POSIX
2620     syscalls
2621
2622 2000-04-13  Wichert Akkerman <wakkerma@debian.org>
2623
2624   * defs.h: Linux/MIPS uses syscalls up to >4k, so set MAX_QUALS to
2625     4999
2626
2627 2000-04-09  Wichert Akkerman <wakkerma@debian.org>
2628
2629   * README-linux: updated to note that strace might not compile
2630     with development kernels
2631   * bjm.c: sys_query_module: check if malloc succeeds
2632   * system.c: sys_cap[gs]et(): check if malloc succeeds, only malloc once
2633   * linux/syscallent.h: updated for 2.3.99pre3
2634   * linux/alpha/syscallent.h: updated for 2.3.99pre3, add all osf syscalls
2635     even though Linux doesn't implement them
2636   * syscall.c: add global variables for MIPS registers as well
2637   * syscall.c: move global variables to before get_scno since that uses them
2638   * util.c: oops, misspelled defined
2639   * process.c: fix ptrace calls in change_syscall
2640   * mem.c: decode sys_madvise
2641   * Merge patch from Topi Miettinen <Topi.Miettinen@nic.fi>
2642     + add support for quotactl, fdatasync, mlock, mlockall, munlockall & acct
2643     + small fix for RLIMIT_* and RUSAGE_BOTH
2644     + enhace support for capget and capset
2645
2646 2000-02-19 Wichert Akkerman <wakkerma@debian.org>
2647
2648   * test/vfork.c: new file to test vfork traces
2649   * test/.cvsignore: new file
2650   * defs.h: Up maximum number of traced processed to 64
2651   * strace.c: Disable some debugging code from davidm
2652   * implement setarg for more architectures
2653   * implement change_syscall
2654
2655 1999-12-27  Morten Welinder  <terra@diku.dk>
2656
2657         * syscall.c (lookup_signal, lookup_desc): isdigit requires an
2658         _unsigned_ char parameter.
2659
2660 2000-02-14 Wichert Akkerman <wakkerma@debian.org>
2661
2662   * S390 updates
2663
2664 2000-02-03 Wichert Akkerman <wakkerma@debian.org>
2665
2666   * Merge Linux/ia64 patches
2667
2668 2000-01-02 Pavel Machek      <pavel@ucw.cz>
2669
2670   * probe if sys/poll.h exists in configure + minor cleanups
2671
2672   * syscall.c: split trace_syscall into few pieces to make code readable
2673
2674 2000-01-21 Wichert Akkerman  <wakkerma@debian.org>
2675
2676   * Release version 4.2 to get the current updates out and so
2677     we can concentrate in finishing the clone support.
2678
2679 2000-01-11 Wichert Akkerman  <wakkerma@debian.org>
2680
2681   * Add 1900 to tm_year in sprinttime
2682
2683 1999-12-24  Wichert Akkerman  <wakkerma@debian.org>
2684
2685  * file.c: protect printstat64 with STAT64 instead of linux so we can
2686    compile on Linux architectures that don't have it
2687  * util.c: fix LOOP for ARM
2688
2689 Fri Dec 24 18:05:00 EST 1999
2690
2691 1999-12-23  Ulrich Drepper  <drepper@cygnus.com>
2692
2693  * file.c: Use ugly libc_stat trick also for stat64.
2694    Implement sys_stat64, sys_fstat64, sys_lstat64, and printstat64.
2695  * process.c (internal_clone): Fix a few typos and add definitions to make
2696    it at least compile.
2697  * linux/syscall.h: Declare sys_stat64, sys_lstat64, and sys_fstat64.
2698  * linux/syscallent.h: Define table entries for sys_stat64, sys_lstat64,
2699    and sys_fstat64.
2700  * aclocal.m4: Define AC_STAT64.
2701  * acconfig.h: Define HAVE_STAT64.
2702  * configure.in: Add AC_STAT64.
2703
2704 Thu Dec 23 15:01:37 CET 1999 Wichert Akkerman <wakkerma@debian.org>
2705
2706   * Merge patch from ftp://oss.software.ibm.com/linux390/ to add
2707     support for Linux on the IBM S/390 architecture
2708   * process.c: add internal_clone(), currently only shows the options
2709   * syscall.c: use internal_clone to handle SYS_clone
2710
2711 Mon Dec 20 00:27:50 CET 1999 Wichert Akkerman <wakkerma@debian.org>
2712
2713   * Rewrite mmap-handling to support mmap2 on Linux
2714
2715 Tue Dec 14 11:35:16 CET 1999 Wichert Akkerman <wakkerma@debian.org>
2716
2717   * Note that Linux can handle sys_semop() as well
2718
2719 Tue Nov 30 11:05:26 CET 1999 Wichert Akkerman <wakkerma@debian.org>
2720
2721   * Include linux/in6.h for glibc2.0 and older
2722
2723 Mon Nov 29 16:33:04 CET 1999 Wichert Akkerman <wakkerma@debian.org>
2724
2725   * Merge patches from John Hughes to make configure support UnixWare
2726
2727 Sat Nov 27 21:38:17 CET 1999 Wichert Akkerman <wakkerma@debian.org>
2728
2729   * Enhance sys_query_module
2730
2731 Fri Nov 26 10:51:55 CET 1999 Wichert Akkerman <wakkerma@debian.org>
2732
2733   * Patches from John Hughes:
2734     + cosmectic fix in sys_getpmsg
2735     + allow net.c to compile on systems without AF_INET6
2736     + Only use long_to_sigset on Linux systems
2737     + UnixWare treats sigmask_t and sigmask_t* as the same thing
2738     + Add pollhack
2739     + Parse mount arguments for UnixWare
2740     + ACL fixes for UnixWare
2741
2742 Fri Nov 26 01:28:09 CET 1999 Wichert Akkerman <wakkerma@debian.org>
2743
2744   * Release 4.1 to get all the changes made out there
2745
2746 Thu Nov 18 18:04:04 CET 1999 Wichert Akkerman <wakkerma@debian.org>
2747
2748   * Merge stracefork from Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>
2749     + Socket calls parsed better
2750         + bunch of alpha OSF syscalls added
2751         + Fix alpha 32/64 bit issues
2752
2753 Mon Nov  1 20:52:08 CET 1999 Wichert Akkerman <wakkerma@debian.org>
2754
2755   * Move Linux kernelmodule-functions from system.c to bjm.c and
2756     remove duplicate for sys_create_module
2757   * Linux MIPS updates:
2758     + Play with #ifdef's in net.c to get IPv6 right
2759     + Use printargs for vm86-syscall
2760
2761 Sun Oct 31 22:03:00 CET 1999 Wichert Akkerman <wakkerma@debian.org>
2762
2763   * Merge Linux mips patch from Florian Lohoff <flo@rfc822.org>
2764
2765 Mon Oct 11 00:36:25 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
2766
2767   * Merge patch from Keith Owens <kaos@ocs.com.au> to sys_query_module
2768     and sys_delete_module correctly
2769
2770 Wed Oct  6 02:00:33 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
2771
2772   * Update cvsbuild to give a better error if autoconf isn't installed
2773   * Add test for linux/ptrace.h to configure
2774   * Since we define GNU_SOURCE in the Makefile we don't need to define
2775     USE_GNU in file.c anymore
2776
2777 Fri Sep 10 04:35:16 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
2778
2779   * #define USE_GNU before including file.c so we get some extra O_* flags
2780
2781 Tue Aug 31 16:27:21 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
2782
2783   * Add missing } in IPv6 output
2784
2785 Tue Aug 31 01:23:08 CEST 1999  Wichert Akkerman <wakkerma@debian.org>
2786
2787   * Update copyright for strace-graph to BSD to be consistent with
2788     the rest of strace
2789
2790 Mon Aug 30 00:53:57 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
2791
2792   * Merge patch from Daniel Jacobowitz: KERN_JAVA_* and KERN_SECURELVL aren't
2793     defined for all kernelversions
2794   * Add strace-graph, written by Richard Braakman <dark@xs4all.nl>
2795
2796 Thu Aug 19 13:10:15 CEST 1999 Jakub Jelinek <jj@ultra.linux.cz>
2797
2798   * linux/sparc/syscall.h: Declare create_module/init_module.
2799   * configure.in: Allow compilation in a different directory
2800     than the source one.
2801   * signal.c: Use asm/reg.h and struct regs instead of pt_regs
2802     so that we don't depend on asm/ptrace.h which clashes with
2803     glibc sys/ptrace.h.
2804   * util.c: Likewise.
2805   * syscall.c: Likewise.
2806
2807 Wed Aug  4 18:01:50 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
2808
2809   * Syscall 94 on Linux alpha is sys_poll
2810
2811 Sun Jul 25 14:38:33 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
2812
2813   * Merge in UnixWare patches from John Hughes <john@Calva.COM>
2814
2815 Thu Jul 15 23:00:32 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
2816
2817   * Merge patch from Maciej W. Rozycki <macro@ds2.pg.gda.pl>:
2818     + Correctly implement fix sys_createmodule (Linux)
2819     + Add limited handlig of sys_initmodule (Linux)
2820
2821 Tue Jul 13 17:07:50 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
2822
2823   * Add configure-test for sys/reg.h and use that
2824   * Use sys/reg.h instead of asm/ptrace.h
2825
2826 Sat Jul 10 01:46:10 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
2827
2828   * Remove hack in signal.c for arm architecture
2829   * Add hack so we compile correctly on powerpc
2830
2831 Fri Jul  9 02:28:16 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
2832
2833   * Add a corrected patch from Daniel Jacobowitz
2834
2835 Thu Jul  8 16:00:04 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
2836
2837   * Merge patch from Daniel Jacobowitz to allow us to use the kernel types
2838     for the stat structure
2839
2840 Thu Jun 24 15:54:18 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
2841
2842   * Fix test for sys/reg include
2843
2844 Tue Jun 22 17:26:33 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
2845
2846   * Fixed some Linux/powerpc sillyness, thanks to Daniel Jacobowitz
2847   * Fixed some SunOS compile problems earlier that I forgot to include
2848     here
2849
2850 Mon Jun 14 12:44:25 CEST 1999
2851
2852   * Avoid leakint fd into child when forking, patch from
2853     John Hughes <john@Calva.COM>
2854
2855 Fri Jun 11 14:54:47 CEST 1999
2856
2857   * Applied IRIX64 patch from Thomas E. Dickey <dickey@clark.net>
2858   * Applied Solaris and manpage updates from Guy Harris <guy@netapp.com>
2859
2860 Wed Jun  9 14:48:49 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
2861
2862   * Brought syscall list for alpha up to date
2863
2864 Wed Jun  2 18:30:12 CEST 1999 Jakub Jelinek <jj@ultra.linux.cz>
2865
2866   * system.c: sys_umount2 syscall support.
2867   * linux/sparc/errnoent.h: Update sparc-linux errnos.
2868   * linux/sparc/syscall.h: Update used sparc-linux syscalls.
2869   * linux/sparc/syscallent.h: Match 2.2.9 system calls.
2870   * file.c: sparc-linux asm/stat.h uses dev_t etc. types,
2871     so it needs strace's own copy of the stat structure.
2872   * util.c: Make it compile on sparc-linux.
2873   * strace.c: Fix strace -f and -ff operation on sparc-linux.
2874   * signal.c: rt_sigaction has different arguments on sparc*-linux
2875     and alpha-linux.
2876   * syscall.c: Recognize sparc64-linux binaries.
2877
2878 Fri May 28 21:09:00 PST Ulrich Drepper <drepper@cygnus.com>
2879
2880   * configure.in: Fix typo (CFLAG -> CFLAGS).
2881
2882   * syscall.c: Don't include linux/ptrace.h explicitly for glibc.
2883
2884 Thu May 27 13:59:27 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
2885
2886   * Add some sysctl support, patch from Ulrich Drepper
2887
2888 Wed May 26 01:04:34 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
2889
2890   * Use kernel dirent structure for Linux
2891
2892 Sun May  9 02:18:30 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
2893
2894   * Merge in patches from Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
2895     + some layout and other minor fixes
2896     + add some m68k-specific things to linux/syscallent.h. Note that m68k
2897       is similar enough to i386 to not need it's own subdirectory
2898     + add support for sendfile and mremap syscalls for Linux
2899   * Merge in patches from Sascha Schumann <sascha@schumann.2ns.de>
2900     + ioctls.h vs sys/ioctl.h on Alpha platform
2901     + pointer was casted to an int in stream.c
2902     + strsignal() needs -D_GNU_SOURCE in CFLAGS
2903     + several other casts changed
2904     + correct ARM/POWERPC architecture defines in acconfig.h
2905   * Merge in patches from Morten Welinder <terra@diku.dk>
2906     + add some autoconf-tests for includefiles
2907     + handle solaris version of sigcontext struct (actually I hacked this
2908       up again, but the idea is his :)
2909
2910 Sun Apr 18 22:32:42 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
2911
2912   * Update syscalls for linux alpha, patch from Bart Warmerdam
2913     <bartw@debian.org>
2914   * Update sparc code so it actually compiles
2915
2916 Fri Apr 16 02:18:05 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
2917
2918   * Add support for old_*stat functions for Linux. Please note you need
2919     to use reasonably recent kernel headers to compile strace now.
2920   * Change references to LINUX into linux in file.c
2921   * Fix include for LDT in mem.c
2922
2923 Thu Apr 15 22:28:15 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
2924
2925   * Change in strace maintainership, jrs passed the torch to me.
2926   * Use autoconf 2.13
2927   * Incorporate all changes already made in the Debian strace package:
2928     + compiles with more Linux kernels
2929     + added support for more Linux architectures
2930     + add support for a lot of extra syscalls
2931     + fix some problems with hanging children
2932     + check stray syscall after execv
2933     + decode capget and capset arguments
2934     + add more constants to net.c
2935     + detect ROSE networking
2936     + add more protocol families to domains
2937     + add IPIP protocol
2938     + added MSG_PROXY and MSG_CTRUNC to msg_flags
2939     + added SO_BSDCOMPAT and SO_REUSEPORT to sockoptions
2940     + added IP, IPX and TCP-options
2941     + added IP, IPX and TCP support to get-/setsockopt()
2942     + added IPX support
2943     + updated handling of signals
2944
2945 Sun Oct 27 22:28:00 1996  J. Richard Sladkey  <jrs@world.std.com>
2946
2947         * util.c (umovestr) [LINUX]: Handle Linux like SunOS4
2948         instead of SVR4.  That is, read a few bytes at a time
2949         to avoid overrunning the end of the stack.
2950
2951 Fri May 31 01:48:49 1996  J. Richard Sladkey  <jrs@world.std.com>
2952
2953         * version.c: Version 3.1 is released.
2954
2955 Thu May 23 01:04:43 1996  J. Richard Sladkey  <jrs@world.std.com>
2956
2957         * aclocal.m4 (AC_DECL_SYS_ERRLIST): Try looking in stdio.h
2958         as well since that's where glibc declares it.  Go figure.
2959         * signal.c (sys_sigreturn) [ALPHA]: Use sigcontext
2960         instead of sigcontext_struct since glibc v5+ apparently
2961         plays games with the native OS namespace.
2962         From David Mosberger-Tang <davidm@AZStarNet.com>.
2963
2964 Mon May 20 23:17:14 1996  J. Richard Sladkey  <jrs@world.std.com>
2965
2966         * version.c: Version 3.0.14 is released.
2967
2968         * aclocal.m4 (AC_STRUCT_MSG_CONTROL): New macro.
2969         * configure.in: Add call to AC_STRUCT_MSG_CONTROL.
2970         * net.c (printmsghdr): Handle BSD 4.3 and 4.4 msghdr members
2971         differently.
2972         Reported by Henrik Storner <storner@osiris.ping.dk>.
2973
2974         * configure.in: (AC_CHECK_{HEADERS,FUNCS}): Add checks for
2975         sys/filio.h and sys/stream.h and remove check for poll.
2976         * desc.c (decode_select, sys_select, sys_oldselect) [LINUX]:
2977         Handle old and new styles of argument passing for select on Linux.
2978         * ioctl.c, stream.c: Conditionalize stream code on presence of
2979         sys/stream.h instead of poll because glibc implements poll but
2980         not the rest of the stream interface.
2981         * signal.c [LINUX]: Standardize on the name sigcontext_struct.
2982         (sys_sigprocmask) [ALPHA]: Handle OSF flavor which is more like
2983         sigsetmask.
2984         * term.c (term_ioctl): Use _VMIN, if present, for TC{G,S}ETA*.
2985         * util.c (umoven, umovestr): Move data in long-sized chunks
2986         at a time, instead of hard coding it to be 4.
2987         From David Mosberger-Tang <davidm@AZStarNet.com>.
2988
2989 Mon May 20 01:19:36 1996  J. Richard Sladkey  <jrs@world.std.com>
2990
2991         * version.c: Version 3.0.13 is released.
2992
2993         * configure.in (AC_CHECK_HEADERS): Add check for asm/sigcontext.h.
2994         * signal.c [HAVE_ASM_SIGCONTEXT_H]: Conditionally include
2995         asm/sigcontext.h to define sigcontext_struct and don't define it
2996         locally if the header is present.
2997
2998         * syscall.c (nerrnos{0,2}): Correct size computation.
2999
3000         * Makefile.in: Remove dependencies and rules relating to files
3001         normally found in the os directory.  Because of the new scheme we
3002         don't know precisely where they come from.  Sigh.
3003         * signalent.sh: Make it work for sunos4, linux, and svr4.
3004         * {sunos4,linux{,/alpha},svr4}/Makefile.in: Make rules correspond
3005         to traditional make syntax.  Add signalent.h to files which can
3006         unconditionally be rebuilt.  Prevent signalent.h from being
3007         unconditionally being rebuilt since it's customized.
3008         * {sunos4,linux{,/alpha},svr4}/{ioctlent,errnoent,signalent}.h:
3009         Use versions built by {ioctlent,errnoent,signaltent}.sh.
3010         * sunos4/ioctlent.sh: Work around sprintf troubles with SunOS
3011         4.1.4 and gcc 2.7.2.
3012
3013 Sun May 19 17:14:09 1996  J. Richard Sladkey  <jrs@world.std.com>
3014
3015         * configure.in, Makefile.in: Add OSARCH concept to finish
3016         build support for the alpha.
3017         * Makefile.in, linux/Makefile.in: Rewrite clean, distclean,
3018         and maintainer-clean rules.
3019         * defs.h, ioctlsort.c: Make ioctl code member unsigned.
3020         * ioctl.c, ioctlsort.c (compare): Perform explicit checking
3021         for less, greater, and equal since subtraction on two's
3022         complement numbers isn't an order relation (it isn't transitive)!
3023         * linux/Makefile.in: Add rules for the signalent.h file.
3024         * linux/alpha/Makefile.in: New file.
3025
3026 Sun May 19 01:12:28 1996  J. Richard Sladkey  <jrs@world.std.com>
3027
3028         * version.c: Version 3.0.12 is released.
3029
3030         * linux{,alpha}/ioctlent.sh: Tweak for recent kernels.
3031         From Michael E Chastain <mec@duracef.shout.net>.
3032
3033         * defs.h (SUPPORTED_PERSONALITES, DEFAULT_PERSONALITY): New.
3034         * syscall.c (set_personality): New.
3035         * strace.c (main): Call set_personality.
3036         * defs.h, syscall.c, ioctl.c, signal.c: Make sysent, errnoent,
3037         ioctlent, and signalent indirect pointers and redirect them
3038         based on personality.
3039         * {sunos4,svr4,linux{,/alpha}}/signalent.h: New files.
3040         Suggested by Tom Dyas <tdyas@eden.rutgers.edu>.
3041
3042         * util.c (upeek): Handle case where ptrace returns a long
3043         and sizeof(long) != sizeof(int).
3044         From Richard Henderson <richard@twiddle.tamu.edu>
3045
3046 Fri May 17 21:03:36 1996  J. Richard Sladkey  <jrs@world.std.com>
3047
3048         * version.c: Version 3.0.11 is released.
3049
3050         * many files: Fix more printf warnings for other platforms.
3051
3052         * ipc.c (sys_msgrcv) [LINUX]: Conditionalize definition of ipc_wrapper.
3053
3054         * linux/dummy.h: Handle missing library support for {send,recv}msg.
3055         Reported by Thomas Bogendoerfer <tsbogend@bigbug.franken.de>.
3056
3057         * linux/syscall.h (sys_utimes): Fix a typo in the declaration.
3058         From Thomas Bogendoerfer <tsbogend@bigbug.franken.de>.
3059
3060 Fri May 17 00:50:06 1996  J. Richard Sladkey  <jrs@world.std.com>
3061
3062         * version.c: Version 3.0.10 is released.
3063
3064         * Makfile.in: Add os/arch to includes so that a given arch
3065         (like alpha) can override the native arch (like i386).
3066         * configure.in: Check for sendmsg.
3067
3068         * net.c: Make sendmsg and recvmsg dependent on an autoconf
3069         test.  Reported by Michael E Chastain <mec@duracef.shout.net>.
3070
3071         * acconfig.h, configure.in: Detect the alpha.
3072         * ioctl.c: Handle the alpha.
3073         * defs.h: Make some members long for the alpha.  Define
3074         some register nicknames.  Add support for WAITEXECVE.
3075         * file.c [ALPHA]: Support the alpha for statfs.  Add
3076         osf_statfs and osf_fstatfs for the alpha.  Make damn sure
3077         major and minor results are suitable for passing to printf.
3078         * signal.c, syscall.c: Support the alpha.
3079         * process.c: Add alpha user offsets.
3080         * most files: Use %l? for printf arguments since
3081         most are now longs for the alpha.
3082         * linux/alpha/{errnoent.h,ioctlent.{h,sh},syscallent.h}:
3083         New for the alpha.
3084         From Thomas Bogendoerfer <tsbogend@bigbug.franken.de>.
3085
3086 Wed May 15 00:29:37 1996  J. Richard Sladkey  <jrs@world.std.com>
3087
3088         * version.c: Version 3.0.9 is released.
3089
3090         * config.in, config.sub, install-sh: Upgrade to autoconf 2.10.
3091
3092         * linux/dummy.h, linux/syscallent.h, linux/syscall.h: Add recent
3093         Linux kernel version system calls.
3094
3095 Wed Mar 13 01:03:38 1996  J. Richard Sladkey  <jrs@world.std.com>
3096
3097         * ipc.c [SUNOS4]: Add SunOS support for decoding IPC calls.
3098         * syscall.c [SUNOS4]: Compile decode_subcall on SunOS and
3099         decode IPC calls using it.
3100         * sunos4/dummy.h: Alias sys_semop to printargs.
3101         * sunos4/syscall.h: Add new pseudo syscalls for IPC.
3102         * sunos4/syscallent.h: Include new subcalls for IPC.
3103         From Matthias Pfaller <leo@dachau.marco.de>.
3104
3105 Tue Feb 13 22:08:25 1996  J. Richard Sladkey  <jrs@world.std.com>
3106
3107         * version.c: Version 3.0.8 is released.
3108
3109         * time.c [LINUX]: Explicitly include linux/version.h.
3110
3111         * strace.c (main): Don't let them even *try* to
3112         get strace to attach to itself since some systems
3113         don't handle this case very gracefully.
3114         Reported by David S. Miller <davem@caip.rutgers.edu>.
3115
3116         * Makefile.in (distclean): Fix it for subdirectories.
3117
3118         * sunos4/syscallent.h, svr4/syscallent.h: Fill in the new
3119         sys_flags member for each defined system call.
3120
3121 Fri Dec  8 01:17:28 1995  Rick Sladkey  <jrs@world.std.com>
3122
3123         * defs.h (TRACE_*): New flags to describe what class
3124         of system call each system call is.
3125         (sysent): Add sys_flags member.
3126         * syscall.c (sysent): Define (and later undef) abbreviations
3127         for the system call class flags.
3128         (lookup_class): New function to translate strings to
3129         system call class flags.
3130         (qualify): Handle new system call class mechanism.
3131         * linux/syscallent.h: Fill in the new sys_flags member
3132         for each defined system call.
3133
3134         * defs.h (print_sock): Remove redundant and non-K&R C
3135         compatible prototype.  From Juergen Weigert
3136         <jnweiger@immd4.informatik.uni-erlangen.de>.
3137
3138 Thu Dec  7 01:17:40 1995  Rick Sladkey  <jrs@world.std.com>
3139
3140         * linux/ioctlent.sh: Tweak to improve ioctl accuracy.
3141         From Michael E Chastain <mec@duracef.shout.net>.
3142
3143         * system.c (includes) [LINUX]: Add linux/nfs.h for recent
3144         kernels.  From Michael E Chastain <mec@duracef.shout.net>.
3145
3146 Wed Dec  6 21:52:28 1995  Rick Sladkey  <jrs@world.std.com>
3147
3148         * file.c (sprintfstype): Enclose string result in double
3149         quotes.
3150
3151         * time.c (sys_adjtimex) [LINUX]: Conditionalize
3152         constantly evolving timex structure.
3153         From Aaron Ucko <UCKO@VAX1.ROCKHURST.EDU>.
3154
3155         * defs.h, syscall.c, strace.c: Rename syscall to
3156         trace_syscall and change prototype and all callers
3157         because of broken Linux shared libraries.
3158         From Aaron Ucko <UCKO@VAX1.ROCKHURST.EDU>.
3159
3160         * Makefile.in (clean): Check for a file with test -f not
3161         test -d.  From Aaron Ucko <UCKO@VAX1.ROCKHURST.EDU>.
3162
3163 Tue Sep 26 02:32:31 1995  Rick Sladkey  <jrs@world.std.com>
3164
3165         * version.c: Version 3.0.7 is released.
3166
3167         * util.c (string_quote): Fix thinko which caused core
3168         dumps for strings with quotes in them.
3169         Reported by Marty Leisner <leisner@sdsp.mc.xerox.com>.
3170
3171         * linux/Makefile.in (errnoent.h rule): Grab all errno.h
3172         files from /usr/include, not just the linux one.
3173         From Michael E Chastain <mec@duracef.shout.net>.
3174
3175         * linux/errnoent.sh: Total rewrite to handle more ioctls with
3176         fewer false positives on more kernel flavors.
3177         From Michael E Chastain <mec@duracef.shout.net>.
3178
3179 Mon Sep  4 01:29:22 1995  Rick Sladkey  <jrs@world.std.com>
3180
3181         * version.c: Version 3.0.6 is released.
3182
3183         * linux/dummy.h, linux/syscall.h, linux/syscallent.h: Add
3184         sys_msync.
3185         * mem.c (mctl_funcs, mctl_lockas, sys_mctl): Conditionalize
3186         on MC_SYNC instead of HAVE_MCTL.
3187         (mctl_sync): Conditionalize on MS_ASYNC instead of HAVE_MCTL.
3188         (sys_msync): New function.
3189
3190 Sat Sep  2 12:06:04 1995  Rick Sladkey  <jrs@world.std.com>
3191
3192         * linux/dummy.h, linux/syscall.h, linux/syscallent.h: Add
3193         sys_flock and sys_getdents.
3194         * desc.c (flockcmds, sys_flock): Conditionalize on LOCK_SH
3195         not SUNOS4.
3196         * file.c (sys_getdents): Define unconditionally and handle
3197         LINUX case.
3198         * strace.c (main): Disallow username option unless both real
3199         and effective uids are root.
3200
3201 Wed Aug 30 01:29:58 1995  Rick Sladkey  <jrs@world.std.com>
3202
3203         * strace.c (main): Ensure that run_uid and run_gid are
3204         always set to something meaningful.
3205         (main, newoutf) [!SVR4]: Swap real and effective uids while
3206         opening any output files.
3207         (main) [!SVR4]: Treat effective uid of root as a request
3208         to handle suid binaries correctly using the real uid of
3209         the invoking user.
3210
3211 Sat Aug 19 00:06:08 1995  Rick Sladkey  <jrs@world.std.com>
3212
3213         * Makefile.in: Add `|| true' to clean rule because
3214         although GNU make 3.74 uses `sh -c' to invoke commands
3215         every other make in the world uses `sh -ec'.
3216
3217         * syscall.c (syscall) [SVR4, MIPS]: The fifth and subsequent
3218         arguments appear to be stored on the stack, not in the
3219         registers following A3 (empirical result).
3220
3221         * defs.h: Add prototype for printsock.
3222         * svr4/dummy.h: Remove generic handling of sys_mount.
3223         * system.c [SVR4, MIPS]: Include several system headers to cleanly
3224         get access to SGI mount information.
3225         (mount_flags, nfs_flags) [SVR4, MIPS]: New objects.
3226         (sys_mount) [SVR4, MIPS]: New function.
3227         (sys_mount) [SVR4, !MIPS]: New function.
3228
3229 Tue Jul  4 00:30:34 1995  Rick Sladkey  <jrs@world.std.com>
3230
3231         * version.c: Version 3.0.5 is released.
3232
3233         * desc.c, resource.c, strace.c, syscall.c, time.c: Cast tv_sec and
3234         tv_usec members to long when using printf.
3235
3236         * ipc.c: Omit define of __KERNEL__.
3237         ({MSG,SEM,SHM}_{STAT,INFO}): Explicitly define those things we
3238         want which __KERNEL__ used to provide.
3239         (sys_msgrcv): Change reference to ipc_kludge structure to
3240         look-alike ipc_wrapper to avoid dependence on __KERNEL__.
3241
3242         mem.c (mmap_flags) [MAP_{GROWSDOWN,DENYWRITE,EXECUTABLE}]: Add
3243         Linux specific options.
3244
3245         syscall.c: Use SYS_ERRLIST_DECLARED instead of guessing.
3246         [E{RESTART{SYS,NO{INTR,HAND}},NOIOCTLCMD}]: Explicitly define
3247         instead of depending of __KERNEL__.
3248
3249         term.c: Cast c_{i,o,c,l}flag to long when using printf.
3250
3251 Tue Jun  6 00:27:48 1995  Rick Sladkey  <jrs@world.std.com>
3252
3253         * aclocal.m4 (AC_DECL_SYS_ERRLIST, AC_DECL__SYS_SIGLIST): New.
3254         * configure.in: Call AC_DECL_SYS_ERRLIST, AC_DECL_SYS_SIGLIST,
3255         and AC_DECL__SYS_SIGLIST.
3256         * acconfig.h (SYS_ERRLIST_DECLARED): New.
3257         * strace.c (strerror): Use SYS_ERRLIST_DECLARED.
3258         (strsignal): Use SYS_SIGLIST_DECLARED.
3259
3260         net.c (sys_socket): Omit inadvertent surplus comma when
3261         protocol family isn't PF_INET.
3262
3263         util.c (dumpstr): Fix incorrect printing of one too many
3264         characters when the length is not an even multiple of 16 bytes.
3265         Reported by Juergen Weigert
3266         <jnweiger@immd4.informatik.uni-erlangen.de>.
3267
3268 Thu May  4 23:37:47 1995  Rick Sladkey  <jrs@world.std.com>
3269
3270         * ioctl.c (compare): Change prototype to match POSIX qsort.
3271         * signal.c (sigishandled) [SVR4]: Omit everything after return.
3272         * strace.c (trace) [SVR4]: Break out of for loop instead of
3273         returning when finished so final return statement is executed.
3274         * syscall.c (internal_syscall): Add more SYS_wait* variations.
3275         (syscall) [LINUX]: Correct typo which commented out the M68K
3276         argument to ifdef.
3277         * util.c (printstr): Cast unsigned char pointer argument
3278         to char pointer in umovestr call.
3279         (dumpstr): Likewise for umoven.
3280
3281 Wed May  3 01:10:56 1995  Rick Sladkey  <jrs@world.std.com>
3282
3283         * version.c: Version 3.0.4 is released.
3284
3285         * signal.c (sys_sigblock): Move after the definition of
3286         sys_sigsetmask that it calls to avoid an implicit declaration.
3287         * stream.c (transport_user_options, transport_server_options):
3288         Only needed if TI_BIND is defined.
3289         * configure.in: Add -Wno-implicit to WARNFLAGS on SunOS 4.x.
3290
3291         * process.c (internal_fork) [SVR4]: Fix a typo that omitted
3292         the tcp arguement from the call to exiting.  Add getrval2
3293         check so no fork processing is done in the child.
3294         (printwaitn): Initialize exited so that its value is defined
3295         for all flows of execution.
3296
3297 Tue May  2 22:39:42 1995  Rick Sladkey  <jrs@world.std.com>
3298
3299         * linux/dummy.h: Add aliases for sysfs, personality, afs_syscall,
3300         setfsuid, setfsgid, and _llseek syscalls.
3301         * linux/syscall.h: Add prototypes for them.
3302         * linux/syscallent.h: Add them to the syscall entries table.
3303         * system.c (headers) [LINUX]: Include linux/unistd.h to get __NR_*
3304         defines and conditionally include linux/personality.h if
3305         __NR_personality is defined.
3306         (personality_options) [LINUX]: New table.
3307         (sys_personality) [LINUX]: New function.
3308
3309 Tue May  2 00:20:39 1995  Rick Sladkey  <jrs@world.std.com>
3310
3311         * strace.c (trace) [!SVR4]: Change forever loop to one predicated
3312         on the number of traced processes so that we can have untraced
3313         children (e.g. via popen).
3314
3315         * strace (main) [!SVR4]: Call fake_execve to get the actual
3316         exec and its arguments into the trace.
3317         (environ): Declare it.
3318         * process.c (fake_execve): New function.
3319         (headers): Include sys/syscall.h to get SYS_* defines.
3320
3321         * process.c (sys_execv, sys_execve): Surround argument annotations
3322         with C comment delimiters.
3323         (printargv, printargc): The arg vector is an array of char pointers
3324         not ints.
3325
3326         * strace.c (printleader): Also check for multiple -p arguments
3327         when deciding whether to print the pid field.
3328
3329         * strace.c (strerror) [!HAVE_STRERROR]: New function.
3330         * defs.h (strerror, strsignal): Add these prototypes if we provide
3331         the functions.
3332         * configure.in (AC_CHECK_FUNCS): Add strerror.
3333
3334         * strace.c (main, proc_poller): Add SIGPIPE to the list of caught
3335         and blocked signals.
3336
3337         * strace.c (main): Add username option.  Verify they are root before
3338         letting them use it.  Look up the ids in the password file.  Set
3339         them just before executing the program.
3340         From Reuben Sumner <rasumner@undergrad.math.uwaterloo.ca>.
3341
3342 Sat Apr 29 00:09:56 1995  Rick Sladkey  <jrs@world.std.com>
3343
3344         * version.c: Version 3.0.3 is released.
3345
3346         * system.c (mount_flags) [LINUX]: Omit duplicated MS_NOSUID entry.
3347         From Reuben Sumner <rasumner@undergrad.math.uwaterloo.ca>.
3348
3349         * strace.c (outfname): Initialize to NULL.
3350         (main): Defer output file processing until after arguments.
3351         Allow either a pipe or a bang for command arguments.
3352         Check if outfname is NULL instead of checking outf for stderr.
3353         Reinitialize each startup TCB's outf to fix -p/-o ordering bug.
3354         (droptcb): Reset close TCB's outf to NULL instead of stderr.
3355         (tprintf): Avoid calling vfprintf if outf is NULL.
3356
3357         * strace.c (main): Use popen if -o argument begins with a pipe.
3358         From Marty Leisner <leisner@sdsp.mc.xerox.com>.
3359
3360         * process.c (printstatus): Fix a typo where WIFSIGNALED was meant
3361         but WIFSTOPPED was used.
3362
3363         * Makefile.in: Add an EXTRA_DEFS variable and use it in the .c.o
3364         rule to prevent the comment from being untrue.
3365
3366 Fri Apr 28 22:01:56 1995  Rick Sladkey  <jrs@world.std.com>
3367
3368         * strace.c (sys_exit): Move follow fork code to internal_exit.
3369         (sys_fork): Move follow fork code to internal_fork.
3370         (sys_execv, sys_execve): Move follow fork code to internal_exec.
3371         (sys_waitpid, sys_wait4): Move follow fork code to internal_wait.
3372         (vforking): Remove this static variable and check scno in
3373         internal_fork instead.
3374         (internal_exit, internal_fork, internal_exec, internal_wait): New
3375         functions.
3376         * defs.h: Add prototypes for the new internal_* functions.
3377         * syscall.c (syscall): Move syscall entering trace qualifier check
3378         and reprint checking after context decoding and precede them with
3379         a call to internal_syscall.  Precede syscall exiting trace
3380         qualifier check with a call to internal_syscall.
3381         (internal_syscall): New function.
3382
3383         * defs.h (struct tcb): Make scno signed.
3384         * strace.c (syscall) Make u_error signed.
3385         [LINUX, I386]: Avoid unsigned cast in eax check.
3386         * syscall.c (sys_indir): Make i, scno, and nargs signed.
3387         * desc.c (sys_select): Make cumlen unsigned
3388
3389 Mon Apr 24 23:52:47 1995  Rick Sladkey  <jrs@world.std.com>
3390
3391         * net.c (socktypes): Add SOCK_PACKET.
3392
3393 Sun Apr  2 23:50:39 1995  Rick Sladkey  <jrs@world.std.com>
3394
3395         * Makefile (clean): Check explicitly for a Makefile in subdirs
3396         before running make in them.
3397
3398 Sun Mar 26 12:37:21 1995  Rick Sladkey  <jrs@world.std.com>
3399
3400         * strace.c [MIPS] (proc_open): Conditionalize run on MIPS.
3401         [MIPS] (detach): Initialize error for MIPS case.
3402         (trace): Initialize ioctl_result and ioctl_errno for overly helpful
3403         compilers.
3404         * syscall.c (decode_subcall): Move variable i into conditionals
3405         that use use it.
3406         * system.c (syssgi_options): Conditionalize SGI_RECVLMSG and
3407         SGI_SET_FPDEBUG that SGI decided to drop.  I don't have the stomach
3408         to change them all.
3409         * term.c (term_ioctl): Force [c_[iocl]flags members to long before
3410         printing since we don't know what the size of their type is.
3411         * util.c [SVR4, MIPS] (umoven): Prevent MIPS from using pread even
3412         if autoconf detects it since it seems to either not work or do
3413         something else entirely on Irix 5.3.
3414
3415 Sun Mar 26 00:01:11 1995  Rick Sladkey  <jrs@world.std.com>
3416
3417         * version.c: Version 3.0.2 is released.
3418         * linux/dummy.h: Make sys_fchdir like sys_close instead of printargs
3419         so that the file descriptor arg is decimal.
3420
3421 Sat Mar 25 22:50:13 1995  Rick Sladkey  <jrs@world.std.com>
3422
3423         * net.c [LINUX] (protocols): Explicitly define all IPPROTO_* entries
3424         because on Linux they are enumerators.
3425
3426         * system.c [LINUX] (mount_flags): Handle renaming of MS_SYNC to
3427         MS_SYNCHRONOUS.
3428
3429         * util.c (printxval): When there is no translation, print the actual
3430         number first and the the default value as a C comment.
3431
3432         * net.c (sys_send, sys_sendto, sys_sendmsg, sys_getsockopt,
3433         sys_setsockopt): Change first argument from unsigned to signed to
3434         cater to the frequent practice of calling system calls with a file
3435         descriptor of -1.
3436         * mem.c (sys_mmap): Likewise.
3437
3438 Sun Mar 19 13:53:52 1995  Rick Sladkey  <jrs@world.std.com>
3439
3440         * signal.c [LINUX] (signalent): Handle old and new values of SIGIO.
3441
3442 Sun Dec 11 22:51:51 1994  Rick Sladkey  <jrs@world.std.com>
3443
3444         * version.c: Version 3.0.1 is released.
3445         * Makefile.in, configure.in, aclocal.m4: Changes for autoconf 2.0.
3446         * config.guess, config.guess: Update from the FSF.
3447         * install-sh: New from the FSF.
3448
3449 Mon Dec  5 20:51:29 1994  Rick Sladkey  <jrs@world.std.com>
3450
3451         * Makefile.in: Add m68k arch.
3452         * acconfig.h (M68K): Add m68k define.
3453         * configure.in: Add detection of arch m68k.
3454         * process.c [M68K] (struct_user_offsets): Support m68k registers and
3455         offsets.
3456         * signal.c [M68K] (sigcontext_struct): Support m68k sigcontext
3457         structure.
3458         [M68K] (sys_sigreturn): Support m68k sigreturn handling.
3459         * syscall.c [M68K] (syscall): Support m68k syscall number register
3460         and errno in d0 instead of eax.
3461         * util.c [M68K] (getpc, printcall, setbpt, clearbpt): Support m68k
3462         program counter in PT_PC instead of EIP.
3463         [M68K] (LOOP): Support m68k loop instruction.
3464         From Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>.
3465
3466         * mem.c [MAP_ANONYMOUS] (mmap_flags): Correct inadvertent reference
3467         to MAP_FIXED instead of MAP_ANONYMOUS.
3468         From Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>.
3469
3470         * signal.c [LINUX] (signalent): Signal 30 is now SIGPWR.
3471         From Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>.
3472
3473 Mon Dec  5 01:05:46 1994  Rick Sladkey  <jrs@world.std.com>
3474
3475         * defs.h (tprintf): Fix typo in non-gcc ansi prototype for tprintf.
3476         Reported by Thanh Ma <tma@encore.com>.
3477
3478         * strace.c (cleanup): Send SIGCONT before SIGTERM because Linux
3479         1.1.62 doesn't continue a traced child when the parent exits.
3480         Reported by Matt Day <mday@artisoft.com>.
3481
3482         * system.c [LINUX]: Include netinet/in.h before arpa/inet.h.
3483
3484         * util.c (printstr): Fix longstanding bug in notating string
3485         continuation.
3486
3487         * strace.c [SVR4] (proc_open): Specifically wait for the child the
3488         child to go into the execve syscall to avoid spurious traces.
3489         [LINUX] (detach): Conditionalize the status variable.
3490
3491 Sun Dec  4 23:21:42 1994  Rick Sladkey  <jrs@world.std.com>
3492
3493         * Makefile.in: Add mips arch.
3494         * acconfig.h (MIPS): Add mips define.
3495         * configure.in: Add detection of opsys irix5 and arch mips.  Check
3496         for prctl function.
3497         Check for sys/sysconfig.h header.
3498         * defs.h (MAX_ARGS): Bump maximum syscall arguments from 8 to 32.
3499         * file.c [SVR4]: Include sys/cred.h.
3500         (access_flags): Update access flags for SGI.
3501         (sprinttime): Change type of sprinttime argument from unsigned
3502         long to time_t.
3503         * process.c [HAVE_PRCTL]: Include sys/prctl.h.
3504         [HAVE_PRCTL] (prctl_options, sys_prctl): New for SGI.
3505         (printsiginfo): Conditionally compile SI_TIMER and SI_MESGQ.
3506         Cast si_band member to long before printing.
3507         * signal.c (sigact_flags): Add _SA_BSDCALL for SGI.
3508         (sigprocmaskcmds): Add SIG_SETMASK32 for SGI.
3509         * strace.c [SVR4] [MIPS]:
3510         (foobar): New dummy signal handler.
3511         (main): Install a dummy signal handler in the child before pausing
3512         to work around an SGI bug in PRSABORT.
3513         (proc_open): Send a interrupt to the child instead of aborting the
3514         syscall which doesn't work on Irix5.2.
3515         * svr4/dummy.h: Add new unfinished SGI syscalls
3516         (e.g. sys_sysmp, sys_sginap, etc.).  Handle some SGI syscalls like
3517         existing calls (e.g. sys_ksigaction like sys_sigaction).
3518         Printargs does the print thing for sys_sethostid.
3519         * svr4/syscall.h: Declare all new SGI syscalls.
3520         (SGI_KLUDGE): Define syscall table starting index to be 1 for SGI
3521         and add it to all subcall entry points.
3522         (SYS_pgrpsys_subcall, SYS_sigcall_subcall, SYS_context): Don't
3523         decode as subcalls on MIPS. Instead, use the normal syscalls.
3524         * svr4/syscallent.h [MIPS]: Lead syscall table with a dummy entry
3525         since SGI syscall numbers are off by one.
3526         [MIPS] (sys_pgrpsys): Rename to sys_setpgrp on SGI.
3527         [MIPS] (sys_xenix): Rename to sys_syssgi on SGI.
3528         [MIPS] (sys_sysmachine): Rename to sys_sysmips on SGI.
3529         [MIPS]: Conditionalize SVR4 extension into SGI and Solaris classes.
3530         * syscall.c (dumpio): Validate descriptor against MAX_QUALS.
3531         [HAVE_PR_SYSCALL] (syscall): Conditionalize SYS_vfork.
3532         [MIPS] (syscall): Add SGI section for decoding u_error and u_rval.
3533         Add workaround for broken SGI pr_sysarg on syscall entry.
3534         [SVR4] (syscall): Conditionalize subcall decoding for
3535         SYS_ptrpsys_subcall, SYS_sigcall_subcall and SYS_context_subcall.
3536         [SVR4] [MIPS] (getrval2): Handle SGI.
3537         * syscallent.sh: Dork the sed line to be choosier about SYS_ lines.
3538         * system.c [HAVE_SYSCONFIG_H]: Include sys/sysconfig.h.
3539         [MIPS] (syssgi_options, sys_syssgi): New for SGI.