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