1 2000-09-03 Wichert Akkerman <wakkerma@debian.org>
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
7 * test/clone.c: improve our testcase a bit
8 * Merge another patch from Gäel Roualland with FreeBSD updates
10 2000-09-01 Wichert Akkerman <wakkerma@debian.org>
12 * lots of files: merge patch from Gaël Roualland to add
15 2000-08-09 Wichert Akkerman <wakkerma@debian.org>
17 * file.c: update to reflect that st_ino suddenly became a long long
18 in the in Linux 2.4.0-test6
20 2000-08-09 Wichert Akkerman <wakkerma@debian.org>
22 * test/clone.c: minor fixup
23 * Another bunch of patches from John Hughes merged:
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
33 2000-07-04 Wichert Akkerman <wakkerma@debian.org>
35 * net.c: add SOL_PACKET and SOL_RAW socket options, update
38 2000-06-23 Wichert Akkerman <wakkerma@debian.org>
40 * strace.c: close outf before we exec a child process
42 2000-06-09 Ulrich Drepper <drepper@redhat.com>
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.
49 2000-04-26 Wichert Akkerman <wakkerma@debian.org>
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
60 2000-04-25 David Mosberger <davidm@hpl.hp.com>
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
66 * linux/ia64/syscallent.h: Add perfmonctl, pivotroot, mincore, and
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
73 2000-04-24 Wichert Akkerman <wakkerma@debian.org>
75 * process.c: add sparc support to change_syscall
77 2000-04-22 Wichert Akkerman <wakkerma@debian.org>
79 * linux/mips/syscallent.h: fix some typos
81 2000-04-14 Wichert Akkerman <wakkerma@debian.org>
83 * linux/mips/syscallent.h: added names for SVR4, SYSV, BSD4.3 and POSIX
86 2000-04-13 Wichert Akkerman <wakkerma@debian.org>
88 * defs.h: Linux/MIPS uses syscalls up to >4k, so set MAX_QUALS to
91 2000-04-09 Wichert Akkerman <wakkerma@debian.org>
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
110 2000-02-19 Wichert Akkerman <wakkerma@debian.org>
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
119 1999-12-27 Morten Welinder <terra@diku.dk>
121 * syscall.c (lookup_signal, lookup_desc): isdigit requires an
122 _unsigned_ char parameter.
124 2000-02-14 Wichert Akkerman <wakkerma@debian.org>
128 2000-02-03 Wichert Akkerman <wakkerma@debian.org>
130 * Merge Linux/ia64 patches
132 2000-01-02 Pavel Machek <pavel@ucw.cz>
134 * probe if sys/poll.h exists in configure + minor cleanups
136 * syscall.c: split trace_syscall into few pieces to make code readable
138 2000-01-21 Wichert Akkerman <wakkerma@debian.org>
140 * Release version 4.2 to get the current updates out and so
141 we can concentrate in finishing the clone support.
143 2000-01-11 Wichert Akkerman <wakkerma@debian.org>
145 * Add 1900 to tm_year in sprinttime
147 1999-12-24 Wichert Akkerman <wakkerma@debian.org>
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
153 Fri Dec 24 18:05:00 EST 1999
155 1999-12-23 Ulrich Drepper <drepper@cygnus.com>
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
161 * linux/syscall.h: Declare sys_stat64, sys_lstat64, and sys_fstat64.
162 * linux/syscallent.h: Define table entries for sys_stat64, sys_lstat64,
164 * aclocal.m4: Define AC_STAT64.
165 * acconfig.h: Define HAVE_STAT64.
166 * configure.in: Add AC_STAT64.
168 Thu Dec 23 15:01:37 CET 1999 Wichert Akkerman <wakkerma@debian.org>
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
175 Mon Dec 20 00:27:50 CET 1999 Wichert Akkerman <wakkerma@debian.org>
177 * Rewrite mmap-handling to support mmap2 on Linux
179 Tue Dec 14 11:35:16 CET 1999 Wichert Akkerman <wakkerma@debian.org>
181 * Note that Linux can handle sys_semop() as well
183 Tue Nov 30 11:05:26 CET 1999 Wichert Akkerman <wakkerma@debian.org>
185 * Include linux/in6.h for glibc2.0 and older
187 Mon Nov 29 16:33:04 CET 1999 Wichert Akkerman <wakkerma@debian.org>
189 * Merge patches from John Hughes to make configure support UnixWare
191 Sat Nov 27 21:38:17 CET 1999 Wichert Akkerman <wakkerma@debian.org>
193 * Enhance sys_query_module
195 Fri Nov 26 10:51:55 CET 1999 Wichert Akkerman <wakkerma@debian.org>
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
203 + Parse mount arguments for UnixWare
204 + ACL fixes for UnixWare
206 Fri Nov 26 01:28:09 CET 1999 Wichert Akkerman <wakkerma@debian.org>
208 * Release 4.1 to get all the changes made out there
210 Thu Nov 18 18:04:04 CET 1999 Wichert Akkerman <wakkerma@debian.org>
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
217 Mon Nov 1 20:52:08 CET 1999 Wichert Akkerman <wakkerma@debian.org>
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
225 Sun Oct 31 22:03:00 CET 1999 Wichert Akkerman <wakkerma@debian.org>
227 * Merge Linux mips patch from Florian Lohoff <flo@rfc822.org>
229 Mon Oct 11 00:36:25 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
231 * Merge patch from Keith Owens <kaos@ocs.com.au> to sys_query_module
232 and sys_delete_module correctly
234 Wed Oct 6 02:00:33 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
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
241 Fri Sep 10 04:35:16 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
243 * #define USE_GNU before including file.c so we get some extra O_* flags
245 Tue Aug 31 16:27:21 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
247 * Add missing } in IPv6 output
249 Tue Aug 31 01:23:08 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
251 * Update copyright for strace-graph to BSD to be consistent with
254 Mon Aug 30 00:53:57 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
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>
260 Thu Aug 19 13:10:15 CEST 1999 Jakub Jelinek <jj@ultra.linux.cz>
262 * linux/sparc/syscall.h: Declare create_module/init_module.
263 * configure.in: Allow compilation in a different directory
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
269 * syscall.c: Likewise.
271 Wed Aug 4 18:01:50 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
273 * Syscall 94 on Linux alpha is sys_poll
275 Sun Jul 25 14:38:33 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
277 * Merge in UnixWare patches from John Hughes <john@Calva.COM>
279 Thu Jul 15 23:00:32 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
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)
285 Tue Jul 13 17:07:50 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
287 * Add configure-test for sys/reg.h and use that
288 * Use sys/reg.h instead of asm/ptrace.h
290 Sat Jul 10 01:46:10 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
292 * Remove hack in signal.c for arm architecture
293 * Add hack so we compile correctly on powerpc
295 Fri Jul 9 02:28:16 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
297 * Add a corrected patch from Daniel Jacobowitz
299 Thu Jul 8 16:00:04 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
301 * Merge patch from Daniel Jacobowitz to allow us to use the kernel types
302 for the stat structure
304 Thu Jun 24 15:54:18 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
306 * Fix test for sys/reg include
308 Tue Jun 22 17:26:33 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
310 * Fixed some Linux/powerpc sillyness, thanks to Daniel Jacobowitz
311 * Fixed some SunOS compile problems earlier that I forgot to include
314 Mon Jun 14 12:44:25 CEST 1999
316 * Avoid leakint fd into child when forking, patch from
317 John Hughes <john@Calva.COM>
319 Fri Jun 11 14:54:47 CEST 1999
321 * Applied IRIX64 patch from Thomas E. Dickey <dickey@clark.net>
322 * Applied Solaris and manpage updates from Guy Harris <guy@netapp.com>
324 Wed Jun 9 14:48:49 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
326 * Brought syscall list for alpha up to date
328 Wed Jun 2 18:30:12 CEST 1999 Jakub Jelinek <jj@ultra.linux.cz>
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
340 * syscall.c: Recognize sparc64-linux binaries.
342 Fri May 28 21:09:00 PST Ulrich Drepper <drepper@cygnus.com>
344 * configure.in: Fix typo (CFLAG -> CFLAGS).
346 * syscall.c: Don't include linux/ptrace.h explicitly for glibc.
348 Thu May 27 13:59:27 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
350 * Add some sysctl support, patch from Ulrich Drepper
352 Wed May 26 01:04:34 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
354 * Use kernel dirent structure for Linux
356 Sun May 9 02:18:30 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
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 :)
374 Sun Apr 18 22:32:42 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
376 * Update syscalls for linux alpha, patch from Bart Warmerdam
378 * Update sparc code so it actually compiles
380 Fri Apr 16 02:18:05 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
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
387 Thu Apr 15 22:28:15 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
389 * Change in strace maintainership, jrs passed the torch to me.
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
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()
407 + updated handling of signals
409 Sun Oct 27 22:28:00 1996 J. Richard Sladkey <jrs@world.std.com>
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.
415 Fri May 31 01:48:49 1996 J. Richard Sladkey <jrs@world.std.com>
417 * version.c: Version 3.1 is released.
419 Thu May 23 01:04:43 1996 J. Richard Sladkey <jrs@world.std.com>
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>.
428 Mon May 20 23:17:14 1996 J. Richard Sladkey <jrs@world.std.com>
430 * version.c: Version 3.0.14 is released.
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
436 Reported by Henrik Storner <storner@osiris.ping.dk>.
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
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>.
453 Mon May 20 01:19:36 1996 J. Richard Sladkey <jrs@world.std.com>
455 * version.c: Version 3.0.13 is released.
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.
462 * syscall.c (nerrnos{0,2}): Correct size computation.
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
477 Sun May 19 17:14:09 1996 J. Richard Sladkey <jrs@world.std.com>
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.
490 Sun May 19 01:12:28 1996 J. Richard Sladkey <jrs@world.std.com>
492 * version.c: Version 3.0.12 is released.
494 * linux{,alpha}/ioctlent.sh: Tweak for recent kernels.
495 From Michael E Chastain <mec@duracef.shout.net>.
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>.
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>
510 Fri May 17 21:03:36 1996 J. Richard Sladkey <jrs@world.std.com>
512 * version.c: Version 3.0.11 is released.
514 * many files: Fix more printf warnings for other platforms.
516 * ipc.c (sys_msgrcv) [LINUX]: Conditionalize definition of ipc_wrapper.
518 * linux/dummy.h: Handle missing library support for {send,recv}msg.
519 Reported by Thomas Bogendoerfer <tsbogend@bigbug.franken.de>.
521 * linux/syscall.h (sys_utimes): Fix a typo in the declaration.
522 From Thomas Bogendoerfer <tsbogend@bigbug.franken.de>.
524 Fri May 17 00:50:06 1996 J. Richard Sladkey <jrs@world.std.com>
526 * version.c: Version 3.0.10 is released.
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.
532 * net.c: Make sendmsg and recvmsg dependent on an autoconf
533 test. Reported by Michael E Chastain <mec@duracef.shout.net>.
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}:
548 From Thomas Bogendoerfer <tsbogend@bigbug.franken.de>.
550 Wed May 15 00:29:37 1996 J. Richard Sladkey <jrs@world.std.com>
552 * version.c: Version 3.0.9 is released.
554 * config.in, config.sub, install-sh: Upgrade to autoconf 2.10.
556 * linux/dummy.h, linux/syscallent.h, linux/syscall.h: Add recent
557 Linux kernel version system calls.
559 Wed Mar 13 01:03:38 1996 J. Richard Sladkey <jrs@world.std.com>
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>.
569 Tue Feb 13 22:08:25 1996 J. Richard Sladkey <jrs@world.std.com>
571 * version.c: Version 3.0.8 is released.
573 * time.c [LINUX]: Explicitly include linux/version.h.
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>.
580 * Makefile.in (distclean): Fix it for subdirectories.
582 * sunos4/syscallent.h, svr4/syscallent.h: Fill in the new
583 sys_flags member for each defined system call.
585 Fri Dec 8 01:17:28 1995 Rick Sladkey <jrs@world.std.com>
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.
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>.
602 Thu Dec 7 01:17:40 1995 Rick Sladkey <jrs@world.std.com>
604 * linux/ioctlent.sh: Tweak to improve ioctl accuracy.
605 From Michael E Chastain <mec@duracef.shout.net>.
607 * system.c (includes) [LINUX]: Add linux/nfs.h for recent
608 kernels. From Michael E Chastain <mec@duracef.shout.net>.
610 Wed Dec 6 21:52:28 1995 Rick Sladkey <jrs@world.std.com>
612 * file.c (sprintfstype): Enclose string result in double
615 * time.c (sys_adjtimex) [LINUX]: Conditionalize
616 constantly evolving timex structure.
617 From Aaron Ucko <UCKO@VAX1.ROCKHURST.EDU>.
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>.
624 * Makefile.in (clean): Check for a file with test -f not
625 test -d. From Aaron Ucko <UCKO@VAX1.ROCKHURST.EDU>.
627 Tue Sep 26 02:32:31 1995 Rick Sladkey <jrs@world.std.com>
629 * version.c: Version 3.0.7 is released.
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>.
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>.
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>.
643 Mon Sep 4 01:29:22 1995 Rick Sladkey <jrs@world.std.com>
645 * version.c: Version 3.0.6 is released.
647 * linux/dummy.h, linux/syscall.h, linux/syscallent.h: Add
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.
654 Sat Sep 2 12:06:04 1995 Rick Sladkey <jrs@world.std.com>
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
660 * file.c (sys_getdents): Define unconditionally and handle
662 * strace.c (main): Disallow username option unless both real
663 and effective uids are root.
665 Wed Aug 30 01:29:58 1995 Rick Sladkey <jrs@world.std.com>
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
675 Sat Aug 19 00:06:08 1995 Rick Sladkey <jrs@world.std.com>
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'.
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).
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.
693 Tue Jul 4 00:30:34 1995 Rick Sladkey <jrs@world.std.com>
695 * version.c: Version 3.0.5 is released.
697 * desc.c, resource.c, strace.c, syscall.c, time.c: Cast tv_sec and
698 tv_usec members to long when using printf.
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__.
706 mem.c (mmap_flags) [MAP_{GROWSDOWN,DENYWRITE,EXECUTABLE}]: Add
707 Linux specific options.
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__.
713 term.c: Cast c_{i,o,c,l}flag to long when using printf.
715 Tue Jun 6 00:27:48 1995 Rick Sladkey <jrs@world.std.com>
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.
724 net.c (sys_socket): Omit inadvertent surplus comma when
725 protocol family isn't PF_INET.
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>.
732 Thu May 4 23:37:47 1995 Rick Sladkey <jrs@world.std.com>
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
741 * util.c (printstr): Cast unsigned char pointer argument
742 to char pointer in umovestr call.
743 (dumpstr): Likewise for umoven.
745 Wed May 3 01:10:56 1995 Rick Sladkey <jrs@world.std.com>
747 * version.c: Version 3.0.4 is released.
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.
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.
761 Tue May 2 22:39:42 1995 Rick Sladkey <jrs@world.std.com>
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.
773 Tue May 2 00:20:39 1995 Rick Sladkey <jrs@world.std.com>
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).
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.
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
790 * strace.c (printleader): Also check for multiple -p arguments
791 when deciding whether to print the pid field.
793 * strace.c (strerror) [!HAVE_STRERROR]: New function.
794 * defs.h (strerror, strsignal): Add these prototypes if we provide
796 * configure.in (AC_CHECK_FUNCS): Add strerror.
798 * strace.c (main, proc_poller): Add SIGPIPE to the list of caught
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>.
806 Sat Apr 29 00:09:56 1995 Rick Sladkey <jrs@world.std.com>
808 * version.c: Version 3.0.3 is released.
810 * system.c (mount_flags) [LINUX]: Omit duplicated MS_NOSUID entry.
811 From Reuben Sumner <rasumner@undergrad.math.uwaterloo.ca>.
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.
821 * strace.c (main): Use popen if -o argument begins with a pipe.
822 From Marty Leisner <leisner@sdsp.mc.xerox.com>.
824 * process.c (printstatus): Fix a typo where WIFSIGNALED was meant
825 but WIFSTOPPED was used.
827 * Makefile.in: Add an EXTRA_DEFS variable and use it in the .c.o
828 rule to prevent the comment from being untrue.
830 Fri Apr 28 22:01:56 1995 Rick Sladkey <jrs@world.std.com>
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
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.
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
853 Mon Apr 24 23:52:47 1995 Rick Sladkey <jrs@world.std.com>
855 * net.c (socktypes): Add SOCK_PACKET.
857 Sun Apr 2 23:50:39 1995 Rick Sladkey <jrs@world.std.com>
859 * Makefile (clean): Check explicitly for a Makefile in subdirs
860 before running make in them.
862 Sun Mar 26 12:37:21 1995 Rick Sladkey <jrs@world.std.com>
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
868 * syscall.c (decode_subcall): Move variable i into conditionals
870 * system.c (syssgi_options): Conditionalize SGI_RECVLMSG and
871 SGI_SET_FPDEBUG that SGI decided to drop. I don't have the stomach
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.
879 Sun Mar 26 00:01:11 1995 Rick Sladkey <jrs@world.std.com>
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.
885 Sat Mar 25 22:50:13 1995 Rick Sladkey <jrs@world.std.com>
887 * net.c [LINUX] (protocols): Explicitly define all IPPROTO_* entries
888 because on Linux they are enumerators.
890 * system.c [LINUX] (mount_flags): Handle renaming of MS_SYNC to
893 * util.c (printxval): When there is no translation, print the actual
894 number first and the the default value as a C comment.
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
900 * mem.c (sys_mmap): Likewise.
902 Sun Mar 19 13:53:52 1995 Rick Sladkey <jrs@world.std.com>
904 * signal.c [LINUX] (signalent): Handle old and new values of SIGIO.
906 Sun Dec 11 22:51:51 1994 Rick Sladkey <jrs@world.std.com>
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.
913 Mon Dec 5 20:51:29 1994 Rick Sladkey <jrs@world.std.com>
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
920 * signal.c [M68K] (sigcontext_struct): Support m68k sigcontext
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>.
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>.
934 * signal.c [LINUX] (signalent): Signal 30 is now SIGPWR.
935 From Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>.
937 Mon Dec 5 01:05:46 1994 Rick Sladkey <jrs@world.std.com>
939 * defs.h (tprintf): Fix typo in non-gcc ansi prototype for tprintf.
940 Reported by Thanh Ma <tma@encore.com>.
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>.
946 * system.c [LINUX]: Include netinet/in.h before arpa/inet.h.
948 * util.c (printstr): Fix longstanding bug in notating string
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.
955 Sun Dec 4 23:21:42 1994 Rick Sladkey <jrs@world.std.com>
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
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
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.