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