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