]> granicus.if.org Git - strace/blob - ChangeLog
more FreeBSD updates
[strace] / ChangeLog
1 2000-09-03  Wichert Akkerman <wakkerma@debian.org>
2
3   *  process.c: perform bpt trick for clone as well so we can get the
4      pid of the child before it starts doing something
5   *  file.c: rename dirent64 struct to kernel_dirent64 so things compile
6      again with newer libcs
7   *  test/clone.c: improve our testcase a bit
8   *  Merge another patch from Gäel Roualland with FreeBSD updates
9
10 2000-09-01  Wichert Akkerman <wakkerma@debian.org>
11
12   *  lots of files: merge patch from Gaël Roualland to add
13      support for FreeBSD.
14
15 2000-08-09  Wichert Akkerman <wakkerma@debian.org>
16
17   * file.c: update to reflect that st_ino suddenly became a long long
18     in the in Linux 2.4.0-test6
19
20 2000-08-09  Wichert Akkerman <wakkerma@debian.org>
21
22   * test/clone.c: minor fixup
23   * Another bunch of patches from John Hughes merged:
24   * signal.c:
25     + SVR4 printcontext(): sigset_t != sigset_t*
26     + getcontext returns a value, so print on exit of syscall
27     + add UC_FP to ucontext_flags for OS writers that can't spell
28     + sys_signal(): special case SIG_{ERR,DFL,IGN}
29     + decode_subcall(): only do subcall range checking when needed
30   * bunch of UnixWare updates
31   * aclocal.m4, acconfig.h, configure.in: add test for long long type
32
33 2000-07-04  Wichert Akkerman <wakkerma@debian.org>
34
35   * net.c: add SOL_PACKET and SOL_RAW socket options, update
36     SOL_IP and SOL_TCP
37
38 2000-06-23  Wichert Akkerman <wakkerma@debian.org>
39
40   * strace.c: close outf before we exec a child process
41
42 2000-06-09  Ulrich Drepper  <drepper@redhat.com>
43
44   * configure.in: Don't link against libnsl on Linux, it's unnecessary.
45   * defs.h (struct tcb): Make auxstr member const.
46   * file.c (fsmagic): And many more magic numbers.
47   * util.c: Don't include <linux/ptrace.h> for glibc 2.1 and up.
48
49 2000-04-26  Wichert Akkerman <wakkerma@debian.org>
50
51   * defs.h: balance #if/#endif again
52   * system.c: fix return statements in sys_capget()
53   * Merge updates from Topi Miettinen <Topi.Miettinen@nic.fi>:
54     + file.c: add F_[SG]ETSIG to fcntl flags
55     + strace.c: don't setre[gu]id if not needed
56     + system.c: handle sys_reboot for Linux
57     + term.c: add baudrate constants up to B4000000
58     + linux/**/syscallent.h: note that munlockall has no arguments
59
60 2000-04-25  David Mosberger  <davidm@hpl.hp.com>
61
62   * CREDITS: fix email address
63   * process.c: handle PR_[GS]ET_UNALIGN and PR_[GS]ET_KEEPCAPS
64   * signal.c: honour offset of sigconfig in sigframe structure for
65     Linux/ia64
66   * linux/ia64/syscallent.h: Add perfmonctl, pivotroot, mincore, and
67     madvise syscalls.
68   * syscall.c (syscall_enter): With Kevin's latest ptrace patches,
69     AR_BSP points to the _end_ of the active register frame, so we need
70     to adjust bsp by moving it back by the size of the active frame
71     before using it.
72
73 2000-04-24  Wichert Akkerman <wakkerma@debian.org>
74
75   * process.c: add sparc support to change_syscall
76
77 2000-04-22  Wichert Akkerman <wakkerma@debian.org>
78
79   * linux/mips/syscallent.h: fix some typos
80
81 2000-04-14  Wichert Akkerman <wakkerma@debian.org>
82
83   * linux/mips/syscallent.h: added names for SVR4, SYSV, BSD4.3 and POSIX
84     syscalls
85
86 2000-04-13  Wichert Akkerman <wakkerma@debian.org>
87
88   * defs.h: Linux/MIPS uses syscalls up to >4k, so set MAX_QUALS to
89     4999
90
91 2000-04-09  Wichert Akkerman <wakkerma@debian.org>
92
93   * README-linux: updated to note that strace might not compile
94     with development kernels
95   * bjm.c: sys_query_module: check if malloc succeeds
96   * system.c: sys_cap[gs]et(): check if malloc succeeds, only malloc once
97   * linux/syscallent.h: updated for 2.3.99pre3
98   * linux/alpha/syscallent.h: updated for 2.3.99pre3, add all osf syscalls
99     even though Linux doesn't implement them
100   * syscall.c: add global variables for MIPS registers as well
101   * syscall.c: move global variables to before get_scno since that uses them
102   * util.c: oops, misspelled defined
103   * process.c: fix ptrace calls in change_syscall
104   * mem.c: decode sys_madvise
105   * Merge patch from Topi Miettinen <Topi.Miettinen@nic.fi>
106     + add support for quotactl, fdatasync, mlock, mlockall, munlockall & acct
107     + small fix for RLIMIT_* and RUSAGE_BOTH
108     + enhace support for capget and capset
109
110 2000-02-19 Wichert Akkerman <wakkerma@debian.org>
111
112   * test/vfork.c: new file to test vfork traces
113   * test/.cvsignore: new file
114   * defs.h: Up maximum number of traced processed to 64
115   * strace.c: Disable some debugging code from davidm 
116   * implement setarg for more architectures
117   * implement change_syscall
118
119 1999-12-27  Morten Welinder  <terra@diku.dk>
120
121         * syscall.c (lookup_signal, lookup_desc): isdigit requires an
122         _unsigned_ char parameter.
123
124 2000-02-14 Wichert Akkerman <wakkerma@debian.org>
125
126   * S390 updates
127
128 2000-02-03 Wichert Akkerman <wakkerma@debian.org>
129
130   * Merge Linux/ia64 patches
131
132 2000-01-02 Pavel Machek      <pavel@ucw.cz>
133
134   * probe if sys/poll.h exists in configure + minor cleanups
135
136   * syscall.c: split trace_syscall into few pieces to make code readable
137
138 2000-01-21 Wichert Akkerman  <wakkerma@debian.org>
139
140   * Release version 4.2 to get the current updates out and so
141     we can concentrate in finishing the clone support.
142
143 2000-01-11 Wichert Akkerman  <wakkerma@debian.org>
144
145   * Add 1900 to tm_year in sprinttime
146
147 1999-12-24  Wichert Akkerman  <wakkerma@debian.org>
148
149  * file.c: protect printstat64 with STAT64 instead of linux so we can
150    compile on Linux architectures that don't have it
151  * util.c: fix LOOP for ARM
152
153 Fri Dec 24 18:05:00 EST 1999
154
155 1999-12-23  Ulrich Drepper  <drepper@cygnus.com>
156
157  * file.c: Use ugly libc_stat trick also for stat64.
158    Implement sys_stat64, sys_fstat64, sys_lstat64, and printstat64.
159  * process.c (internal_clone): Fix a few typos and add definitions to make
160    it at least compile.
161  * linux/syscall.h: Declare sys_stat64, sys_lstat64, and sys_fstat64.
162  * linux/syscallent.h: Define table entries for sys_stat64, sys_lstat64,
163    and sys_fstat64.
164  * aclocal.m4: Define AC_STAT64.
165  * acconfig.h: Define HAVE_STAT64.
166  * configure.in: Add AC_STAT64.
167
168 Thu Dec 23 15:01:37 CET 1999 Wichert Akkerman <wakkerma@debian.org>
169
170   * Merge patch from ftp://oss.software.ibm.com/linux390/ to add
171     support for Linux on the IBM S/390 architecture
172   * process.c: add internal_clone(), currently only shows the options
173   * syscall.c: use internal_clone to handle SYS_clone
174
175 Mon Dec 20 00:27:50 CET 1999 Wichert Akkerman <wakkerma@debian.org>
176
177   * Rewrite mmap-handling to support mmap2 on Linux
178
179 Tue Dec 14 11:35:16 CET 1999 Wichert Akkerman <wakkerma@debian.org>
180
181   * Note that Linux can handle sys_semop() as well
182
183 Tue Nov 30 11:05:26 CET 1999 Wichert Akkerman <wakkerma@debian.org>
184
185   * Include linux/in6.h for glibc2.0 and older
186
187 Mon Nov 29 16:33:04 CET 1999 Wichert Akkerman <wakkerma@debian.org>
188
189   * Merge patches from John Hughes to make configure support UnixWare
190
191 Sat Nov 27 21:38:17 CET 1999 Wichert Akkerman <wakkerma@debian.org>
192
193   * Enhance sys_query_module
194
195 Fri Nov 26 10:51:55 CET 1999 Wichert Akkerman <wakkerma@debian.org>
196
197   * Patches from John Hughes:
198     + cosmectic fix in sys_getpmsg
199     + allow net.c to compile on systems without AF_INET6
200     + Only use long_to_sigset on Linux systems
201     + UnixWare treats sigmask_t and sigmask_t* as the same thing
202     + Add pollhack
203     + Parse mount arguments for UnixWare
204     + ACL fixes for UnixWare
205
206 Fri Nov 26 01:28:09 CET 1999 Wichert Akkerman <wakkerma@debian.org>
207
208   * Release 4.1 to get all the changes made out there
209
210 Thu Nov 18 18:04:04 CET 1999 Wichert Akkerman <wakkerma@debian.org>
211
212   * Merge stracefork from Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>
213     + Socket calls parsed better
214         + bunch of alpha OSF syscalls added
215         + Fix alpha 32/64 bit issues
216
217 Mon Nov  1 20:52:08 CET 1999 Wichert Akkerman <wakkerma@debian.org>
218
219   * Move Linux kernelmodule-functions from system.c to bjm.c and
220     remove duplicate for sys_create_module
221   * Linux MIPS updates:
222     + Play with #ifdef's in net.c to get IPv6 right
223     + Use printargs for vm86-syscall
224
225 Sun Oct 31 22:03:00 CET 1999 Wichert Akkerman <wakkerma@debian.org>
226
227   * Merge Linux mips patch from Florian Lohoff <flo@rfc822.org>
228
229 Mon Oct 11 00:36:25 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
230
231   * Merge patch from Keith Owens <kaos@ocs.com.au> to sys_query_module
232     and sys_delete_module correctly
233
234 Wed Oct  6 02:00:33 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
235
236   * Update cvsbuild to give a better error if autoconf isn't installed
237   * Add test for linux/ptrace.h to configure
238   * Since we define GNU_SOURCE in the Makefile we don't need to define
239     USE_GNU in file.c anymore
240
241 Fri Sep 10 04:35:16 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
242
243   * #define USE_GNU before including file.c so we get some extra O_* flags
244
245 Tue Aug 31 16:27:21 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
246
247   * Add missing } in IPv6 output
248
249 Tue Aug 31 01:23:08 CEST 1999  Wichert Akkerman <wakkerma@debian.org>
250
251   * Update copyright for strace-graph to BSD to be consistent with
252     the rest of strace
253
254 Mon Aug 30 00:53:57 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
255
256   * Merge patch from Daniel Jacobowitz: KERN_JAVA_* and KERN_SECURELVL aren't
257     defined for all kernelversions
258   * Add strace-graph, written by Richard Braakman <dark@xs4all.nl>
259
260 Thu Aug 19 13:10:15 CEST 1999 Jakub Jelinek <jj@ultra.linux.cz>
261
262   * linux/sparc/syscall.h: Declare create_module/init_module.
263   * configure.in: Allow compilation in a different directory
264     than the source one.
265   * signal.c: Use asm/reg.h and struct regs instead of pt_regs
266     so that we don't depend on asm/ptrace.h which clashes with
267     glibc sys/ptrace.h.
268   * util.c: Likewise.
269   * syscall.c: Likewise.
270
271 Wed Aug  4 18:01:50 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
272
273   * Syscall 94 on Linux alpha is sys_poll
274
275 Sun Jul 25 14:38:33 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
276
277   * Merge in UnixWare patches from John Hughes <john@Calva.COM>
278
279 Thu Jul 15 23:00:32 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
280
281   * Merge patch from Maciej W. Rozycki <macro@ds2.pg.gda.pl>:
282     + Correctly implement fix sys_createmodule (Linux)
283     + Add limited handlig of sys_initmodule (Linux)
284
285 Tue Jul 13 17:07:50 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
286
287   * Add configure-test for sys/reg.h and use that
288   * Use sys/reg.h instead of asm/ptrace.h
289
290 Sat Jul 10 01:46:10 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
291
292   * Remove hack in signal.c for arm architecture
293   * Add hack so we compile correctly on powerpc
294
295 Fri Jul  9 02:28:16 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
296
297   * Add a corrected patch from Daniel Jacobowitz
298
299 Thu Jul  8 16:00:04 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
300
301   * Merge patch from Daniel Jacobowitz to allow us to use the kernel types
302     for the stat structure
303
304 Thu Jun 24 15:54:18 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
305
306   * Fix test for sys/reg include
307
308 Tue Jun 22 17:26:33 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
309
310   * Fixed some Linux/powerpc sillyness, thanks to Daniel Jacobowitz
311   * Fixed some SunOS compile problems earlier that I forgot to include
312     here
313
314 Mon Jun 14 12:44:25 CEST 1999
315
316   * Avoid leakint fd into child when forking, patch from
317     John Hughes <john@Calva.COM>
318
319 Fri Jun 11 14:54:47 CEST 1999
320
321   * Applied IRIX64 patch from Thomas E. Dickey <dickey@clark.net>
322   * Applied Solaris and manpage updates from Guy Harris <guy@netapp.com>
323
324 Wed Jun  9 14:48:49 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
325
326   * Brought syscall list for alpha up to date
327
328 Wed Jun  2 18:30:12 CEST 1999 Jakub Jelinek <jj@ultra.linux.cz>
329
330   * system.c: sys_umount2 syscall support.
331   * linux/sparc/errnoent.h: Update sparc-linux errnos.
332   * linux/sparc/syscall.h: Update used sparc-linux syscalls.
333   * linux/sparc/syscallent.h: Match 2.2.9 system calls.
334   * file.c: sparc-linux asm/stat.h uses dev_t etc. types,
335     so it needs strace's own copy of the stat structure.
336   * util.c: Make it compile on sparc-linux.
337   * strace.c: Fix strace -f and -ff operation on sparc-linux.
338   * signal.c: rt_sigaction has different arguments on sparc*-linux
339     and alpha-linux.
340   * syscall.c: Recognize sparc64-linux binaries.
341
342 Fri May 28 21:09:00 PST Ulrich Drepper <drepper@cygnus.com>
343
344   * configure.in: Fix typo (CFLAG -> CFLAGS).
345
346   * syscall.c: Don't include linux/ptrace.h explicitly for glibc.
347
348 Thu May 27 13:59:27 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
349
350   * Add some sysctl support, patch from Ulrich Drepper
351
352 Wed May 26 01:04:34 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
353
354   * Use kernel dirent structure for Linux
355
356 Sun May  9 02:18:30 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
357
358   * Merge in patches from Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
359     + some layout and other minor fixes
360     + add some m68k-specific things to linux/syscallent.h. Note that m68k
361       is similar enough to i386 to not need it's own subdirectory
362     + add support for sendfile and mremap syscalls for Linux
363   * Merge in patches from Sascha Schumann <sascha@schumann.2ns.de>
364     + ioctls.h vs sys/ioctl.h on Alpha platform
365     + pointer was casted to an int in stream.c
366     + strsignal() needs -D_GNU_SOURCE in CFLAGS
367     + several other casts changed
368     + correct ARM/POWERPC architecture defines in acconfig.h
369   * Merge in patches from Morten Welinder <terra@diku.dk>
370     + add some autoconf-tests for includefiles
371     + handle solaris version of sigcontext struct (actually I hacked this
372       up again, but the idea is his :)
373
374 Sun Apr 18 22:32:42 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
375
376   * Update syscalls for linux alpha, patch from Bart Warmerdam
377     <bartw@debian.org>
378   * Update sparc code so it actually compiles
379
380 Fri Apr 16 02:18:05 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
381
382   * Add support for old_*stat functions for Linux. Please note you need
383     to use reasonably recent kernel headers to compile strace now.
384   * Change references to LINUX into linux in file.c
385   * Fix include for LDT in mem.c
386
387 Thu Apr 15 22:28:15 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
388
389   * Change in strace maintainership, jrs passed the torch to me.
390   * Use autoconf 2.13
391   * Incorporate all changes already made in the Debian strace package:
392     + compiles with more Linux kernels
393     + added support for more Linux architectures
394     + add support for a lot of extra syscalls
395     + fix some problems with hanging children
396     + check stray syscall after execv
397     + decode capget and capset arguments
398     + add more constants to net.c
399     + detect ROSE networking
400     + add more protocol families to domains
401     + add IPIP protocol
402     + added MSG_PROXY and MSG_CTRUNC to msg_flags
403     + added SO_BSDCOMPAT and SO_REUSEPORT to sockoptions
404     + added IP, IPX and TCP-options
405     + added IP, IPX and TCP support to get-/setsockopt()
406     + added IPX support
407     + updated handling of signals
408
409 Sun Oct 27 22:28:00 1996  J. Richard Sladkey  <jrs@world.std.com>
410
411         * util.c (umovestr) [LINUX]: Handle Linux like SunOS4
412         instead of SVR4.  That is, read a few bytes at a time
413         to avoid overrunning the end of the stack.
414
415 Fri May 31 01:48:49 1996  J. Richard Sladkey  <jrs@world.std.com>
416
417         * version.c: Version 3.1 is released.
418
419 Thu May 23 01:04:43 1996  J. Richard Sladkey  <jrs@world.std.com>
420
421         * aclocal.m4 (AC_DECL_SYS_ERRLIST): Try looking in stdio.h
422         as well since that's where glibc declares it.  Go figure.
423         * signal.c (sys_sigreturn) [ALPHA]: Use sigcontext
424         instead of sigcontext_struct since glibc v5+ apparently
425         plays games with the native OS namespace.
426         From David Mosberger-Tang <davidm@AZStarNet.com>.
427
428 Mon May 20 23:17:14 1996  J. Richard Sladkey  <jrs@world.std.com>
429
430         * version.c: Version 3.0.14 is released.
431
432         * aclocal.m4 (AC_STRUCT_MSG_CONTROL): New macro.
433         * configure.in: Add call to AC_STRUCT_MSG_CONTROL.
434         * net.c (printmsghdr): Handle BSD 4.3 and 4.4 msghdr members
435         differently.
436         Reported by Henrik Storner <storner@osiris.ping.dk>.
437
438         * configure.in: (AC_CHECK_{HEADERS,FUNCS}): Add checks for
439         sys/filio.h and sys/stream.h and remove check for poll.
440         * desc.c (decode_select, sys_select, sys_oldselect) [LINUX]:
441         Handle old and new styles of argument passing for select on Linux.
442         * ioctl.c, stream.c: Conditionalize stream code on presence of
443         sys/stream.h instead of poll because glibc implements poll but
444         not the rest of the stream interface.
445         * signal.c [LINUX]: Standardize on the name sigcontext_struct.
446         (sys_sigprocmask) [ALPHA]: Handle OSF flavor which is more like
447         sigsetmask.
448         * term.c (term_ioctl): Use _VMIN, if present, for TC{G,S}ETA*.
449         * util.c (umoven, umovestr): Move data in long-sized chunks
450         at a time, instead of hard coding it to be 4.
451         From David Mosberger-Tang <davidm@AZStarNet.com>.
452
453 Mon May 20 01:19:36 1996  J. Richard Sladkey  <jrs@world.std.com>
454
455         * version.c: Version 3.0.13 is released.
456
457         * configure.in (AC_CHECK_HEADERS): Add check for asm/sigcontext.h.
458         * signal.c [HAVE_ASM_SIGCONTEXT_H]: Conditionally include
459         asm/sigcontext.h to define sigcontext_struct and don't define it
460         locally if the header is present.
461
462         * syscall.c (nerrnos{0,2}): Correct size computation.
463
464         * Makefile.in: Remove dependencies and rules relating to files
465         normally found in the os directory.  Because of the new scheme we
466         don't know precisely where they come from.  Sigh.
467         * signalent.sh: Make it work for sunos4, linux, and svr4.
468         * {sunos4,linux{,/alpha},svr4}/Makefile.in: Make rules correspond
469         to traditional make syntax.  Add signalent.h to files which can
470         unconditionally be rebuilt.  Prevent signalent.h from being
471         unconditionally being rebuilt since it's customized.
472         * {sunos4,linux{,/alpha},svr4}/{ioctlent,errnoent,signalent}.h:
473         Use versions built by {ioctlent,errnoent,signaltent}.sh.
474         * sunos4/ioctlent.sh: Work around sprintf troubles with SunOS
475         4.1.4 and gcc 2.7.2.
476
477 Sun May 19 17:14:09 1996  J. Richard Sladkey  <jrs@world.std.com>
478
479         * configure.in, Makefile.in: Add OSARCH concept to finish
480         build support for the alpha.
481         * Makefile.in, linux/Makefile.in: Rewrite clean, distclean,
482         and maintainer-clean rules.
483         * defs.h, ioctlsort.c: Make ioctl code member unsigned.
484         * ioctl.c, ioctlsort.c (compare): Perform explicit checking
485         for less, greater, and equal since subtraction on two's
486         complement numbers isn't an order relation (it isn't transitive)!
487         * linux/Makefile.in: Add rules for the signalent.h file.
488         * linux/alpha/Makefile.in: New file.
489
490 Sun May 19 01:12:28 1996  J. Richard Sladkey  <jrs@world.std.com>
491
492         * version.c: Version 3.0.12 is released.
493
494         * linux{,alpha}/ioctlent.sh: Tweak for recent kernels.
495         From Michael E Chastain <mec@duracef.shout.net>.
496
497         * defs.h (SUPPORTED_PERSONALITES, DEFAULT_PERSONALITY): New.
498         * syscall.c (set_personality): New.
499         * strace.c (main): Call set_personality.
500         * defs.h, syscall.c, ioctl.c, signal.c: Make sysent, errnoent,
501         ioctlent, and signalent indirect pointers and redirect them
502         based on personality.
503         * {sunos4,svr4,linux{,/alpha}}/signalent.h: New files.
504         Suggested by Tom Dyas <tdyas@eden.rutgers.edu>.
505
506         * util.c (upeek): Handle case where ptrace returns a long
507         and sizeof(long) != sizeof(int).
508         From Richard Henderson <richard@twiddle.tamu.edu>
509
510 Fri May 17 21:03:36 1996  J. Richard Sladkey  <jrs@world.std.com>
511
512         * version.c: Version 3.0.11 is released.
513
514         * many files: Fix more printf warnings for other platforms.
515
516         * ipc.c (sys_msgrcv) [LINUX]: Conditionalize definition of ipc_wrapper.
517
518         * linux/dummy.h: Handle missing library support for {send,recv}msg.
519         Reported by Thomas Bogendoerfer <tsbogend@bigbug.franken.de>.
520
521         * linux/syscall.h (sys_utimes): Fix a typo in the declaration.
522         From Thomas Bogendoerfer <tsbogend@bigbug.franken.de>.
523
524 Fri May 17 00:50:06 1996  J. Richard Sladkey  <jrs@world.std.com>
525
526         * version.c: Version 3.0.10 is released.
527
528         * Makfile.in: Add os/arch to includes so that a given arch
529         (like alpha) can override the native arch (like i386).
530         * configure.in: Check for sendmsg.
531
532         * net.c: Make sendmsg and recvmsg dependent on an autoconf
533         test.  Reported by Michael E Chastain <mec@duracef.shout.net>.
534
535         * acconfig.h, configure.in: Detect the alpha.
536         * ioctl.c: Handle the alpha.
537         * defs.h: Make some members long for the alpha.  Define
538         some register nicknames.  Add support for WAITEXECVE.
539         * file.c [ALPHA]: Support the alpha for statfs.  Add
540         osf_statfs and osf_fstatfs for the alpha.  Make damn sure
541         major and minor results are suitable for passing to printf.
542         * signal.c, syscall.c: Support the alpha.
543         * process.c: Add alpha user offsets.
544         * most files: Use %l? for printf arguments since
545         most are now longs for the alpha.
546         * linux/alpha/{errnoent.h,ioctlent.{h,sh},syscallent.h}:
547         New for the alpha.
548         From Thomas Bogendoerfer <tsbogend@bigbug.franken.de>.
549
550 Wed May 15 00:29:37 1996  J. Richard Sladkey  <jrs@world.std.com>
551
552         * version.c: Version 3.0.9 is released.
553
554         * config.in, config.sub, install-sh: Upgrade to autoconf 2.10.
555
556         * linux/dummy.h, linux/syscallent.h, linux/syscall.h: Add recent
557         Linux kernel version system calls.
558
559 Wed Mar 13 01:03:38 1996  J. Richard Sladkey  <jrs@world.std.com>
560
561         * ipc.c [SUNOS4]: Add SunOS support for decoding IPC calls.
562         * syscall.c [SUNOS4]: Compile decode_subcall on SunOS and
563         decode IPC calls using it.
564         * sunos4/dummy.h: Alias sys_semop to printargs.
565         * sunos4/syscall.h: Add new pseudo syscalls for IPC.
566         * sunos4/syscallent.h: Include new subcalls for IPC.
567         From Matthias Pfaller <leo@dachau.marco.de>.
568
569 Tue Feb 13 22:08:25 1996  J. Richard Sladkey  <jrs@world.std.com>
570
571         * version.c: Version 3.0.8 is released.
572
573         * time.c [LINUX]: Explicitly include linux/version.h.
574
575         * strace.c (main): Don't let them even *try* to
576         get strace to attach to itself since some systems
577         don't handle this case very gracefully.
578         Reported by David S. Miller <davem@caip.rutgers.edu>.
579
580         * Makefile.in (distclean): Fix it for subdirectories.
581
582         * sunos4/syscallent.h, svr4/syscallent.h: Fill in the new
583         sys_flags member for each defined system call.
584
585 Fri Dec  8 01:17:28 1995  Rick Sladkey  <jrs@world.std.com>
586
587         * defs.h (TRACE_*): New flags to describe what class
588         of system call each system call is.
589         (sysent): Add sys_flags member.
590         * syscall.c (sysent): Define (and later undef) abbreviations
591         for the system call class flags.
592         (lookup_class): New function to translate strings to
593         system call class flags.
594         (qualify): Handle new system call class mechanism.
595         * linux/syscallent.h: Fill in the new sys_flags member
596         for each defined system call.
597
598         * defs.h (print_sock): Remove redundant and non-K&R C
599         compatible prototype.  From Juergen Weigert
600         <jnweiger@immd4.informatik.uni-erlangen.de>.
601
602 Thu Dec  7 01:17:40 1995  Rick Sladkey  <jrs@world.std.com>
603
604         * linux/ioctlent.sh: Tweak to improve ioctl accuracy.
605         From Michael E Chastain <mec@duracef.shout.net>.
606
607         * system.c (includes) [LINUX]: Add linux/nfs.h for recent
608         kernels.  From Michael E Chastain <mec@duracef.shout.net>.
609
610 Wed Dec  6 21:52:28 1995  Rick Sladkey  <jrs@world.std.com>
611
612         * file.c (sprintfstype): Enclose string result in double
613         quotes.
614
615         * time.c (sys_adjtimex) [LINUX]: Conditionalize
616         constantly evolving timex structure.
617         From Aaron Ucko <UCKO@VAX1.ROCKHURST.EDU>.
618
619         * defs.h, syscall.c, strace.c: Rename syscall to
620         trace_syscall and change prototype and all callers
621         because of broken Linux shared libraries.
622         From Aaron Ucko <UCKO@VAX1.ROCKHURST.EDU>.
623
624         * Makefile.in (clean): Check for a file with test -f not
625         test -d.  From Aaron Ucko <UCKO@VAX1.ROCKHURST.EDU>.
626
627 Tue Sep 26 02:32:31 1995  Rick Sladkey  <jrs@world.std.com>
628
629         * version.c: Version 3.0.7 is released.
630
631         * util.c (string_quote): Fix thinko which caused core
632         dumps for strings with quotes in them.
633         Reported by Marty Leisner <leisner@sdsp.mc.xerox.com>.
634
635         * linux/Makefile.in (errnoent.h rule): Grab all errno.h
636         files from /usr/include, not just the linux one.
637         From Michael E Chastain <mec@duracef.shout.net>.
638
639         * linux/errnoent.sh: Total rewrite to handle more ioctls with
640         fewer false positives on more kernel flavors.
641         From Michael E Chastain <mec@duracef.shout.net>.
642
643 Mon Sep  4 01:29:22 1995  Rick Sladkey  <jrs@world.std.com>
644
645         * version.c: Version 3.0.6 is released.
646
647         * linux/dummy.h, linux/syscall.h, linux/syscallent.h: Add
648         sys_msync.
649         * mem.c (mctl_funcs, mctl_lockas, sys_mctl): Conditionalize
650         on MC_SYNC instead of HAVE_MCTL.
651         (mctl_sync): Conditionalize on MS_ASYNC instead of HAVE_MCTL.
652         (sys_msync): New function.
653
654 Sat Sep  2 12:06:04 1995  Rick Sladkey  <jrs@world.std.com>
655
656         * linux/dummy.h, linux/syscall.h, linux/syscallent.h: Add
657         sys_flock and sys_getdents.
658         * desc.c (flockcmds, sys_flock): Conditionalize on LOCK_SH
659         not SUNOS4.
660         * file.c (sys_getdents): Define unconditionally and handle
661         LINUX case.
662         * strace.c (main): Disallow username option unless both real
663         and effective uids are root.
664
665 Wed Aug 30 01:29:58 1995  Rick Sladkey  <jrs@world.std.com>
666
667         * strace.c (main): Ensure that run_uid and run_gid are
668         always set to something meaningful.
669         (main, newoutf) [!SVR4]: Swap real and effective uids while
670         opening any output files.
671         (main) [!SVR4]: Treat effective uid of root as a request
672         to handle suid binaries correctly using the real uid of
673         the invoking user.
674
675 Sat Aug 19 00:06:08 1995  Rick Sladkey  <jrs@world.std.com>
676
677         * Makefile.in: Add `|| true' to clean rule because
678         although GNU make 3.74 uses `sh -c' to invoke commands
679         every other make in the world uses `sh -ec'.
680
681         * syscall.c (syscall) [SVR4, MIPS]: The fifth and subsequent
682         arguments appear to be stored on the stack, not in the
683         registers following A3 (empirical result).
684
685         * defs.h: Add prototype for printsock.
686         * svr4/dummy.h: Remove generic handling of sys_mount.
687         * system.c [SVR4, MIPS]: Include several system headers to cleanly
688         get access to SGI mount information.
689         (mount_flags, nfs_flags) [SVR4, MIPS]: New objects.
690         (sys_mount) [SVR4, MIPS]: New function.
691         (sys_mount) [SVR4, !MIPS]: New function.
692
693 Tue Jul  4 00:30:34 1995  Rick Sladkey  <jrs@world.std.com>
694
695         * version.c: Version 3.0.5 is released.
696
697         * desc.c, resource.c, strace.c, syscall.c, time.c: Cast tv_sec and
698         tv_usec members to long when using printf.
699
700         * ipc.c: Omit define of __KERNEL__.
701         ({MSG,SEM,SHM}_{STAT,INFO}): Explicitly define those things we
702         want which __KERNEL__ used to provide.
703         (sys_msgrcv): Change reference to ipc_kludge structure to
704         look-alike ipc_wrapper to avoid dependence on __KERNEL__.
705
706         mem.c (mmap_flags) [MAP_{GROWSDOWN,DENYWRITE,EXECUTABLE}]: Add
707         Linux specific options.
708
709         syscall.c: Use SYS_ERRLIST_DECLARED instead of guessing.
710         [E{RESTART{SYS,NO{INTR,HAND}},NOIOCTLCMD}]: Explicitly define
711         instead of depending of __KERNEL__.
712
713         term.c: Cast c_{i,o,c,l}flag to long when using printf.
714
715 Tue Jun  6 00:27:48 1995  Rick Sladkey  <jrs@world.std.com>
716
717         * aclocal.m4 (AC_DECL_SYS_ERRLIST, AC_DECL__SYS_SIGLIST): New.
718         * configure.in: Call AC_DECL_SYS_ERRLIST, AC_DECL_SYS_SIGLIST,
719         and AC_DECL__SYS_SIGLIST.
720         * acconfig.h (SYS_ERRLIST_DECLARED): New.
721         * strace.c (strerror): Use SYS_ERRLIST_DECLARED.
722         (strsignal): Use SYS_SIGLIST_DECLARED.
723
724         net.c (sys_socket): Omit inadvertent surplus comma when
725         protocol family isn't PF_INET.
726
727         util.c (dumpstr): Fix incorrect printing of one too many
728         characters when the length is not an even multiple of 16 bytes.
729         Reported by Juergen Weigert
730         <jnweiger@immd4.informatik.uni-erlangen.de>.
731
732 Thu May  4 23:37:47 1995  Rick Sladkey  <jrs@world.std.com>
733
734         * ioctl.c (compare): Change prototype to match POSIX qsort.
735         * signal.c (sigishandled) [SVR4]: Omit everything after return.
736         * strace.c (trace) [SVR4]: Break out of for loop instead of
737         returning when finished so final return statement is executed.
738         * syscall.c (internal_syscall): Add more SYS_wait* variations.
739         (syscall) [LINUX]: Correct typo which commented out the M68K
740         argument to ifdef.
741         * util.c (printstr): Cast unsigned char pointer argument
742         to char pointer in umovestr call.
743         (dumpstr): Likewise for umoven.
744
745 Wed May  3 01:10:56 1995  Rick Sladkey  <jrs@world.std.com>
746
747         * version.c: Version 3.0.4 is released.
748
749         * signal.c (sys_sigblock): Move after the definition of
750         sys_sigsetmask that it calls to avoid an implicit declaration.
751         * stream.c (transport_user_options, transport_server_options):
752         Only needed if TI_BIND is defined.
753         * configure.in: Add -Wno-implicit to WARNFLAGS on SunOS 4.x.
754
755         * process.c (internal_fork) [SVR4]: Fix a typo that omitted
756         the tcp arguement from the call to exiting.  Add getrval2
757         check so no fork processing is done in the child.
758         (printwaitn): Initialize exited so that its value is defined
759         for all flows of execution.
760
761 Tue May  2 22:39:42 1995  Rick Sladkey  <jrs@world.std.com>
762
763         * linux/dummy.h: Add aliases for sysfs, personality, afs_syscall,
764         setfsuid, setfsgid, and _llseek syscalls.
765         * linux/syscall.h: Add prototypes for them.
766         * linux/syscallent.h: Add them to the syscall entries table.
767         * system.c (headers) [LINUX]: Include linux/unistd.h to get __NR_*
768         defines and conditionally include linux/personality.h if
769         __NR_personality is defined.
770         (personality_options) [LINUX]: New table.
771         (sys_personality) [LINUX]: New function.
772
773 Tue May  2 00:20:39 1995  Rick Sladkey  <jrs@world.std.com>
774
775         * strace.c (trace) [!SVR4]: Change forever loop to one predicated
776         on the number of traced processes so that we can have untraced
777         children (e.g. via popen).
778
779         * strace (main) [!SVR4]: Call fake_execve to get the actual
780         exec and its arguments into the trace.
781         (environ): Declare it.
782         * process.c (fake_execve): New function.
783         (headers): Include sys/syscall.h to get SYS_* defines.
784
785         * process.c (sys_execv, sys_execve): Surround argument annotations
786         with C comment delimiters.
787         (printargv, printargc): The arg vector is an array of char pointers
788         not ints.
789
790         * strace.c (printleader): Also check for multiple -p arguments
791         when deciding whether to print the pid field.
792
793         * strace.c (strerror) [!HAVE_STRERROR]: New function.
794         * defs.h (strerror, strsignal): Add these prototypes if we provide
795         the functions.
796         * configure.in (AC_CHECK_FUNCS): Add strerror.
797
798         * strace.c (main, proc_poller): Add SIGPIPE to the list of caught
799         and blocked signals.
800
801         * strace.c (main): Add username option.  Verify they are root before
802         letting them use it.  Look up the ids in the password file.  Set
803         them just before executing the program.
804         From Reuben Sumner <rasumner@undergrad.math.uwaterloo.ca>.
805
806 Sat Apr 29 00:09:56 1995  Rick Sladkey  <jrs@world.std.com>
807
808         * version.c: Version 3.0.3 is released.
809
810         * system.c (mount_flags) [LINUX]: Omit duplicated MS_NOSUID entry.
811         From Reuben Sumner <rasumner@undergrad.math.uwaterloo.ca>.
812
813         * strace.c (outfname): Initialize to NULL.
814         (main): Defer output file processing until after arguments.
815         Allow either a pipe or a bang for command arguments.
816         Check if outfname is NULL instead of checking outf for stderr.
817         Reinitialize each startup TCB's outf to fix -p/-o ordering bug.
818         (droptcb): Reset close TCB's outf to NULL instead of stderr.
819         (tprintf): Avoid calling vfprintf if outf is NULL.
820
821         * strace.c (main): Use popen if -o argument begins with a pipe.
822         From Marty Leisner <leisner@sdsp.mc.xerox.com>.
823
824         * process.c (printstatus): Fix a typo where WIFSIGNALED was meant
825         but WIFSTOPPED was used.
826
827         * Makefile.in: Add an EXTRA_DEFS variable and use it in the .c.o
828         rule to prevent the comment from being untrue.
829
830 Fri Apr 28 22:01:56 1995  Rick Sladkey  <jrs@world.std.com>
831
832         * strace.c (sys_exit): Move follow fork code to internal_exit.
833         (sys_fork): Move follow fork code to internal_fork.
834         (sys_execv, sys_execve): Move follow fork code to internal_exec.
835         (sys_waitpid, sys_wait4): Move follow fork code to internal_wait.
836         (vforking): Remove this static variable and check scno in
837         internal_fork instead.
838         (internal_exit, internal_fork, internal_exec, internal_wait): New
839         functions.
840         * defs.h: Add prototypes for the new internal_* functions.
841         * syscall.c (syscall): Move syscall entering trace qualifier check
842         and reprint checking after context decoding and precede them with
843         a call to internal_syscall.  Precede syscall exiting trace
844         qualifier check with a call to internal_syscall.
845         (internal_syscall): New function.
846
847         * defs.h (struct tcb): Make scno signed.
848         * strace.c (syscall) Make u_error signed.
849         [LINUX, I386]: Avoid unsigned cast in eax check.
850         * syscall.c (sys_indir): Make i, scno, and nargs signed.
851         * desc.c (sys_select): Make cumlen unsigned
852
853 Mon Apr 24 23:52:47 1995  Rick Sladkey  <jrs@world.std.com>
854
855         * net.c (socktypes): Add SOCK_PACKET.
856
857 Sun Apr  2 23:50:39 1995  Rick Sladkey  <jrs@world.std.com>
858
859         * Makefile (clean): Check explicitly for a Makefile in subdirs
860         before running make in them.
861
862 Sun Mar 26 12:37:21 1995  Rick Sladkey  <jrs@world.std.com>
863
864         * strace.c [MIPS] (proc_open): Conditionalize run on MIPS.
865         [MIPS] (detach): Initialize error for MIPS case.
866         (trace): Initialize ioctl_result and ioctl_errno for overly helpful
867         compilers.
868         * syscall.c (decode_subcall): Move variable i into conditionals
869         that use use it.
870         * system.c (syssgi_options): Conditionalize SGI_RECVLMSG and
871         SGI_SET_FPDEBUG that SGI decided to drop.  I don't have the stomach
872         to change them all.
873         * term.c (term_ioctl): Force [c_[iocl]flags members to long before
874         printing since we don't know what the size of their type is.
875         * util.c [SVR4, MIPS] (umoven): Prevent MIPS from using pread even
876         if autoconf detects it since it seems to either not work or do
877         something else entirely on Irix 5.3.
878
879 Sun Mar 26 00:01:11 1995  Rick Sladkey  <jrs@world.std.com>
880
881         * version.c: Version 3.0.2 is released.
882         * linux/dummy.h: Make sys_fchdir like sys_close instead of printargs
883         so that the file descriptor arg is decimal.
884
885 Sat Mar 25 22:50:13 1995  Rick Sladkey  <jrs@world.std.com>
886
887         * net.c [LINUX] (protocols): Explicitly define all IPPROTO_* entries
888         because on Linux they are enumerators.
889
890         * system.c [LINUX] (mount_flags): Handle renaming of MS_SYNC to
891         MS_SYNCHRONOUS.
892
893         * util.c (printxval): When there is no translation, print the actual
894         number first and the the default value as a C comment.
895
896         * net.c (sys_send, sys_sendto, sys_sendmsg, sys_getsockopt,
897         sys_setsockopt): Change first argument from unsigned to signed to
898         cater to the frequent practice of calling system calls with a file
899         descriptor of -1.
900         * mem.c (sys_mmap): Likewise.
901
902 Sun Mar 19 13:53:52 1995  Rick Sladkey  <jrs@world.std.com>
903
904         * signal.c [LINUX] (signalent): Handle old and new values of SIGIO.
905
906 Sun Dec 11 22:51:51 1994  Rick Sladkey  <jrs@world.std.com>
907
908         * version.c: Version 3.0.1 is released.
909         * Makefile.in, configure.in, aclocal.m4: Changes for autoconf 2.0.
910         * config.guess, config.guess: Update from the FSF.
911         * install-sh: New from the FSF.
912
913 Mon Dec  5 20:51:29 1994  Rick Sladkey  <jrs@world.std.com>
914
915         * Makefile.in: Add m68k arch.
916         * acconfig.h (M68K): Add m68k define.
917         * configure.in: Add detection of arch m68k.
918         * process.c [M68K] (struct_user_offsets): Support m68k registers and
919         offsets.
920         * signal.c [M68K] (sigcontext_struct): Support m68k sigcontext
921         structure.
922         [M68K] (sys_sigreturn): Support m68k sigreturn handling.
923         * syscall.c [M68K] (syscall): Support m68k syscall number register
924         and errno in d0 instead of eax.
925         * util.c [M68K] (getpc, printcall, setbpt, clearbpt): Support m68k
926         program counter in PT_PC instead of EIP.
927         [M68K] (LOOP): Support m68k loop instruction.
928         From Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>.
929
930         * mem.c [MAP_ANONYMOUS] (mmap_flags): Correct inadvertent reference
931         to MAP_FIXED instead of MAP_ANONYMOUS.
932         From Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>.
933
934         * signal.c [LINUX] (signalent): Signal 30 is now SIGPWR.
935         From Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>.
936
937 Mon Dec  5 01:05:46 1994  Rick Sladkey  <jrs@world.std.com>
938
939         * defs.h (tprintf): Fix typo in non-gcc ansi prototype for tprintf.
940         Reported by Thanh Ma <tma@encore.com>.
941
942         * strace.c (cleanup): Send SIGCONT before SIGTERM because Linux
943         1.1.62 doesn't continue a traced child when the parent exits.
944         Reported by Matt Day <mday@artisoft.com>.
945
946         * system.c [LINUX]: Include netinet/in.h before arpa/inet.h.
947
948         * util.c (printstr): Fix longstanding bug in notating string
949         continuation.
950
951         * strace.c [SVR4] (proc_open): Specifically wait for the child the
952         child to go into the execve syscall to avoid spurious traces.
953         [LINUX] (detach): Conditionalize the status variable.
954
955 Sun Dec  4 23:21:42 1994  Rick Sladkey  <jrs@world.std.com>
956
957         * Makefile.in: Add mips arch.
958         * acconfig.h (MIPS): Add mips define.
959         * configure.in: Add detection of opsys irix5 and arch mips.  Check
960         for prctl function.
961         Check for sys/sysconfig.h header.
962         * defs.h (MAX_ARGS): Bump maximum syscall arguments from 8 to 32.
963         * file.c [SVR4]: Include sys/cred.h.
964         (access_flags): Update access flags for SGI.
965         (sprinttime): Change type of sprinttime argument from unsigned
966         long to time_t.
967         * process.c [HAVE_PRCTL]: Include sys/prctl.h.
968         [HAVE_PRCTL] (prctl_options, sys_prctl): New for SGI.
969         (printsiginfo): Conditionally compile SI_TIMER and SI_MESGQ.
970         Cast si_band member to long before printing.
971         * signal.c (sigact_flags): Add _SA_BSDCALL for SGI.
972         (sigprocmaskcmds): Add SIG_SETMASK32 for SGI.
973         * strace.c [SVR4] [MIPS]:
974         (foobar): New dummy signal handler.
975         (main): Install a dummy signal handler in the child before pausing
976         to work around an SGI bug in PRSABORT.
977         (proc_open): Send a interrupt to the child instead of aborting the
978         syscall which doesn't work on Irix5.2.
979         * svr4/dummy.h: Add new unfinished SGI syscalls
980         (e.g. sys_sysmp, sys_sginap, etc.).  Handle some SGI syscalls like
981         existing calls (e.g. sys_ksigaction like sys_sigaction).
982         Printargs does the print thing for sys_sethostid.
983         * svr4/syscall.h: Declare all new SGI syscalls.
984         (SGI_KLUDGE): Define syscall table starting index to be 1 for SGI
985         and add it to all subcall entry points.
986         (SYS_pgrpsys_subcall, SYS_sigcall_subcall, SYS_context): Don't
987         decode as subcalls on MIPS. Instead, use the normal syscalls.
988         * svr4/syscallent.h [MIPS]: Lead syscall table with a dummy entry
989         since SGI syscall numbers are off by one.
990         [MIPS] (sys_pgrpsys): Rename to sys_setpgrp on SGI.
991         [MIPS] (sys_xenix): Rename to sys_syssgi on SGI.
992         [MIPS] (sys_sysmachine): Rename to sys_sysmips on SGI.
993         [MIPS]: Conditionalize SVR4 extension into SGI and Solaris classes.
994         * syscall.c (dumpio): Validate descriptor against MAX_QUALS.
995         [HAVE_PR_SYSCALL] (syscall): Conditionalize SYS_vfork.
996         [MIPS] (syscall): Add SGI section for decoding u_error and u_rval.
997         Add workaround for broken SGI pr_sysarg on syscall entry.
998         [SVR4] (syscall): Conditionalize subcall decoding for
999         SYS_ptrpsys_subcall, SYS_sigcall_subcall and SYS_context_subcall.
1000         [SVR4] [MIPS] (getrval2): Handle SGI.
1001         * syscallent.sh: Dork the sed line to be choosier about SYS_ lines.
1002         * system.c [HAVE_SYSCONFIG_H]: Include sys/sysconfig.h.
1003         [MIPS] (syssgi_options, sys_syssgi): New for SGI.