blob: 4b8596e0b4b436fc6d86a8a5b584b15f07f5bb8e [file] [log] [blame]
Wichert Akkermandacfb6e1999-06-03 14:21:07 +00001Wed Jun 2 18:30:12 CEST 1999 Jakub Jelinek <jj@ultra.linux.cz>
2
3 * system.c: sys_umount2 syscall support.
4 * linux/sparc/errnoent.h: Update sparc-linux errnos.
5 * linux/sparc/syscall.h: Update used sparc-linux syscalls.
6 * linux/sparc/syscallent.h: Match 2.2.9 system calls.
7 * file.c: sparc-linux asm/stat.h uses dev_t etc. types,
8 so it needs strace's own copy of the stat structure.
9 * util.c: Make it compile on sparc-linux.
10 * strace.c: Fix strace -f and -ff operation on sparc-linux.
11 * signal.c: rt_sigaction has different arguments on sparc*-linux
12 and alpha-linux.
13 * syscall.c: Recognize sparc64-linux binaries.
14
Ulrich Drepper0d2d3231999-05-29 04:11:48 +000015Fri May 28 21:09:00 PST Ulrich Drepper <drepper@cygnus.com>
16
17 * configure.in: Fix typo (CFLAG -> CFLAGS).
18
Ulrich Drepper8783c011999-05-29 04:13:58 +000019 * syscall.c: Don't include linux/ptrace.h explicitly for glibc.
20
Wichert Akkerman22fe9d21999-05-27 12:00:57 +000021Thu May 27 13:59:27 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
22
23 * Add some sysctl support, patch from Ulrich Drepper
24
Wichert Akkerman9524bb91999-05-25 23:11:18 +000025Wed May 26 01:04:34 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
26
27 * Use kernel dirent structure for Linux
28
Wichert Akkerman2e2553a1999-05-09 00:29:58 +000029Sun May 9 02:18:30 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
30
31 * Merge in patches from Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
32 + some layout and other minor fixes
33 + add some m68k-specific things to linux/syscallent.h. Note that m68k
34 is similar enough to i386 to not need it's own subdirectory
35 + add support for sendfile and mremap syscalls for Linux
36 * Merge in patches from Sascha Schumann <sascha@schumann.2ns.de>
37 + ioctls.h vs sys/ioctl.h on Alpha platform
38 + pointer was casted to an int in stream.c
39 + strsignal() needs -D_GNU_SOURCE in CFLAGS
40 + several other casts changed
41 + correct ARM/POWERPC architecture defines in acconfig.h
42 * Merge in patches from Morten Welinder <terra@diku.dk>
43 + add some autoconf-tests for includefiles
44 + handle solaris version of sigcontext struct (actually I hacked this
45 up again, but the idea is his :)
46
Wichert Akkerman7a1f0e91999-04-18 20:23:57 +000047Sun Apr 18 22:32:42 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
48
49 * Update syscalls for linux alpha, patch from Bart Warmerdam
50 <bartw@debian.org>
Wichert Akkermand4d8e921999-04-18 23:30:29 +000051 * Update sparc code so it actually compiles
Wichert Akkerman7a1f0e91999-04-18 20:23:57 +000052
Wichert Akkerman328c5e71999-04-16 00:21:26 +000053Fri Apr 16 02:18:05 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
54
Wichert Akkerman25d0c4f1999-04-18 19:35:42 +000055 * Add support for old_*stat functions for Linux. Please note you need
56 to use reasonably recent kernel headers to compile strace now.
Wichert Akkerman328c5e71999-04-16 00:21:26 +000057 * Change references to LINUX into linux in file.c
58 * Fix include for LDT in mem.c
Wichert Akkerman1786d811999-04-15 20:34:14 +000059
60Thu Apr 15 22:28:15 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
61
62 * Change in strace maintainership, jrs passed the torch to me.
63 * Use autoconf 2.13
64 * Incorporate all changes already made in the Debian strace package:
65 + compiles with more Linux kernels
66 + added support for more Linux architectures
67 + add support for a lot of extra syscalls
68 + fix some problems with hanging children
69 + check stray syscall after execv
70 + decode capget and capset arguments
71 + add more constants to net.c
72 + detect ROSE networking
73 + add more protocol families to domains
74 + add IPIP protocol
75 + added MSG_PROXY and MSG_CTRUNC to msg_flags
76 + added SO_BSDCOMPAT and SO_REUSEPORT to sockoptions
77 + added IP, IPX and TCP-options
78 + added IP, IPX and TCP support to get-/setsockopt()
79 + added IPX support
80 + updated handling of signals
81
Wichert Akkerman76baf7c1999-02-19 00:21:36 +000082Sun Oct 27 22:28:00 1996 J. Richard Sladkey <jrs@world.std.com>
83
84 * util.c (umovestr) [LINUX]: Handle Linux like SunOS4
85 instead of SVR4. That is, read a few bytes at a time
86 to avoid overrunning the end of the stack.
87
88Fri May 31 01:48:49 1996 J. Richard Sladkey <jrs@world.std.com>
89
90 * version.c: Version 3.1 is released.
91
92Thu May 23 01:04:43 1996 J. Richard Sladkey <jrs@world.std.com>
93
94 * aclocal.m4 (AC_DECL_SYS_ERRLIST): Try looking in stdio.h
95 as well since that's where glibc declares it. Go figure.
96 * signal.c (sys_sigreturn) [ALPHA]: Use sigcontext
97 instead of sigcontext_struct since glibc v5+ apparently
98 plays games with the native OS namespace.
99 From David Mosberger-Tang <davidm@AZStarNet.com>.
100
101Mon May 20 23:17:14 1996 J. Richard Sladkey <jrs@world.std.com>
102
103 * version.c: Version 3.0.14 is released.
104
105 * aclocal.m4 (AC_STRUCT_MSG_CONTROL): New macro.
106 * configure.in: Add call to AC_STRUCT_MSG_CONTROL.
107 * net.c (printmsghdr): Handle BSD 4.3 and 4.4 msghdr members
108 differently.
109 Reported by Henrik Storner <storner@osiris.ping.dk>.
110
111 * configure.in: (AC_CHECK_{HEADERS,FUNCS}): Add checks for
112 sys/filio.h and sys/stream.h and remove check for poll.
113 * desc.c (decode_select, sys_select, sys_oldselect) [LINUX]:
114 Handle old and new styles of argument passing for select on Linux.
115 * ioctl.c, stream.c: Conditionalize stream code on presence of
116 sys/stream.h instead of poll because glibc implements poll but
117 not the rest of the stream interface.
118 * signal.c [LINUX]: Standardize on the name sigcontext_struct.
119 (sys_sigprocmask) [ALPHA]: Handle OSF flavor which is more like
120 sigsetmask.
121 * term.c (term_ioctl): Use _VMIN, if present, for TC{G,S}ETA*.
122 * util.c (umoven, umovestr): Move data in long-sized chunks
123 at a time, instead of hard coding it to be 4.
124 From David Mosberger-Tang <davidm@AZStarNet.com>.
125
126Mon May 20 01:19:36 1996 J. Richard Sladkey <jrs@world.std.com>
127
128 * version.c: Version 3.0.13 is released.
129
130 * configure.in (AC_CHECK_HEADERS): Add check for asm/sigcontext.h.
131 * signal.c [HAVE_ASM_SIGCONTEXT_H]: Conditionally include
132 asm/sigcontext.h to define sigcontext_struct and don't define it
133 locally if the header is present.
134
135 * syscall.c (nerrnos{0,2}): Correct size computation.
136
137 * Makefile.in: Remove dependencies and rules relating to files
138 normally found in the os directory. Because of the new scheme we
139 don't know precisely where they come from. Sigh.
140 * signalent.sh: Make it work for sunos4, linux, and svr4.
141 * {sunos4,linux{,/alpha},svr4}/Makefile.in: Make rules correspond
142 to traditional make syntax. Add signalent.h to files which can
143 unconditionally be rebuilt. Prevent signalent.h from being
144 unconditionally being rebuilt since it's customized.
145 * {sunos4,linux{,/alpha},svr4}/{ioctlent,errnoent,signalent}.h:
146 Use versions built by {ioctlent,errnoent,signaltent}.sh.
147 * sunos4/ioctlent.sh: Work around sprintf troubles with SunOS
148 4.1.4 and gcc 2.7.2.
149
150Sun May 19 17:14:09 1996 J. Richard Sladkey <jrs@world.std.com>
151
152 * configure.in, Makefile.in: Add OSARCH concept to finish
153 build support for the alpha.
154 * Makefile.in, linux/Makefile.in: Rewrite clean, distclean,
155 and maintainer-clean rules.
156 * defs.h, ioctlsort.c: Make ioctl code member unsigned.
157 * ioctl.c, ioctlsort.c (compare): Perform explicit checking
158 for less, greater, and equal since subtraction on two's
159 complement numbers isn't an order relation (it isn't transitive)!
160 * linux/Makefile.in: Add rules for the signalent.h file.
161 * linux/alpha/Makefile.in: New file.
162
163Sun May 19 01:12:28 1996 J. Richard Sladkey <jrs@world.std.com>
164
165 * version.c: Version 3.0.12 is released.
166
167 * linux{,alpha}/ioctlent.sh: Tweak for recent kernels.
168 From Michael E Chastain <mec@duracef.shout.net>.
169
170 * defs.h (SUPPORTED_PERSONALITES, DEFAULT_PERSONALITY): New.
171 * syscall.c (set_personality): New.
172 * strace.c (main): Call set_personality.
173 * defs.h, syscall.c, ioctl.c, signal.c: Make sysent, errnoent,
174 ioctlent, and signalent indirect pointers and redirect them
175 based on personality.
176 * {sunos4,svr4,linux{,/alpha}}/signalent.h: New files.
177 Suggested by Tom Dyas <tdyas@eden.rutgers.edu>.
178
179 * util.c (upeek): Handle case where ptrace returns a long
180 and sizeof(long) != sizeof(int).
181 From Richard Henderson <richard@twiddle.tamu.edu>
182
183Fri May 17 21:03:36 1996 J. Richard Sladkey <jrs@world.std.com>
184
185 * version.c: Version 3.0.11 is released.
186
187 * many files: Fix more printf warnings for other platforms.
188
189 * ipc.c (sys_msgrcv) [LINUX]: Conditionalize definition of ipc_wrapper.
190
191 * linux/dummy.h: Handle missing library support for {send,recv}msg.
192 Reported by Thomas Bogendoerfer <tsbogend@bigbug.franken.de>.
193
194 * linux/syscall.h (sys_utimes): Fix a typo in the declaration.
195 From Thomas Bogendoerfer <tsbogend@bigbug.franken.de>.
196
197Fri May 17 00:50:06 1996 J. Richard Sladkey <jrs@world.std.com>
198
199 * version.c: Version 3.0.10 is released.
200
201 * Makfile.in: Add os/arch to includes so that a given arch
202 (like alpha) can override the native arch (like i386).
203 * configure.in: Check for sendmsg.
204
205 * net.c: Make sendmsg and recvmsg dependent on an autoconf
206 test. Reported by Michael E Chastain <mec@duracef.shout.net>.
207
208 * acconfig.h, configure.in: Detect the alpha.
209 * ioctl.c: Handle the alpha.
210 * defs.h: Make some members long for the alpha. Define
211 some register nicknames. Add support for WAITEXECVE.
212 * file.c [ALPHA]: Support the alpha for statfs. Add
213 osf_statfs and osf_fstatfs for the alpha. Make damn sure
214 major and minor results are suitable for passing to printf.
215 * signal.c, syscall.c: Support the alpha.
216 * process.c: Add alpha user offsets.
217 * most files: Use %l? for printf arguments since
218 most are now longs for the alpha.
219 * linux/alpha/{errnoent.h,ioctlent.{h,sh},syscallent.h}:
220 New for the alpha.
221 From Thomas Bogendoerfer <tsbogend@bigbug.franken.de>.
222
223Wed May 15 00:29:37 1996 J. Richard Sladkey <jrs@world.std.com>
224
225 * version.c: Version 3.0.9 is released.
226
227 * config.in, config.sub, install-sh: Upgrade to autoconf 2.10.
228
229 * linux/dummy.h, linux/syscallent.h, linux/syscall.h: Add recent
230 Linux kernel version system calls.
231
232Wed Mar 13 01:03:38 1996 J. Richard Sladkey <jrs@world.std.com>
233
234 * ipc.c [SUNOS4]: Add SunOS support for decoding IPC calls.
235 * syscall.c [SUNOS4]: Compile decode_subcall on SunOS and
236 decode IPC calls using it.
237 * sunos4/dummy.h: Alias sys_semop to printargs.
238 * sunos4/syscall.h: Add new pseudo syscalls for IPC.
239 * sunos4/syscallent.h: Include new subcalls for IPC.
240 From Matthias Pfaller <leo@dachau.marco.de>.
241
242Tue Feb 13 22:08:25 1996 J. Richard Sladkey <jrs@world.std.com>
243
244 * version.c: Version 3.0.8 is released.
245
246 * time.c [LINUX]: Explicitly include linux/version.h.
247
248 * strace.c (main): Don't let them even *try* to
249 get strace to attach to itself since some systems
250 don't handle this case very gracefully.
251 Reported by David S. Miller <davem@caip.rutgers.edu>.
252
253 * Makefile.in (distclean): Fix it for subdirectories.
254
255 * sunos4/syscallent.h, svr4/syscallent.h: Fill in the new
256 sys_flags member for each defined system call.
257
258Fri Dec 8 01:17:28 1995 Rick Sladkey <jrs@world.std.com>
259
260 * defs.h (TRACE_*): New flags to describe what class
261 of system call each system call is.
262 (sysent): Add sys_flags member.
263 * syscall.c (sysent): Define (and later undef) abbreviations
264 for the system call class flags.
265 (lookup_class): New function to translate strings to
266 system call class flags.
267 (qualify): Handle new system call class mechanism.
268 * linux/syscallent.h: Fill in the new sys_flags member
269 for each defined system call.
270
271 * defs.h (print_sock): Remove redundant and non-K&R C
272 compatible prototype. From Juergen Weigert
273 <jnweiger@immd4.informatik.uni-erlangen.de>.
274
275Thu Dec 7 01:17:40 1995 Rick Sladkey <jrs@world.std.com>
276
277 * linux/ioctlent.sh: Tweak to improve ioctl accuracy.
278 From Michael E Chastain <mec@duracef.shout.net>.
279
280 * system.c (includes) [LINUX]: Add linux/nfs.h for recent
281 kernels. From Michael E Chastain <mec@duracef.shout.net>.
282
283Wed Dec 6 21:52:28 1995 Rick Sladkey <jrs@world.std.com>
284
285 * file.c (sprintfstype): Enclose string result in double
286 quotes.
287
288 * time.c (sys_adjtimex) [LINUX]: Conditionalize
289 constantly evolving timex structure.
290 From Aaron Ucko <UCKO@VAX1.ROCKHURST.EDU>.
291
292 * defs.h, syscall.c, strace.c: Rename syscall to
293 trace_syscall and change prototype and all callers
294 because of broken Linux shared libraries.
295 From Aaron Ucko <UCKO@VAX1.ROCKHURST.EDU>.
296
297 * Makefile.in (clean): Check for a file with test -f not
298 test -d. From Aaron Ucko <UCKO@VAX1.ROCKHURST.EDU>.
299
300Tue Sep 26 02:32:31 1995 Rick Sladkey <jrs@world.std.com>
301
302 * version.c: Version 3.0.7 is released.
303
304 * util.c (string_quote): Fix thinko which caused core
305 dumps for strings with quotes in them.
306 Reported by Marty Leisner <leisner@sdsp.mc.xerox.com>.
307
308 * linux/Makefile.in (errnoent.h rule): Grab all errno.h
309 files from /usr/include, not just the linux one.
310 From Michael E Chastain <mec@duracef.shout.net>.
311
312 * linux/errnoent.sh: Total rewrite to handle more ioctls with
313 fewer false positives on more kernel flavors.
314 From Michael E Chastain <mec@duracef.shout.net>.
315
316Mon Sep 4 01:29:22 1995 Rick Sladkey <jrs@world.std.com>
317
318 * version.c: Version 3.0.6 is released.
319
320 * linux/dummy.h, linux/syscall.h, linux/syscallent.h: Add
321 sys_msync.
322 * mem.c (mctl_funcs, mctl_lockas, sys_mctl): Conditionalize
323 on MC_SYNC instead of HAVE_MCTL.
324 (mctl_sync): Conditionalize on MS_ASYNC instead of HAVE_MCTL.
325 (sys_msync): New function.
326
327Sat Sep 2 12:06:04 1995 Rick Sladkey <jrs@world.std.com>
328
329 * linux/dummy.h, linux/syscall.h, linux/syscallent.h: Add
330 sys_flock and sys_getdents.
331 * desc.c (flockcmds, sys_flock): Conditionalize on LOCK_SH
332 not SUNOS4.
333 * file.c (sys_getdents): Define unconditionally and handle
334 LINUX case.
335 * strace.c (main): Disallow username option unless both real
336 and effective uids are root.
337
338Wed Aug 30 01:29:58 1995 Rick Sladkey <jrs@world.std.com>
339
340 * strace.c (main): Ensure that run_uid and run_gid are
341 always set to something meaningful.
342 (main, newoutf) [!SVR4]: Swap real and effective uids while
343 opening any output files.
344 (main) [!SVR4]: Treat effective uid of root as a request
345 to handle suid binaries correctly using the real uid of
346 the invoking user.
347
348Sat Aug 19 00:06:08 1995 Rick Sladkey <jrs@world.std.com>
349
350 * Makefile.in: Add `|| true' to clean rule because
351 although GNU make 3.74 uses `sh -c' to invoke commands
352 every other make in the world uses `sh -ec'.
353
354 * syscall.c (syscall) [SVR4, MIPS]: The fifth and subsequent
355 arguments appear to be stored on the stack, not in the
356 registers following A3 (empirical result).
357
358 * defs.h: Add prototype for printsock.
359 * svr4/dummy.h: Remove generic handling of sys_mount.
360 * system.c [SVR4, MIPS]: Include several system headers to cleanly
361 get access to SGI mount information.
362 (mount_flags, nfs_flags) [SVR4, MIPS]: New objects.
363 (sys_mount) [SVR4, MIPS]: New function.
364 (sys_mount) [SVR4, !MIPS]: New function.
365
366Tue Jul 4 00:30:34 1995 Rick Sladkey <jrs@world.std.com>
367
368 * version.c: Version 3.0.5 is released.
369
370 * desc.c, resource.c, strace.c, syscall.c, time.c: Cast tv_sec and
371 tv_usec members to long when using printf.
372
373 * ipc.c: Omit define of __KERNEL__.
374 ({MSG,SEM,SHM}_{STAT,INFO}): Explicitly define those things we
375 want which __KERNEL__ used to provide.
376 (sys_msgrcv): Change reference to ipc_kludge structure to
377 look-alike ipc_wrapper to avoid dependence on __KERNEL__.
378
379 mem.c (mmap_flags) [MAP_{GROWSDOWN,DENYWRITE,EXECUTABLE}]: Add
380 Linux specific options.
381
382 syscall.c: Use SYS_ERRLIST_DECLARED instead of guessing.
383 [E{RESTART{SYS,NO{INTR,HAND}},NOIOCTLCMD}]: Explicitly define
384 instead of depending of __KERNEL__.
385
386 term.c: Cast c_{i,o,c,l}flag to long when using printf.
387
388Tue Jun 6 00:27:48 1995 Rick Sladkey <jrs@world.std.com>
389
390 * aclocal.m4 (AC_DECL_SYS_ERRLIST, AC_DECL__SYS_SIGLIST): New.
391 * configure.in: Call AC_DECL_SYS_ERRLIST, AC_DECL_SYS_SIGLIST,
392 and AC_DECL__SYS_SIGLIST.
393 * acconfig.h (SYS_ERRLIST_DECLARED): New.
394 * strace.c (strerror): Use SYS_ERRLIST_DECLARED.
395 (strsignal): Use SYS_SIGLIST_DECLARED.
396
397 net.c (sys_socket): Omit inadvertent surplus comma when
398 protocol family isn't PF_INET.
399
400 util.c (dumpstr): Fix incorrect printing of one too many
401 characters when the length is not an even multiple of 16 bytes.
402 Reported by Juergen Weigert
403 <jnweiger@immd4.informatik.uni-erlangen.de>.
404
405Thu May 4 23:37:47 1995 Rick Sladkey <jrs@world.std.com>
406
407 * ioctl.c (compare): Change prototype to match POSIX qsort.
408 * signal.c (sigishandled) [SVR4]: Omit everything after return.
409 * strace.c (trace) [SVR4]: Break out of for loop instead of
410 returning when finished so final return statement is executed.
411 * syscall.c (internal_syscall): Add more SYS_wait* variations.
412 (syscall) [LINUX]: Correct typo which commented out the M68K
413 argument to ifdef.
414 * util.c (printstr): Cast unsigned char pointer argument
415 to char pointer in umovestr call.
416 (dumpstr): Likewise for umoven.
417
418Wed May 3 01:10:56 1995 Rick Sladkey <jrs@world.std.com>
419
420 * version.c: Version 3.0.4 is released.
421
422 * signal.c (sys_sigblock): Move after the definition of
423 sys_sigsetmask that it calls to avoid an implicit declaration.
424 * stream.c (transport_user_options, transport_server_options):
425 Only needed if TI_BIND is defined.
426 * configure.in: Add -Wno-implicit to WARNFLAGS on SunOS 4.x.
427
428 * process.c (internal_fork) [SVR4]: Fix a typo that omitted
429 the tcp arguement from the call to exiting. Add getrval2
430 check so no fork processing is done in the child.
431 (printwaitn): Initialize exited so that its value is defined
432 for all flows of execution.
433
434Tue May 2 22:39:42 1995 Rick Sladkey <jrs@world.std.com>
435
436 * linux/dummy.h: Add aliases for sysfs, personality, afs_syscall,
437 setfsuid, setfsgid, and _llseek syscalls.
438 * linux/syscall.h: Add prototypes for them.
439 * linux/syscallent.h: Add them to the syscall entries table.
440 * system.c (headers) [LINUX]: Include linux/unistd.h to get __NR_*
441 defines and conditionally include linux/personality.h if
442 __NR_personality is defined.
443 (personality_options) [LINUX]: New table.
444 (sys_personality) [LINUX]: New function.
445
446Tue May 2 00:20:39 1995 Rick Sladkey <jrs@world.std.com>
447
448 * strace.c (trace) [!SVR4]: Change forever loop to one predicated
449 on the number of traced processes so that we can have untraced
450 children (e.g. via popen).
451
452 * strace (main) [!SVR4]: Call fake_execve to get the actual
453 exec and its arguments into the trace.
454 (environ): Declare it.
455 * process.c (fake_execve): New function.
456 (headers): Include sys/syscall.h to get SYS_* defines.
457
458 * process.c (sys_execv, sys_execve): Surround argument annotations
459 with C comment delimiters.
460 (printargv, printargc): The arg vector is an array of char pointers
461 not ints.
462
463 * strace.c (printleader): Also check for multiple -p arguments
464 when deciding whether to print the pid field.
465
466 * strace.c (strerror) [!HAVE_STRERROR]: New function.
467 * defs.h (strerror, strsignal): Add these prototypes if we provide
468 the functions.
469 * configure.in (AC_CHECK_FUNCS): Add strerror.
470
471 * strace.c (main, proc_poller): Add SIGPIPE to the list of caught
472 and blocked signals.
473
474 * strace.c (main): Add username option. Verify they are root before
475 letting them use it. Look up the ids in the password file. Set
476 them just before executing the program.
477 From Reuben Sumner <rasumner@undergrad.math.uwaterloo.ca>.
478
479Sat Apr 29 00:09:56 1995 Rick Sladkey <jrs@world.std.com>
480
481 * version.c: Version 3.0.3 is released.
482
483 * system.c (mount_flags) [LINUX]: Omit duplicated MS_NOSUID entry.
484 From Reuben Sumner <rasumner@undergrad.math.uwaterloo.ca>.
485
486 * strace.c (outfname): Initialize to NULL.
487 (main): Defer output file processing until after arguments.
488 Allow either a pipe or a bang for command arguments.
489 Check if outfname is NULL instead of checking outf for stderr.
490 Reinitialize each startup TCB's outf to fix -p/-o ordering bug.
491 (droptcb): Reset close TCB's outf to NULL instead of stderr.
492 (tprintf): Avoid calling vfprintf if outf is NULL.
493
494 * strace.c (main): Use popen if -o argument begins with a pipe.
495 From Marty Leisner <leisner@sdsp.mc.xerox.com>.
496
497 * process.c (printstatus): Fix a typo where WIFSIGNALED was meant
498 but WIFSTOPPED was used.
499
500 * Makefile.in: Add an EXTRA_DEFS variable and use it in the .c.o
501 rule to prevent the comment from being untrue.
502
503Fri Apr 28 22:01:56 1995 Rick Sladkey <jrs@world.std.com>
504
505 * strace.c (sys_exit): Move follow fork code to internal_exit.
506 (sys_fork): Move follow fork code to internal_fork.
507 (sys_execv, sys_execve): Move follow fork code to internal_exec.
508 (sys_waitpid, sys_wait4): Move follow fork code to internal_wait.
509 (vforking): Remove this static variable and check scno in
510 internal_fork instead.
511 (internal_exit, internal_fork, internal_exec, internal_wait): New
512 functions.
513 * defs.h: Add prototypes for the new internal_* functions.
514 * syscall.c (syscall): Move syscall entering trace qualifier check
515 and reprint checking after context decoding and precede them with
516 a call to internal_syscall. Precede syscall exiting trace
517 qualifier check with a call to internal_syscall.
518 (internal_syscall): New function.
519
520 * defs.h (struct tcb): Make scno signed.
521 * strace.c (syscall) Make u_error signed.
522 [LINUX, I386]: Avoid unsigned cast in eax check.
523 * syscall.c (sys_indir): Make i, scno, and nargs signed.
524 * desc.c (sys_select): Make cumlen unsigned
525
526Mon Apr 24 23:52:47 1995 Rick Sladkey <jrs@world.std.com>
527
528 * net.c (socktypes): Add SOCK_PACKET.
529
530Sun Apr 2 23:50:39 1995 Rick Sladkey <jrs@world.std.com>
531
532 * Makefile (clean): Check explicitly for a Makefile in subdirs
533 before running make in them.
534
535Sun Mar 26 12:37:21 1995 Rick Sladkey <jrs@world.std.com>
536
537 * strace.c [MIPS] (proc_open): Conditionalize run on MIPS.
538 [MIPS] (detach): Initialize error for MIPS case.
539 (trace): Initialize ioctl_result and ioctl_errno for overly helpful
540 compilers.
541 * syscall.c (decode_subcall): Move variable i into conditionals
542 that use use it.
543 * system.c (syssgi_options): Conditionalize SGI_RECVLMSG and
544 SGI_SET_FPDEBUG that SGI decided to drop. I don't have the stomach
545 to change them all.
546 * term.c (term_ioctl): Force [c_[iocl]flags members to long before
547 printing since we don't know what the size of their type is.
548 * util.c [SVR4, MIPS] (umoven): Prevent MIPS from using pread even
549 if autoconf detects it since it seems to either not work or do
550 something else entirely on Irix 5.3.
551
552Sun Mar 26 00:01:11 1995 Rick Sladkey <jrs@world.std.com>
553
554 * version.c: Version 3.0.2 is released.
555 * linux/dummy.h: Make sys_fchdir like sys_close instead of printargs
556 so that the file descriptor arg is decimal.
557
558Sat Mar 25 22:50:13 1995 Rick Sladkey <jrs@world.std.com>
559
560 * net.c [LINUX] (protocols): Explicitly define all IPPROTO_* entries
561 because on Linux they are enumerators.
562
563 * system.c [LINUX] (mount_flags): Handle renaming of MS_SYNC to
564 MS_SYNCHRONOUS.
565
566 * util.c (printxval): When there is no translation, print the actual
567 number first and the the default value as a C comment.
568
569 * net.c (sys_send, sys_sendto, sys_sendmsg, sys_getsockopt,
570 sys_setsockopt): Change first argument from unsigned to signed to
571 cater to the frequent practice of calling system calls with a file
572 descriptor of -1.
573 * mem.c (sys_mmap): Likewise.
574
575Sun Mar 19 13:53:52 1995 Rick Sladkey <jrs@world.std.com>
576
577 * signal.c [LINUX] (signalent): Handle old and new values of SIGIO.
578
579Sun Dec 11 22:51:51 1994 Rick Sladkey <jrs@world.std.com>
580
581 * version.c: Version 3.0.1 is released.
582 * Makefile.in, configure.in, aclocal.m4: Changes for autoconf 2.0.
583 * config.guess, config.guess: Update from the FSF.
584 * install-sh: New from the FSF.
585
586Mon Dec 5 20:51:29 1994 Rick Sladkey <jrs@world.std.com>
587
588 * Makefile.in: Add m68k arch.
589 * acconfig.h (M68K): Add m68k define.
590 * configure.in: Add detection of arch m68k.
591 * process.c [M68K] (struct_user_offsets): Support m68k registers and
592 offsets.
593 * signal.c [M68K] (sigcontext_struct): Support m68k sigcontext
594 structure.
595 [M68K] (sys_sigreturn): Support m68k sigreturn handling.
596 * syscall.c [M68K] (syscall): Support m68k syscall number register
597 and errno in d0 instead of eax.
598 * util.c [M68K] (getpc, printcall, setbpt, clearbpt): Support m68k
599 program counter in PT_PC instead of EIP.
600 [M68K] (LOOP): Support m68k loop instruction.
601 From Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>.
602
603 * mem.c [MAP_ANONYMOUS] (mmap_flags): Correct inadvertent reference
604 to MAP_FIXED instead of MAP_ANONYMOUS.
605 From Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>.
606
607 * signal.c [LINUX] (signalent): Signal 30 is now SIGPWR.
608 From Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>.
609
610Mon Dec 5 01:05:46 1994 Rick Sladkey <jrs@world.std.com>
611
612 * defs.h (tprintf): Fix typo in non-gcc ansi prototype for tprintf.
613 Reported by Thanh Ma <tma@encore.com>.
614
615 * strace.c (cleanup): Send SIGCONT before SIGTERM because Linux
616 1.1.62 doesn't continue a traced child when the parent exits.
617 Reported by Matt Day <mday@artisoft.com>.
618
619 * system.c [LINUX]: Include netinet/in.h before arpa/inet.h.
620
621 * util.c (printstr): Fix longstanding bug in notating string
622 continuation.
623
624 * strace.c [SVR4] (proc_open): Specifically wait for the child the
625 child to go into the execve syscall to avoid spurious traces.
626 [LINUX] (detach): Conditionalize the status variable.
627
628Sun Dec 4 23:21:42 1994 Rick Sladkey <jrs@world.std.com>
629
630 * Makefile.in: Add mips arch.
631 * acconfig.h (MIPS): Add mips define.
632 * configure.in: Add detection of opsys irix5 and arch mips. Check
633 for prctl function.
634 Check for sys/sysconfig.h header.
635 * defs.h (MAX_ARGS): Bump maximum syscall arguments from 8 to 32.
636 * file.c [SVR4]: Include sys/cred.h.
637 (access_flags): Update access flags for SGI.
638 (sprinttime): Change type of sprinttime argument from unsigned
639 long to time_t.
640 * process.c [HAVE_PRCTL]: Include sys/prctl.h.
641 [HAVE_PRCTL] (prctl_options, sys_prctl): New for SGI.
642 (printsiginfo): Conditionally compile SI_TIMER and SI_MESGQ.
643 Cast si_band member to long before printing.
644 * signal.c (sigact_flags): Add _SA_BSDCALL for SGI.
645 (sigprocmaskcmds): Add SIG_SETMASK32 for SGI.
646 * strace.c [SVR4] [MIPS]:
647 (foobar): New dummy signal handler.
648 (main): Install a dummy signal handler in the child before pausing
649 to work around an SGI bug in PRSABORT.
650 (proc_open): Send a interrupt to the child instead of aborting the
651 syscall which doesn't work on Irix5.2.
652 * svr4/dummy.h: Add new unfinished SGI syscalls
653 (e.g. sys_sysmp, sys_sginap, etc.). Handle some SGI syscalls like
654 existing calls (e.g. sys_ksigaction like sys_sigaction).
655 Printargs does the print thing for sys_sethostid.
656 * svr4/syscall.h: Declare all new SGI syscalls.
657 (SGI_KLUDGE): Define syscall table starting index to be 1 for SGI
658 and add it to all subcall entry points.
659 (SYS_pgrpsys_subcall, SYS_sigcall_subcall, SYS_context): Don't
660 decode as subcalls on MIPS. Instead, use the normal syscalls.
661 * svr4/syscallent.h [MIPS]: Lead syscall table with a dummy entry
662 since SGI syscall numbers are off by one.
663 [MIPS] (sys_pgrpsys): Rename to sys_setpgrp on SGI.
664 [MIPS] (sys_xenix): Rename to sys_syssgi on SGI.
665 [MIPS] (sys_sysmachine): Rename to sys_sysmips on SGI.
666 [MIPS]: Conditionalize SVR4 extension into SGI and Solaris classes.
667 * syscall.c (dumpio): Validate descriptor against MAX_QUALS.
668 [HAVE_PR_SYSCALL] (syscall): Conditionalize SYS_vfork.
669 [MIPS] (syscall): Add SGI section for decoding u_error and u_rval.
670 Add workaround for broken SGI pr_sysarg on syscall entry.
671 [SVR4] (syscall): Conditionalize subcall decoding for
672 SYS_ptrpsys_subcall, SYS_sigcall_subcall and SYS_context_subcall.
673 [SVR4] [MIPS] (getrval2): Handle SGI.
674 * syscallent.sh: Dork the sed line to be choosier about SYS_ lines.
675 * system.c [HAVE_SYSCONFIG_H]: Include sys/sysconfig.h.
676 [MIPS] (syssgi_options, sys_syssgi): New for SGI.