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