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