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