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