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