blob: 58046b1e6305af425379c152b8a868c4399ed4d2 [file] [log] [blame]
Dmitry V. Levin3abe8b22006-12-20 22:37:21 +000012006-12-20 Dmitry V. Levin <ldv@altlinux.org>
2
3 Show system call summary for each personality.
4 * syscall.c (countv): New call_counts pointers array.
5 (counts): Convert to macro wrapper around countv.
6 (call_summary_pers): New function.
7 (call_summary): Use it for each personality.
8 Fixes RH#192193.
9
Dmitry V. Levin10de62b2006-12-13 21:45:31 +0000102006-12-12 Dmitry V. Levin <ldv@altlinux.org>
11
12 Fix -ff -o behaviour. Fix piping trace output.
13 * defs.h (newoutf): Remove.
14 (alloctcb): Rename to alloc_tcb. Add alloctcb() macro wrapper
15 around alloc_tcb().
16 * process.c [!USE_PROCFS] (internal_clone, internal_fork):
17 Remove newoutf() call.
18 * strace.c (set_cloexec_flag, strace_fopen, strace_popen,
19 swap_uid): New functions.
20 (popen_pid): New variable.
21 (newoutf): Make static, use strace_fopen().
22 (main): Use strace_fopen() and strace_popen(), remove uids
23 swapping. Do not open outfname when followfork > 1.
24 Reinitialize tcp->outf properly.
25 (alloctcb): Rename to alloc_tcb. Use newoutf().
26 (trace): Check popen_pid. Remove newoutf() call.
27 [USE_PROCFS] (proc_open, proc_poll_open): Use set_cloexec_flag().
28 Fixes RH#204950, RH#218435.
29
Dmitry V. Levinb9fe0112006-12-13 16:59:44 +0000302006-12-10 Dmitry V. Levin <ldv@altlinux.org>
31
Dmitry V. Levind3cb3922006-12-13 17:45:02 +000032 Add biarch support for "struct sigevent".
33 * time.c [LINUX && SUPPORTED_PERSONALITIES > 1] (printsigevent32):
34 New function.
35 [LINUX] (printsigevent): [SUPPORTED_PERSONALITIES > 1]
36 Handle 32-bit personality.
37
Dmitry V. Levin165b15d2006-12-13 17:43:45 +000038 Add biarch support for "struct timex".
39 * time.c [LINUX && SUPPORTED_PERSONALITIES > 1] (tprint_timex32):
40 New function.
41 [LINUX] (tprint_timex): New function.
42 [LINUX] (sys_adjtimex): Use it.
43
Dmitry V. Levin1a684d62006-12-13 17:42:32 +000044 Enhance adjtimex parser.
45 * time.c [LINUX] (adjtimex_modes, adjtimex_status,
46 adjtimex_state): New xlat structures.
47 [LINUX] (sys_adjtimex): Print the whole struct timex.
48 Decode modes, status and return code.
49
Dmitry V. Levin1cad25d2006-12-13 17:14:36 +000050 Add biarch support for "struct itimerval".
51 * time.c (printitv): Rename to printitv_bitness().
52 Add printitv() macro wrapper around printitv_bitness().
53 (printitv_bitness): Handle 32-bit personality.
54 [ALPHA] (sys_osf_getitimer, sys_osf_setitimer):
55 Use printitv_bitness().
56 (tprint_timeval, tprint_timeval32): New functions.
57 (printtv_bitness, printitv_bitness, sys_adjtimex): Use them.
58 (printitv32): Remove.
59
60 Add biarch support for "struct timeval".
61 * defs.h (bitness_t): New enum type.
62 (printtv_bitness, sprinttv): New function prototypes.
63 (printtv): Convert to macro wrapper around printtv_bitness().
64 (printtv32): Remove.
65 * desc.c (decode_select): Use printtv_bitness() and sprinttv().
66 (sys_oldselect, sys_osf_select, sys_select, sys_pselect6):
67 Update decode_select() use.
68 * file.c [ALPHA] (sys_osf_utimes): Use printtv_bitness().
69 * time.c (printtv_bitness, sprinttv): New functions.
70 (printtv, printtv32): Remove.
71 [ALPHA] (sys_osf_settimeofday, sys_osf_settimeofday):
72 Use printtv_bitness().
73 Fixes RH#171626, RH#173050.
74
Dmitry V. Levin4ebb4e32006-12-13 17:08:08 +000075 Add biarch support for "struct iovec".
76 * defs.h (personality_wordsize): Add.
77 * io.c [HAVE_SYS_UIO_H] (tprint_iov): [LINUX &&
78 SUPPORTED_PERSONALITIES > 1] Handle 32-bit personality.
79 * util.c [HAVE_SYS_UIO_H] (dumpiov): [LINUX &&
80 SUPPORTED_PERSONALITIES > 1] Likewise.
81 Patch from Jakub Jelinek.
82 Fixes RH#218433.
83
Dmitry V. Levinac518d12006-12-13 17:03:02 +000084 * time.c (sys_timer_create): Check umove() return code.
85
Dmitry V. Levinb9fe0112006-12-13 16:59:44 +000086 Make several global variables static.
87 #ifdef definitions of rarely unused functions.
88 * defs.h (rflag, tflag, outfname): Remove.
89 * strace.c (iflag, interactive, pflag_seen, rflag, tflag,
90 outfname, username): Make static.
91 * desc.c (sys_getdtablesize): Define only for
92 ALPHA || FREEBSD || SUNOS4.
93 * file.c (sys_fchroot): Define only for SUNOS4 || SVR4.
94 (sys_mkfifo): Define only for FREEBSD.
95 * mem.c (sys_sbrk): Define only for FREEBSD || SUNOS4.
96 (sys_getpagesize): Define only for
97 ALPHA || FREEBSD || IA64 || SUNOS4 || SVR4.
98 * net.c (sys_so_socket): Define only for SVR4.
99 * process.c (sys_gethostid): Define only for
100 FREEBSD || SUNOS4 || SVR4.
101 (sys_gethostname): Define only for
102 ALPHA || FREEBSD || SUNOS4 || SVR4.
103 (sys_setpgrp): Define only for ALPHA || SUNOS4 || SVR4.
104 (sys_execv): Define only for SPARC || SPARC64 || SUNOS4.
105 * signal.c (sys_sigblock): Define only for FREEBSD || SUNOS4.
106 (sys_sighold, sys_sigwait): Define only for SVR4.
107 (sys_killpg): Define only for FREEBSD || SUNOS4.
108 * stream.c (sys_getmsg): Define only for
109 SPARC || SPARC64 || SUNOS4 || SVR4.
110 * syscall.c (sys_indir): Define only for SUNOS4.
111
Dmitry V. Levin35a55782006-12-04 13:48:10 +00001122006-11-27 Dmitry V. Levin <ldv@altlinux.org>
113
114 * system.c [LINUX]: Define CTL_PROC, since Linux 2.6.18+ headers
115 removed CTL_PROC enum. Patch from Jakub Jelinek.
116 [LINUX] (sysctl_root): Add CTL_BUS, CTL_ABI and CTL_CPU.
117
Dmitry V. Levina6946662006-12-04 13:46:28 +00001182006-11-20 Jakub Jelinek <jakub@redhat.com>
119
120 * linux/ia64/syscallent.h: Add #if check to make sure that
121 SYS_socket_subcall adjustment isn't forgotten again.
122
Dmitry V. Levinef5c3d62006-10-16 00:26:47 +00001232006-10-16 Dmitry V. Levin <ldv@altlinux.org>
124
125 Implement comprehensive quotactl(2) parser for Linux.
126 * Makefile.am (strace_SOURCES): Add quota.c.
127 * quota.c: New file.
128 * resource.c: Remove old quotactl(2) parser.
129 Fixes RH#118696.
130
Dmitry V. Levincbd470f2006-10-14 14:23:57 +00001312006-10-14 Dmitry V. Levin <ldv@altlinux.org>
132
Dmitry V. Levin1f336e52006-10-14 20:20:46 +0000133 * configure.ac(AC_CHECK_HEADERS): Add inttypes.h.
134 * file.c [_LFS64_LARGEFILE && (LINUX || SVR4)]:
135 Include <inttypes.h>.
136 (sys_getdents64): Use PRIu64/PRId64 to avoid gcc warnings on
137 64-bit platforms.
138
Dmitry V. Levincbd470f2006-10-14 14:23:57 +0000139 * strace.c (main): Check getcwd() return code.
140
Dmitry V. Levin95ebf5a2006-10-13 20:25:12 +00001412006-10-13 Ulrich Drepper <drepper@redhat.com>
142 Bernhard Kaindl <bk@suse.de>
143 Dmitry V. Levin <ldv@altlinux.org>
144 Michael Holzheu <holzheu@de.ibm.com>
145
146 Add hooks for new syscalls. Add decoders for *at, inotify*,
147 pselect6, ppoll and unshare syscalls.
148
149 * defs.h: Declare print_sigset.
150 * desc.c (sys_pselect6): New function.
151 * file.c (decode_open, decode_access, decode_mkdir,
152 decode_readlink, decode_chmod, decode_utimes, decode_mknod):
153 New functions.
154 (sys_open, sys_access, sys_mkdir, sys_readlink, sys_chmod,
155 sys_utimes, sys_mknod): Use them.
156 [LINUX] (fstatatflags, unlinkatflags, inotify_modes): New
157 variables.
158 [LINUX] (print_dirfd, sys_openat, sys_faccessat,
159 sys_newfstatat, sys_mkdirat, sys_linkat, sys_unlinkat,
160 sys_symlinkat, sys_readlinkat, sys_renameat, sys_fchownat,
161 sys_fchmodat, sys_futimesat, sys_mknodat, sys_inotify_add_watch,
162 sys_inotify_rm_watch): New functions.
163 * process.c [LINUX] (sys_unshare): New function.
164 * signal.c (print_sigset): New function.
165 (sys_sigprocmask): Use it.
166 * stream.c (decode_poll): New function.
167 (sys_poll): Use it.
168 [LINUX] (sys_ppoll): New function.
169 * linux/syscall.h: Delcare new syscall handlers.
170 * linux/syscallent.h: Hook up new syscalls.
171 * linux/alpha/syscallent.h: Likewise.
172 * linux/hppa/syscallent.h: Likewise.
173 * linux/ia64/syscallent.h: Likewise.
174 * linux/mips/syscallent.h: Likewise.
175 * linux/powerpc/syscallent.h: Likewise.
176 * linux/s390/syscallent.h: Likewise.
177 * linux/s390x/syscallent.h: Likewise.
178 * linux/sparc/syscallent.h: Likewise.
179 * linux/sparc64/syscallent.h: Likewise.
180 * linux/x86_64/syscallent.h: Likewise.
181 Fixes RH#178633.
182
Dmitry V. Levin96339422006-10-11 23:11:43 +00001832006-10-06 Dmitry V. Levin <ldv@altlinux.org>
184
185 * strace.c [!USE_PROCFS] (trace): Presence of PT_GETSIGINFO
186 macro does not mean that PT_CR_IPSR and PT_CR_IIP macros are
187 also defined, so check them along with PT_GETSIGINFO.
188 Fixes RH#209856.
189
Dmitry V. Levin504eb0b2006-10-11 22:58:31 +00001902006-09-01 Dmitry V. Levin <ldv@altlinux.org>
191
192 * file.c (print_xattr_val): Fix memory corruption bug reported
193 by James Antill.
194 Fixes RH#200621.
195
Dmitry V. Levinaca9a742006-10-11 22:56:49 +00001962006-04-21 Dmitry V. Levin <ldv@altlinux.org>
197
198 * defs.h [LINUX && X86_64 && !__NR_exit_group]: Define
199 __NR_exit_group.
200
Dmitry V. Levin76860f62006-10-11 22:55:25 +00002012006-03-29 Dmitry V. Levin <ldv@altlinux.org>
202
203 Fix race conditions in tcb allocation.
204 * process.c (fork_tcb): Return error code as documented. Do not
205 print "tcb table full" error message.
206 [USE_PROCFS] (internal_fork): Do not print "tcb table full"
207 error message.
208 [SYS_clone || SYS_clone2] (internal_clone, internal_fork): Call
209 fork_tcb() before alloctcb(). Do not print "tcb table full"
210 error message.
211 * strace.c (main): Do not print "tcb table full" error message.
212 (expand_tcbtab): Print error message in case of memory allocation
213 failure.
214 (alloctcb): Print error message when tcb table is full.
215 (trace): Expand tcb table if necessary prior to allocating
216 entry there. Do not print "tcb table full" error message.
217 Fixes RH#180293.
218
Roland McGrathff87ae22006-08-22 07:37:00 +00002192006-08-22 Roland McGrath <roland@redhat.com>
220
221 * ipc.c (sys_msgget, sys_semget, sys_shmget): Show key values in hex.
222 Fixes RH#198179.
223
Roland McGrath6ef291b2006-08-22 06:06:24 +00002242006-08-21 Roland McGrath <roland@redhat.com>
225
226 * linux/syscall.h (SYS_socket_subcall): Bump to 400.
227 * linux/syscallent.h: Update table.
228 * linux/arm/syscallent.h: Likewise.
229 * linux/m68k/syscallent.h: Likewise.
230 * linux/s390/syscallent.h: Likewise.
231 * linux/s390x/syscallent.h: Likewise.
Roland McGrath71030012006-08-22 06:33:45 +0000232 * linux/powerpc/syscallent.h: Likewise.
233 * linux/sh/syscallent.h: Likewise.
234 * linux/sh64/syscallent.h: Likewise.
Roland McGrathfd52f8d2006-10-10 00:57:30 +0000235 Fixes RH#201462.
Roland McGrath6ef291b2006-08-22 06:06:24 +0000236
Roland McGrath23777062006-04-25 07:22:04 +00002372006-04-25 Roland McGrath <roland@redhat.com>
238
Roland McGrathde170102006-04-25 07:48:06 +0000239 * strace.c (main): Fail when -c is given with -ff.
240 * strace.1: Note their incompatibility.
241 Fixes RH#187847.
242
Roland McGrath5b97ae32006-04-25 07:39:48 +0000243 * strace.c (main): Fail when nonoption args follow -p switches.
244 Fixes Debian#361302.
245
Roland McGrath9d19e162006-04-25 07:33:26 +0000246 * Makefile.am (EXTRA_DIST): Add xlate.el.
247
248 * linux/mips/Makefile.in: File removed, unused cruft.
249 * linux/sparc/Makefile.in: Likewise.
250
Roland McGrath23777062006-04-25 07:22:04 +0000251 * strace.spec (Source0): Use http://dl.sourceforge.net URL.
252
253 * ipc.c (sys_semtimedop): Fixed inverted indirect_ipccall test.
254 * linux/hppa/syscallent.h: Fixed semtimedop entry.
255 From Mike Stroyan <mike.stroyan@hp.com>.
256 Fixes Debian#340239.
257
Roland McGrath9216ba72006-04-25 07:34:44 +00002582006-03-30 Daniel Jacobowitz <dan@codesourcery.com>
259
Roland McGrath5b97ae32006-04-25 07:39:48 +0000260 * linux/arm/syscallent.h: Correct the name of exit. Remove
261 M68K conditionals and sys_security. Correct syscalls 243-282.
262 Fixes Debian#360154.
263
Roland McGrath9216ba72006-04-25 07:34:44 +0000264 * process.c (change_syscall): Add ARM support.
265 * syscall.c (get_scno): Handle ARM EABI.
266 Fixes Debian#360152.
267
Roland McGrath074a8e12006-01-17 06:23:01 +00002682006-01-16 Roland McGrath <roland@redhat.com>
269
270 * configure.ac, NEWS: Version 4.5.14.
271 * debian/changelog, strace.spec: 4.5.14-1.
272
Roland McGrathef6b8bf2006-01-14 00:20:26 +00002732006-01-13 Roland McGrath <roland@redhat.com>
274
275 * debian/control (Build-Depends): Add debhelper.
276
Roland McGrath97a932b2006-01-12 10:19:01 +00002772006-01-12 Roland McGrath <roland@redhat.com>
278
Roland McGrath402c9d12006-01-12 22:35:02 +0000279 * signal.c [LINUX] (sys_restart_syscall): New function.
280 * linux/syscall.h: Declare sys_restart_syscall.
281 * linux/sparc/syscall.h: Likewise.
282 * linux/syscallent.h: Call 0 is restart_syscall.
283 * linux/arm/syscallent.h: Likewise.
284 * linux/powerpc/syscallent.h: Likewise.
285 * linux/m68k/syscallent.h: Likewise.
286 * linux/hppa/syscallent.h: Likewise.
287 * linux/sh/syscallent.h: Likewise.
288 * linux/sparc/syscallent.h: Likewise.
289 * linux/sparc64/syscallent.h: Likewise.
290 * linux/alpha/syscallent.h: Use sys_restart_syscall.
291 * linux/ia64/syscallent.h: Likewise.
292 * linux/mips/syscallent.h: Likewise.
293 * linux/x86_64/syscallent.h: Likewise.
Roland McGrathef6b8bf2006-01-14 00:20:26 +0000294 Fixes RH#165469.
Roland McGrath402c9d12006-01-12 22:35:02 +0000295
2962005-08-08 Dmitry V. Levin <ldv@altlinux.org>
297
298 * system.c [LINUX] (MS_MGC_VAL): New macro.
299 [LINUX] (mount_flags): Add it.
300 [LINUX] (sys_mount): If neither MS_BIND nor MS_MOVE bits are
301 set in the flags argument, try to fetch data string.
302 Fixes RH#165377.
303
3042006-01-12 Roland McGrath <roland@redhat.com>
305
Roland McGrath9ee476f2006-01-12 11:03:48 +0000306 * system.c (sys_sysctl): Don't read off end of NAME when max_strlen
307 exceeds INFO.nlen.
308 From Timo Lindfors <timo.lindfors@iki.fi>.
309 Fixes Debian#339117.
310
311 * debian/rules (binary-arch): Don't pass -s to install. Use dh_strip.
312 Fixes Debian#325132.
313
314 * debian/control (Standards-Version): Update to 3.6.2.
315
Roland McGrath97a932b2006-01-12 10:19:01 +0000316 * defs.h [LINUXSPARC] (PERSONALITY0_WORDSIZE, PERSONALITY1_WORDSIZE):
317 New macros.
318 [SPARC64] (PERSONALITY2_WORDSIZE): New macro.
319 [X86_64] (PERSONALITY0_WORDSIZE, PERSONALITY1_WORDSIZE): New macros.
320 * syscall.c (PERSONALITY0_WORDSIZE): New macro if undefined.
321 (personality_wordsize): New variable.
322 (decode_subcall): Use it for size of argument words.
323 Fixes RH#174354.
324
Roland McGrath49355302006-01-12 09:51:03 +00003252005-11-17 Dmitry V. Levin <ldv@altlinux.org>
326
327 Implement qual_flags support for each personality.
328 * strace.c (main): Move qualify calls after set_personality call.
329 * syscall.c (qual_flags0): New variable..
330 [SUPPORTED_PERSONALITIES >= 2] (qual_flags1): New variable.
331 [SUPPORTED_PERSONALITIES >= 3] (qual_flags2): New variable.
332 (qual_flags): Change variable definition from array to pointer.
333 (set_personality): Initialize qual_flags variable.
334 (qualify_one): Add "pers" argument to specify personality.
335 [SUPPORTED_PERSONALITIES >= 2]: Set qual_flags1 if requested.
336 [SUPPORTED_PERSONALITIES >= 3]: Set qual_flags2 if requested.
337 (qual_syscall): Pass personality to qualify_one.
338 [SUPPORTED_PERSONALITIES >= 2]: Look for syscall also in sysent1
339 table.
340 [SUPPORTED_PERSONALITIES >= 3]: Look for syscall also in sysent2
341 table.
342 (qual_signal): Pass personality to qualify_one.
343 (qual_desc): Likewise.
344 (qualify): Use qualify_one instead of manual qual_flags
345 manipulations.
346 [SUPPORTED_PERSONALITIES >= 2]: Look for syscall also in sysent1
347 table.
348 [SUPPORTED_PERSONALITIES >= 3]: Look for syscall also in sysent2
349 table.
350 * defs.h: Update qual_flags declaration.
351 Fixes RH#173986.
352
Roland McGrath7c061b22006-01-12 09:45:59 +00003532005-11-14 Dmitry V. Levin <ldv@altlinux.org>
354
355 * syscall.c (qual_syscall): Handle numeric syscall specification.
356 Fixes RH#174798.
357
358 * syscall.c (qual_signal, qual_options): Remove redundant argument
359 check.
360
Roland McGrath52f70f72005-12-02 04:34:25 +00003612005-12-01 Roland McGrath <roland@redhat.com>
362
363 * ipc.c (indirect_ipccall) [MIPS || HPPA]: Return false.
364 Fixes Debian#340239.
365
366 * Makefile.am (EXTRA_DIST): Add linux/arm/syscallent.h
367 and linux/m68k/syscallent.h.
368 Fixes Debian#336197.
369
370 * debian/control (Architecture): Add armeb.
371 Fixes Debian#335681.
372
3732005-11-02 Michal Marek <mmarek@suse.cz>
374
375 * strace-graph (handle_trace): follow clone() and vfork() calls.
376
Roland McGrath362f1c32005-12-02 04:23:50 +00003772005-10-25 Heiko Carstens <heiko.carstens@de.ibm.com>
378
379 * linux/s390/syscallent.h: Added ioprio_set, ioprio_get,
380 inotify_init, inotify_add_watch, inotify_rm_watch.
381 Corrected number of arguments for request_key.
382 * linux/s390x/syscallent.h: Likewise.
383
3842005-12-01 Roland McGrath <roland@redhat.com>
385
386 * ipc.c (indirect_ipccall) [IA64]: Return false unless the syscall
387 number is in the low range of IA32 syscalls.
388
3892005-10-07 Andreas Schwab <schwab@suse.de>
390
391 * linux/ia64/syscallent.h: Syscall 1105 is gettid, not ioperm.
392
Roland McGrath89e94ff2005-12-02 03:57:20 +00003932005-12-01 Roland McGrath <roland@redhat.com>
394
Roland McGrath8e5ca842005-12-02 04:08:39 +0000395 * resource.c (resources): Add RLIMIT_NICE, RLIMIT_RTPRIO.
396 Reported by Scott Tsai <scottt958@yahoo.com.tw>.
397
Roland McGrath89e94ff2005-12-02 03:57:20 +0000398 * ipc.c (indirect_ipccall): New function.
399 (sys_msgctl, sys_msgsnd, sys_msgrcv, sys_semop): Use that predicate
400 instead of #ifdef LINUX test.
401 [LINUX] (sys_semtimedop): Likewise.
402 (sys_shmctl, sys_shmat, sys_shmdt): Likewise.
403 Fixes RH#164755.
404
Roland McGrath61b675e2005-12-02 03:44:20 +00004052005-07-31 Ulrich Drepper <drepper@redhat.com>
406
Roland McGrath89e94ff2005-12-02 03:57:20 +0000407 * linux/x86_64/syscallent.h: Fix syscall parameter count for msgrcv and
408 msgctl.
409
Roland McGrath61b675e2005-12-02 03:44:20 +0000410 * ipc.c (sys_msgrcv): Add entering handling and print first parameter
411 there.
412 Fixes RH#164757.
413
Roland McGrathbc38ae72005-12-02 03:59:47 +00004142005-08-08 Dmitry V. Levin <ldv@altlinux.org>
415
416 * strace.1: Update "SEE ALSO" links to reference to valid
417 manpages.
418 Patch from Michail Litvak <mci@owl.openwall.com>.
419 Fixes RH#165375.
420
Roland McGrath68565782005-10-21 22:06:58 +00004212005-10-21 Roland McGrath <roland@redhat.com>
422
423 * util.c (printpathn): Cap N at sizeof path - 1.
424
Roland McGrath0c26d342005-08-03 11:43:03 +00004252005-08-03 Roland McGrath <roland@redhat.com>
426
427 * configure.ac, NEWS: Version 4.5.13.
428 * debian/changelog, strace.spec: 4.5.13-1.
429
Roland McGrath03c3d752005-08-03 12:18:37 +0000430 * configure.ac: Check for struct dqblk.dqb_curblocks field.
Roland McGrath7e946762005-08-03 12:02:14 +0000431 * resource.c [LINUX] (OLD_CMD): New macro.
432 (quotacmds): Use it to hard-wire old O_* values, don't use macros.
Roland McGrath03c3d752005-08-03 12:18:37 +0000433 (sys_quotactl): If dqb_curblocks is not there, it's called
434 dqb_curspace instead. Print dqb_* fields as unsigned long long.
Roland McGrath7e946762005-08-03 12:02:14 +0000435
Roland McGrath9554a482005-08-03 11:29:26 +00004362005-07-19 Michael Schmitz <schmitz@debian.org>
437
438 Long overdue m68k cleanup.
439 * linux/syscallent.h: remove m68k declarations.
440 * linux/m68k/syscallent.h: new file, fixed up declarations
441 to match kernel version 2.6.11. Newer syscalls are sufficiently
442 different from i386 to merit a separate file.
443
4442005-08-03 Roland McGrath <roland@redhat.com>
445
446 * linux/x86_64/syscallent.h: Update init_module argument count.
447 * linux/sparc/syscallent.h: Likewise.
448 * linux/sparc64/syscallent2.h: Likewise.
449 * linux/sparc64/syscallent.h: Likewise.
450 * linux/sh/syscallent.h: Likewise.
451 * linux/sh64/syscallent.h: Likewise.
452 * linux/s390/syscallent.h: Likewise.
453 * linux/s390x/syscallent.h: Likewise.
454 * linux/powerpc/syscallent.h: Likewise.
455 * linux/arm/syscallent.h: Likewise.
456
4572005-07-22 James Lentini <jlentini@gmail.com>
458
459 * bjm.c (sys_init_module): Display all three arguments.
460 * linux/syscallent.h: Update argument count.
461
Roland McGrathe0f6bb02005-08-03 11:23:50 +00004622005-08-03 Roland McGrath <roland@redhat.com>
463
464 * process.c (internal_wait): Don't suspend when known child is known
465 to be exiting already.
466
467 * strace.c (detach): If detaching the last live thread in a group with
468 a zombie leader, then detach the leader too.
469 (handle_group_exit): Use detach, not droptcb, for predeceased thread.
470 Mark process about to take a signal with TCB_GROUP_EXITING flag.
471 Fixes RH#161919.
472
Roland McGrath30afb792005-07-19 07:42:24 +00004732005-07-19 Roland McGrath <roland@redhat.com>
474
475 * defs.h [LINUX] [M68K] (__NR_exit_group): Define it if missing.
476 Fixes Debian#315500.
477
Roland McGrath387d0e52005-07-19 07:13:34 +00004782005-07-14 Heiko Carstens <heiko.carstens@de.ibm.com>
479
480 * linux/s390/syscallent.h (sys_tgkill, vserver, fadvise64_64)
481 (statfs64, fstatfs64, remap_file_pages, mbind, get_mempolicy)
482 (set_mempolicy, mq_open, mq_unlink, mq_timedsend, mq_timedreceive)
483 (mq_notify, mq_getsetattr, sys_kexec_load, add_key, request_key)
484 (keyctl, waitid): Added.
485 * linux/s390x/syscallent.h: Likewise and added missing _llseek.
486 * linux/s390/errnoent.h (ECANCELED, ENOKEY, EKEYEXPIRED)
487 (EKEYREVOKED, EKEYREJECTED, EOWNERDEAD, ENOTRECOVERABLE): Added.
488 * linux/s390x/errnoent.h: Likewise.
489
Roland McGrath415a7d62005-07-05 09:50:40 +00004902005-07-05 Roland McGrath <roland@redhat.com>
491
492 * mem.c [LINUX] (sys_old_mmap) [X86_64]: Extract 32-bit values if
493 child is 32-bit.
494 Fixes RH#162467.
495
Roland McGrathfd583f62005-07-05 03:22:50 +00004962005-06-08 Dmitry V. Levin <ldv@altlinux.org>
497
Roland McGrathe10dc512005-07-05 03:26:03 +0000498 Introduce "-e trace=desc".
499 * defs.h (TRACE_DESC): New flag.
500 * syscall.c: Define TD macro before include of syscallent files
501 and undefine it afterwards.
502 (lookup_class): Recognize "desc" keyword.
503 * strace.1: Document "-e trace=desc".
504 * freebsd/i386/syscallent.h: Mark those syscalls which take a
505 file descriptor as an argument or return a file descriptor with
506 TD flag.
507 * linux/alpha/syscallent.h: Likewise.
508 * linux/hppa/syscallent.h: Likewise.
509 * linux/ia64/syscallent.h: Likewise.
510 * linux/mips/syscallent.h: Likewise.
511 * linux/powerpc/syscallent.h: Likewise.
512 * linux/s390/syscallent.h: Likewise.
513 * linux/s390x/syscallent.h: Likewise.
514 * linux/sh/syscallent.h: Likewise.
515 * linux/sh64/syscallent.h: Likewise.
516 * linux/sparc/syscallent.h: Likewise.
517 * linux/sparc64/syscallent2.h: Likewise.
518 * linux/sparc64/syscallent.h: Likewise.
519 * linux/syscallent.h: Likewise.
520 * linux/x86_64/syscallent.h: Likewise.
521 * sunos4/syscallent.h: Likewise.
522 * svr4/syscallent.h: Likewise.
523 Fixes RH#159400.
524
Roland McGrathfd583f62005-07-05 03:22:50 +0000525 Remove TF flag from those syscalls which have no filename argument.
526 * freebsd/i386/syscallent.h: Remove TF flag from fstat, pread,
527 pwrite, fstat, sendfile.
528 * linux/alpha/syscallent.h: Remove TF flag from read, write,
529 pread, pwrite, sendfile.
530 * linux/hppa/syscallent.h: Remove TF flag from read, write,
531 pread, pwrite, fstat64, sendfile, ftruncate64.
532 * linux/ia64/syscallent.h: Remove TF flag from read, write,
533 sendfile, fstat, fadvise64.
534 * linux/mips/syscallent.h: Remove TF flag from read, write,
535 fstatfs, fstat, pread, pwrite, sendfile, ftruncate64, fstat64,
536 sendfile64, fadvise64, fstatfs64.
537 * linux/powerpc/syscallent.h: Remove TF flag from read, write,
538 fstat, pread, pwrite, sendfile, ftruncate64, fstat64, sendfile64,
539 fadvise64, fstatfs64, fadvise64_64.
540 * linux/s390/syscallent.h: Remove TF flag from pread, pwrite,
541 sendfile, ftruncate64, fstat64, sendfile64.
542 * linux/s390x/syscallent.h: Remove TF flag from pread, pwrite,
543 sendfile, sendfile64.
544 * linux/sh/syscallent.h: Remove TF flag from pread, pwrite,
545 sendfile, fstat64.
546 * linux/sh64/syscallent.h: Remove TF flag from pread, pwrite,
547 sendfile, ftruncate64, fstat64.
548 * linux/sparc/syscallent.h: Remove TF flag from sendfile, fstat64,
549 pread, pwrite, sendfile64.
550 * linux/sparc64/syscallent2.h: Likewise.
551 * linux/sparc64/syscallent.h: Likewise.
552 * linux/syscallent.h: Remove TF flag from pread, pwrite, sendfile,
553 ftruncate64, fstat64, sendfile64, fadvise64, fadvise64, fstatfs64,
554 fadvise64_64.
555 * linux/x86_64/syscallent.h: Remove TF flag from pread, pwrite,
556 sendfile, fadvise64_64.
557 * svr4/syscallent.h: Remove TF flag from pread, pwrite, ftruncate,
558 fstatvfs64, ftruncate64.
559 Fixes RH#159340.
560
Roland McGrath012ffdf2005-07-04 23:30:30 +00005612005-07-04 Roland McGrath <roland@redhat.com>
562
Roland McGrathbfacc262005-07-04 23:33:42 +0000563 * net.c (sockipv6options): Add IPV6_ADD_MEMBERSHIP,
564 IPV6_DROP_MEMBERSHIP, IPV6_ROUTER_ALERT.
565 From Ulrich Drepper <drepper@redhat.com>.
566 Fixes RH#162450.
567
Roland McGrath012ffdf2005-07-04 23:30:30 +0000568 * net.c (sockipoptions): Fix typos.
569 From Ulrich Drepper <drepper@redhat.com>.
570 Fixes RH#161578.
571
572 * util.c (printnum_int): New function, printnum with s/long/int/.
573 * defs.h: Declare it.
574 * net.c (printsockopt): Use it for int-sized option.
575 Fixes RH#162449.
576 Reported by Ulrich Drepper <drepper@redhat.com>.
577
Roland McGrath43cb21f2005-06-10 03:56:19 +00005782005-06-09 Roland McGrath <roland@redhat.com>
579
580 * configure.ac, NEWS: Version 4.5.12.
581 * debian/changelog, strace.spec: 4.5.12-1.
582
Roland McGrath59a611b2005-06-08 20:45:52 +00005832005-06-08 Dmitry V. Levin <ldv@altlinux.org>
584
585 Minor namespace cleanup.
586 * defs.h (string_quote): Remove declaration.
587 * file.c (openmodessol) [LINUXSPARC]: Make static.
588 (fileflags): Likewise.
589 (aclcmds, aclipc) [HAVE_SYS_ACL_H]: Likewise.
590 (direnttypes) [FREEBSD || LINUX]: Likewise.
591 (xattrflags): Likewise.
592 * process.c (unalignctl_string): Make static.
593 (setarg): Disable.
594 * syscall.c (subcalls_table): Make static.
595 (socket_map) [!(LINUX && (ALPHA || MIPS))]: Likewise.
596 (sparc_socket_decode): Make static, define for [SPARC || SPARC64] only.
597 (decode_subcall): Make static.
598 (syscall_fixup): Likewise.
599 (get_error): Likewise.
600 (syscall_enter): Likewise.
601 * util.c (tv_tv): Disable.
602 (getpc): Likewise.
603 (string_quote): Make static.
604 Fixes RH#159688.
605
Roland McGrathd40a3932005-06-08 18:06:27 +00006062005-05-12 Philippe De Muyter <phdm@macqel.be>
607
608 * util.c (getpc, printcall): Check #if defined(M68K), not M68k.
609 Enables `-i' on m68k machines.
610
Roland McGrath5d731702005-06-07 23:22:26 +00006112005-06-06 Roland McGrath <roland@redhat.com>
612
613 * process.c (struct_user_offsets) [X86_64]: Reorder elements so
614 matching works right.
615 Fixes RH#159787.
616
617 * linux/syscall.h (SYS_socket, SYS_bind, SYS_connect, SYS_listen)
618 (SYS_accept, SYS_getsockname, SYS_getpeername, SYS_socketpair)
619 (SYS_send, SYS_recv, SYS_sendto, SYS_recvfrom, SYS_shutdown)
620 (SYS_setsockopt, SYS_getsockopt, SYS_sendmsg, SYS_recvmsg)
621 (SYS_getsockname, SYS_semop, SYS_semgsub_et, SYS_semget, SYS_semctl)
622 (SYS_semtimedop, SYS_msgsnd, SYS_msgrcv, SYS_msgget)
623 (SYS_msgctl, SYS_shmat, SYS_shmdt, SYS_shmget)
624 (SYS_shmctl): Macros renamed to SYS_sub_*.
625 * syscall.c (dumpio): Match SYS_sub_* if defined instead of SYS_*.
626
627 * linux/syscall.h (SYS_waitid): Define if not defined.
628
629 * linux/syscallent.h: Fix pread/pwrite names to pread64/pwrite64.
630
631 * defs.h (struct sysent): New member `native_scno'.
632 (known_scno): Declare new function.
633 * linux/syscallent.h: Add new final field to interesting syscalls.
634 * syscall.c (known_scno): New function.
635 (dumpio, internal_syscall, syscall_fixup, trace_syscall): Use it.
636 * process.c (internal_fork, internal_exit): Likewise.
637 [IA64] (ARG_STACKSIZE, ARG_PTID, ARG_CTID, ARG_TLS): Likewise.
638 * strace.c (proc_open): Likewise.
639 * util.c [LINUX] (setbpt): Likewise.
640 * linux/syscall.h: Remove [!defined(X86_64)] from conditional
641 for defining SYS_socket_subcall et al.
642 * linux/syscallent.h: Likewise for #error check.
643 * syscall.c (trace_syscall): Likewise for SYS_{socketcall,ipc} cases.
644 Fixes RH#158934.
645
Roland McGrath6286f662005-06-03 02:40:43 +00006462005-06-02 Roland McGrath <roland@redhat.com>
647
648 * file.c (printstatfs64): Cast values to unsigned long long and use
649 %llu formats.
650 Fixes RH#158243.
651
Roland McGrathe8c6eec2005-06-01 18:56:03 +00006522005-05-31 Dmitry V. Levin <ldv@altlinux.org>
653
Roland McGrath712a6bf2005-06-01 19:22:30 +0000654 Deal with memory management issues.
655 * defs.h (tprint_iov): Update prototype.
656 * desc.c (sys_epoll_wait) [HAVE_SYS_EPOLL_H]: Do not allocate
657 epoll_event array of arbitrary size on the stack, to avoid
658 stack overflow.
659 * file.c (print_xattr_val): Check for integer overflow during
660 malloc size calculation, to avoid heap corruption.
661 * io.c (tprint_iov) [HAVE_SYS_UIO_H]: Check for integer overflow
662 during malloc size calculation, to avoid heap corruption.
663 Change iovec array handling to avoid heap memory allocation.
664 * mem.c (get_nodes) [LINUX]: Check for integer overflow during
665 size calculation and do not allocate array of arbitrary size on
666 the stack, to avoid stack overflow.
667 * net.c (printcmsghdr) [HAVE_SENDMSG]: Do not allocate array of
668 arbitrary size on the stack, to avoid stack overflow. Do not
669 trust cmsg.cmsg_len to avoid read beyond the end of allocated
670 object.
671 (printmsghdr) [HAVE_SENDMSG]: Update tprint_iov() usage.
672 * process.c (sys_setgroups): Check for integer overflow during
673 malloc size calculation, to avoid heap corruption. Change gid_t
674 array handling to avoid heap memory allocation.
675 (sys_getgroups): Likewise.
676 (sys_setgroups32) [LINUX]: Likewise.
677 (sys_getgroups32) [LINUX]: Likewise.
678 * stream.c (sys_poll) [HAVE_SYS_POLL_H]: Check for integer
679 overflow during malloc size calculation, to avoid heap corruption.
680 Change pollfd array handling to avoid heap memory allocation.
681 * system.c (sys_sysctl) [LINUX]: Check for integer overflow
682 during malloc size calculation, to avoid heap corruption.
683 * util.c (dumpiov) [HAVE_SYS_UIO_H]: Check for integer overflow
684 during malloc size calculation, to avoid heap corruption.
685 Fixes RH#159196.
686
Roland McGrathb422e0d2005-06-01 19:03:30 +0000687 * util.c (printxval): Change third argument from "char *" to
688 "const char *".
689 (printflags): Add third argument, "const char *", with similar
690 meaning to the third argument of printxval().
691 * defs.h (printxval): Change third argument from "char *" to
692 "const char *".
693 (printflags): Add third argument.
694 * bjm.c (sys_query_module) [LINUX]: Pass third argument to
695 printflags().
696 * desc.c (sys_fcntl): Likewise.
697 (sys_flock) [LOCK_SH]: Likewise.
698 (print_epoll_event) [HAVE_SYS_EPOLL_H]: Likewise.
699 * file.c (sys_open): Likewise.
700 (solaris_open) [LINUXSPARC]: Likewise.
701 (sys_access): Likewise.
702 (sys_chflags, sys_fchflags) [FREEBSD]: Likewise.
703 (realprintstat) [HAVE_LONG_LONG_OFF_T &&
704 HAVE_STRUCT_STAT_ST_FLAGS]: Likewise.
705 (printstat64) [HAVE_STAT64 &&
706 HAVE_STRUCT_STAT_ST_FLAGS]: Likewise.
707 (sys_setxattr, sys_fsetxattr): Likewise.
708 * ipc.c (sys_msgget, sys_msgsnd, sys_msgrcv, sys_semget,
709 sys_shmget, sys_shmat) [LINUX || SUNOS4 || FREEBSD]: Likewise.
710 (sys_mq_open) [LINUX]: Likewise.
711 (printmqattr) [HAVE_MQUEUE_H]: Likewise.
712 * mem.c (print_mmap) [!HAVE_LONG_LONG_OFF_T]: Likewise.
713 (sys_mmap64) [_LFS64_LARGEFILE || HAVE_LONG_LONG_OFF_T]: Likewise.
714 (sys_mprotect): Likewise.
715 (sys_mremap, sys_madvise, sys_mlockall) [LINUX]: Likewise.
716 (sys_msync) [MS_ASYNC]: Likewise.
717 (sys_mctl) [MC_SYNC]: Likewise.
718 (sys_remap_file_pages, sys_mbind, sys_get_mempolicy) [LINUX]:
719 Likewise.
720 * net.c (printmsghdr) [HAVE_STRUCT_MSGHDR_MSG_CONTROL]: Likewise.
721 (sys_send, sys_sendto): Likewise.
722 (sys_sendmsg) [HAVE_SENDMSG]: Likewise.
723 (sys_recv, sys_recvfrom): Likewise.
724 (sys_recvmsg) [HAVE_SENDMSG]: Likewise.
725 (printicmpfilter) [ICMP_FILTER]: Likewise.
726 * proc.c (proc_ioctl) [SVR4 && !HAVE_MP_PROCFS || FREEBSD]: Likewise.
727 * process.c (sys_clone) [LINUX]: Likewise.
728 (printwaitn): Likewise.
729 (sys_waitid) [SVR4 || LINUX]: Likewise.
730 * signal.c (sys_sigvec) [SUNOS4 || FREEBSD]: Likewise.
731 (sys_sigaction): Likewise.
732 (printcontext) [SVR4]: Likewise.
733 (print_stack_t) [LINUX) || FREEBSD]: Likewise.
734 (sys_rt_sigaction) [LINUX]: Likewise.
735 * sock.c (sock_ioctl) [LINUX]: Likewise.
736 * stream.c (sys_putmsg, sys_getmsg): Likewise.
737 (sys_putpmsg) [SYS_putpmsg]: Likewise.
738 (sys_getpmsg) [SYS_getpmsg]: Likewise.
739 (sys_poll): Likewise.
740 (print_transport_message) [TI_BIND]: Likewise.
741 (stream_ioctl): Likewise.
742 * system.c (sys_mount, sys_reboot): Likewise.
743 (sys_cacheflush) [LINUX && M68K]: Likewise.
744 (sys_capget, sys_capset) [SYS_capget]: Likewise.
745 * term.c (term_ioctl) [TIOCMGET]: Likewise.
746 * time.c (sys_clock_nanosleep, sys_timer_settime) [LINUX]:
747 Likewise.
748 Fixes RH#159310.
749
Roland McGrathe8c6eec2005-06-01 18:56:03 +0000750 * bjm.c (sys_query_module) [LINUX]: Unitize "out of memory"
751 errors reporting style.
752 * strace.c (rebuild_pollv) [USE_PROCFS]: Likewise.
753 * system.c (sys_capget, sys_capset) [SYS_capget]: Likewise.
754 * util.c (printstr): Likewise.
755 (dumpiov) [HAVE_SYS_UIO_H]: Likewise.
756 (fixvfork) [SUNOS4]: Likewise.
757 * desc.c (decode_select): Continue to decode syscall arguments
758 in case of OOM condition.
759 * file.c (sys_getdents): Likewise.
760 (sys_getdents64) [_LFS64_LARGEFILE]: Likewise.
761 (sys_getdirentries) [FREEBSD]: Likewise.
762 * mem.c (sys_mincore): Changed type of variables which deal with
763 malloc size from int to unsigned long.
Roland McGrathe35109a2005-06-08 18:03:12 +0000764 Fixes RH#159308.
Roland McGrathe8c6eec2005-06-01 18:56:03 +0000765
Roland McGratha6ef1a32005-06-01 18:57:27 +00007662005-05-22 Dmitry V. Levin <ldv@altlinux.org>
767
768 * bjm.c [LINUX]: Do not include <linux/linkage.h>. It is not
769 safe to include kernel headers, and this one is not used anyway.
770 Fixes RH#158488.
771
Roland McGrathe776e3e2005-05-26 23:21:13 +00007722005-05-26 Roland McGrath <roland@redhat.com>
773
774 * system.c (sys_sysctl): Check for errors accessing user pointers.
775 Use malloc instead of alloca in case size is insane.
776
Roland McGrath682291e2005-05-09 08:03:06 +00007772005-05-09 Roland McGrath <roland@redhat.com>
778
779 * configure.ac: Check for libaio.h.
780 * desc.c (sys_io_setup, sys_io_submit, sys_io_cancel,
781 sys_io_getevents, sys_io_destroy): New functions.
782 * linux/syscall.h: Declare them.
783 * linux/syscallent.h: Use those for io_* syscalls.
784 * linux/alpha/syscallent.h: Likewise.
785 * linux/hppa/syscallent.h: Likewise.
786 * linux/ia64/syscallent.h: Likewise.
787 * linux/mips/syscallent.h: Likewise.
788 * linux/powerpc/syscallent.h: Likewise.
789 * linux/s390/syscallent.h: Likewise.
790 * linux/s390x/syscallent.h: Likewise.
791 * linux/x86_64/syscallent.h: Likewise.
792 From Zach Brown <zach.brown@oracle.com>.
793 Fixes RH#155065.
794
795 * debian/control (Architecture): Add ppc64.
796 Fixes Debian bug #301089.
797
Roland McGrath05a017b2005-05-09 07:46:07 +00007982005-05-05 Anton Blanchard <anton@samba.org>
799
800 * process.c (ptrace_cmds): Add PTRACE_GETVRREGS and PTRACE_SETVRREGS
801 if defined.
802
8032005-05-09 Roland McGrath <roland@redhat.com>
804
805 * strace.c (main): Refuse negative -s argument value.
806 Fixes Debian bug #303256.
807
Roland McGrathf3b565b2005-05-09 07:40:41 +00008082005-04-25 Anton Blanchard <anton@samba.org>
809
810 * file.c (openmodes): Add O_NOATIME flag if defined.
811
8122005-04-05 Anton Blanchard <anton@samba.org>
813
814 * linux/powerpc/ioctlent.h: Regenerated.
815
816 * signal.c (signame): Don't try and dereference negative index.
817
818 * linux/powerpc/syscallent.h: Add debug_setcontext, vserver,
819 mbind, *_mempolicy, mq_*, sys_kexec_load, add_key, request_key,
820 keyctl, waitid, sys_semtimedop. Fix various other syscalls.
821
822 * ipc.c (shm_resource_flags): New variable, table has SHM_HUGETLB
823 but not IPC_NOWAIT, which have the same value.
824 (sys_shmget): Use that instead of resource_flags.
825
Roland McGratha3734a92005-03-22 23:13:24 +00008262005-03-22 Roland McGrath <roland@redhat.com>
827
Roland McGrathe1f1e572005-03-23 03:19:02 +0000828 * desc.c (decode_select): Increase local buffer size.
829 Fixes RH#151570.
830
Roland McGratha3734a92005-03-22 23:13:24 +0000831 * configure.ac, NEWS: Version 4.5.11.
832 * debian/changelog, strace.spec: 4.5.11-1.
833
834 * linux/arm/syscallent.h: Fix 113 entry (syscall, not vm86old).
835
Roland McGrath3181c512005-03-15 02:40:23 +00008362005-03-14 Roland McGrath <roland@redhat.com>
837
838 * configure.ac, NEWS: Version 4.5.10.
839 * debian/changelog, strace.spec: 4.5.10-1.
840
Roland McGrath0495c932005-03-15 02:17:23 +00008412005-02-26 GOTO Masanori <gotom@debian.or.jp>
842
843 * linux/alpha/syscallent.h: Fix the reversed order of lstat64 and
844 fstat64. Clean up osf_nrecvmsg and osf_ngetsockname.
845
Roland McGrath391a4e72005-03-15 02:16:21 +00008462005-02-28 Andreas Schwab <schwab@suse.de>
847
848 * syscall.c (getrval2): Move #ifdef IA64 inside #ifdef LINUX.
849
8502005-03-14 Roland McGrath <roland@redhat.com>
851
852 * linux/mips/syscallent.h: Update various calls.
853 From Thiemo Seufer <ths@networkno.de>.
854 Fixes Debian bug #256684.
855
856 * debian/control (Architecture): Add s390.
857 Fixes Debian bug #294172.
858
Roland McGrathbfb49e52005-03-06 22:24:52 +00008592005-03-06 Roland McGrath <roland@redhat.com>
860
861 * strace.c (trace) [PTRACE_GETSIGINFO]: Fetch siginfo_t for SIGSEGV
862 and SIGBUS signals, use si_addr in output.
863
Roland McGrath4859f6c2005-03-01 23:03:11 +00008642005-03-01 Roland McGrath <roland@redhat.com>
865
866 * file.c (print_xattr_val): Add a cast.
867
Roland McGrath854694b2005-02-06 01:16:47 +00008682005-02-05 Roland McGrath <roland@redhat.com>
869
Roland McGrathb0a3d4e2005-02-06 01:55:16 +0000870 * desc.c (decode_select): Calculate size of passed fd_set vectors and
871 copy in the user's size rather than the standard sizeof(fd_set).
Roland McGrath391a4e72005-03-15 02:16:21 +0000872 Fixes Debian bug #65654, #284290.
Roland McGrathb0a3d4e2005-02-06 01:55:16 +0000873
874 * util.c (printpath, printpathn): Print NULL and don't try any fetch
875 when ADDR is zero.
876 Fixes Debian bug #63093.
877
Roland McGrath854694b2005-02-06 01:16:47 +0000878 * debian/control (Build-Depends): Fix for s390 and sparc.
879 From Bastian Blank <waldi@debian.org>.
880 Fixes Debian bug #293564.
881
8822004-12-19 Dmitry V. Levin <ldv@altlinux.org>
883
884 * strace.c (main) [!USE_PROCFS]: In child process, raise SIGSTOP
885 right before execv() call. Remove fake_execve() call.
886 * defs.h (fake_execve): Remove unused declaration.
887 * process.c (fake_execve): Remove unused function.
888 Fixes RH#143365.
889
Roland McGrath55f23e72005-02-04 09:29:11 +00008902005-02-04 Roland McGrath <roland@redhat.com>
891
892 * configure.ac, NEWS: Version 4.5.9.
Roland McGrath0c6c17b2005-02-04 09:54:16 +0000893 * debian/changelog, strace.spec: 4.5.9-2.
Roland McGrath55f23e72005-02-04 09:29:11 +0000894
Roland McGrath1e834482005-02-04 09:50:24 +0000895 * file.c (O_LARGEFILE): Omit when #undef'd because it was zero.
896
Roland McGrath94098ef2005-02-02 20:25:36 +00008972005-02-02 Roland McGrath <roland@redhat.com>
898
Roland McGrath026bdab2005-02-03 03:19:43 +0000899 * debian/control: Add strace-udeb package for installer debugging.
900 * debian/rules (binary-arch): Build it.
901 From Joshua Kwan <joshk@triplehelix.org>.
902 Fixes Debian bug #268294.
903
Roland McGrathd08b2f02005-02-02 22:11:37 +0000904 * file.c (openmodes) [O_LARGEFILE] [O_LARGEFILE == 0]: Redefine to
905 known values for Linux.
906
Roland McGrath84219e12005-02-02 20:55:27 +0000907 * util.c (printcall): Print 16 ?s when long is 8 bytes.
908 Fixes RH#146932.
909
Roland McGrath3cad4a62005-02-02 20:32:37 +0000910 * linux/sparc/syscall.h: Declare sys_epoll_create, sys_epoll_ctl,
911 sys_epoll_wait.
912 * linux/sparc64/syscall.h: Just #include "../sparc/syscall.h" here.
913 * ioctl.c (nioctlents2): Add const to type.
914 Fixes Debian bug #278449.
915
Roland McGrath94098ef2005-02-02 20:25:36 +0000916 * sock.c (iffflags): New variable, table of IFF_* values.
917 (print_addr): New function.
918 (sock_ioctl): Handle SIOCGIFADDR, SIOCGIFDSTADDR, SIOCGIFBRDADDR,
919 SIOCGIFNETMASK, SIOCGIFFLAGS, SIOCGIFMETRIC, SIOCGIFMTU, SIOCGIFSLAVE,
920 SIOCGIFHWADDR. Use print_addr for SIOCGIFCONF, SIOCGIFNAME, and
921 SIOCGIFINDEX, and fix their output.
922 From Ulrich Drepper <drepper@redhat.com>.
923 Fixes RH#138223.
Roland McGrath1967a132005-02-02 20:45:37 +0000924 Fixes Debian bug #192164.
Roland McGrath94098ef2005-02-02 20:25:36 +0000925
Roland McGrathac6b7bb2005-02-02 04:42:56 +00009262004-12-20 Dmitry V. Levin <ldv@altlinux.org>
927
Roland McGrath9d721f22005-02-02 04:45:09 +0000928 * configure.ac: Use AC_GNU_SOURCE macro instead of changing CFLAGS.
929 * defs.h [HAVE_CONFIG_H]: Include config.h first.
930 * strace.c: Include "defs.h" first.
931 Fixes RH#143370.
932
Roland McGrathac6b7bb2005-02-02 04:42:56 +0000933 * syscall.c (call_summary): Fix potential NULL dereference.
934 Fixes RH#143369.
935
Roland McGrathdd9efd82005-02-02 04:40:36 +00009362004-12-19 Dmitry V. Levin <ldv@altlinux.org>
937
938 * syscall.c (qual_signal): Check bounds for numeric signal names.
939 Fix parser of symbolic signal names.
940 Fix return code, as required by qualify() function.
941 * syscall.c (qual_desc): Check bounds for descriptor number.
942 * syscall.c (qual_syscall): Correct return code, to be consistent
943 with qualify() and other qual_* functions.
944 Fixes RH#143362.
945
Roland McGrath1b3ca102005-02-02 02:49:03 +00009462005-02-01 Roland McGrath <roland@redhat.com>
947
Roland McGrath0dfeed62005-02-02 04:36:38 +0000948 * system.c [LINUX] (MS_MANDLOCK, MS_NOATIME, MS_NODIRATIME, MS_BIND,
949 MS_MOVE, MS_REC, MS_VERBOSE, MS_POSIXACL, MS_ACTIVE, MS_NOUSER):
950 New macros.
951 [LINUX] (mount_flags): Add them.
952 [LINUX] (sys_mount): If any of (MS_BIND|MS_MOVE|MS_REMOUNT) bits are
953 set in the flags argument, don't try to fetch the filesystem string.
954 Fixes RH#141932.
955
Roland McGrathdc26fff2005-02-02 04:19:19 +0000956 * config.guess: Update from canonical version, timestamp 2004-11-12.
957 * config.sub: Likewise, timestamp 2004-11-30.
958
Roland McGrathb2ba50b2005-02-02 04:16:58 +0000959 * process.c [LINUX] [X86_64] (sys_arch_prctl): New function.
960 * linux/syscall.h: Declare it.
961 * linux/x86_64/syscallent.h: Use it.
962 Part of RH#142667.
963
964 * process.c (sys_sched_setscheduler): Use %#lx format for bad pointer.
965 (sys_sched_getparam, sys_sched_setparam): Likewise.
966 Part of RH#142667.
967
968 * signal.c [HAVE_SIGACTION] [LINUX && X86_64] (SA_RESTORER): Define
969 here too.
970 Part of RH#142667.
971
972 * linux/syscallent.h: Use sys_mincore instead of printargs.
973 * linux/x86_64/syscallent.h: Likewise. Also use sys_getrlimit,
974 sys_semtimedop, sys_umount2.
975 Part of RH#142667.
976
Roland McGrath28eace82005-02-02 03:51:22 +0000977 * syscall.c (qual_signal): Fix inverted return value and bogus
978 argument to qualify_one in the named case.
979
Roland McGrath5f221c32005-02-02 03:38:49 +0000980 * file.c (print_xattr_val): Don't use auto array sized by syscall
981 argument. Use malloc instead, so it can fail for insane values.
982 Fixes Debian bug #283704.
983
Roland McGrath53962332005-02-02 03:11:43 +0000984 * net.c (sys_getsockopt): Fix a format %ld -> %d.
985
986 * linux/syscall.h [IA64] (SYS_semtimedop): #undef it.
987
Roland McGrathbc484bd2005-02-02 03:07:24 +0000988 * syscall.c (syscall_enter) [X86_64]: Fix 32-bit argument register map
989 not to double the middle entry!
990 Fixes RH#146093.
991
Roland McGrath6722dcf2005-02-02 02:54:35 +0000992 * linux/x86_64/syscallent.h: Fix exit_group entry.
993
Roland McGrath1b3ca102005-02-02 02:49:03 +0000994 * util.c (getpc) [S390 || S390X]: Implement it.
995 Patch by David Wilder <wilder@us.ibm.com>.
996
997 * linux/ia64/syscallent.h: Add fadvise64, fstatfs64, statfs64, mbind,
998 [gs]et_mempolicy, mq_*, sys_kexec_load, vserver, and waitid.
999 Fixes RH#146245.
1000
10012005-01-22 Andreas Schwab <schwab@suse.de>
1002
1003 * net.c (sys_getsockopt): Change type of len to int.
1004
Roland McGrath914f3aa2004-10-19 23:00:14 +000010052004-10-19 Roland McGrath <roland@redhat.com>
1006
Roland McGrathb0756892004-10-20 02:17:58 +00001007 * configure.ac, NEWS: Version 4.5.8.
1008 * debian/changelog, strace.spec: 4.5.8-1.
1009
Roland McGrathbe4eeb92004-10-20 02:24:28 +00001010 * file.c (sys_fadvise64): Conditionalize just on [LINUX].
1011
Roland McGrathb0756892004-10-20 02:17:58 +00001012 * configure.ac: Check for sys/epoll.h.
1013 * desc.c: Protect #include <sys/epoll.h> with [HAVE_SYS_EPOLL_H].
1014 (epollctls, epollevents): Protect each entry with #ifdef on its macro.
1015
Roland McGrathe26a3782004-10-20 02:04:19 +00001016 * strace.c (handle_group_exit): Don't detach leader that wasn't
1017 TCB_ATTACHED. Instead mark it with TCB_GROUP_EXITING.
1018 Remove droptcb loop at end, no longer required since 2.6 reports each
1019 thread death.
1020 Fixes RH#135254.
1021
Roland McGrath712bc7a2004-10-20 01:00:45 +00001022 * strace.c (trace): Use handle_group_exit for non-TCB_ATTACHED child
1023 taking signal when it has nclone_threads > 0.
1024
Roland McGrath712bc7a2004-10-20 01:00:45 +00001025 * strace.c (handle_group_exit, trace): Mark leader with
1026 TCB_GROUP_EXITING and don't be surprised at child deaths when their
1027 leader has it set.
1028 Fixes RH#132150.
1029
Roland McGrath223a3ff2004-10-19 23:33:53 +00001030 * process.c (WCOREFLAG): Define if not defined.
1031 (W_STOPCODE, W_EXITCODE): Likewise.
1032 Reported by Marty Leisner <mleisner@eng.mc.xerox.com>.
1033
1034 * sock.c [! LINUX]: Include <sys/socket.h> before <sys/sockio.h>.
1035 Reported by Marty Leisner <mleisner@eng.mc.xerox.com>.
1036
1037 * debian/rules: Make strace64.1.gz symlink to strace.1.gz instead of
1038 strace64.1 to strace.1, which doesn't exist.
1039 Fixes Debian bug #269220.
1040
10412004-09-05 Phil Blundell <pb@nexus.co.uk>
1042
1043 * linux/arm/syscallent.h: New file.
1044
10452004-10-19 Roland McGrath <roland@redhat.com>
1046
1047 * debian/rules (DEB_BUILD_GNU_TYPE, CONFIG_OPTS): New variables.
1048 [$(DEB_HOST_GNU_TYPE) == s390-linux] (build64, HOST64, CC64): Set them.
1049 (build/Makefile): Use $(CONFIG_OPTS).
1050 (build64/Makefile): Pass --host as well as --build.
1051 From Bastian Blank <waldi@debian.org>.
1052 Fixes Debian bug #271500.
1053
1054 * linux/hppa/syscallent.h: Update for 2.6.9 syscalls.
1055 From Randolph Chung <tausq@debian.org>
1056 Fixes Debian bug #273887.
1057
Roland McGrath914f3aa2004-10-19 23:00:14 +00001058 * file.c (sys_llseek): Revert last change.
1059
Roland McGrath223a3ff2004-10-19 23:33:53 +000010602004-09-14 Richard Henderson <rth@twiddle.net>
1061
1062 * linux/alpha/syscallent.h: Add tgkill, *stat64, vserver, mbind,
1063 [gs]et_mempolicy, mq_*, waitid.
1064
Roland McGrath51f9ac02004-10-07 18:51:22 +000010652004-10-07 Roland McGrath <roland@redhat.com>
1066
Roland McGrath0aa53f62004-10-07 19:09:23 +00001067 * file.c (sys_llssek, sys_readahead, sys_fadvise64, sys_fadvise64_64):
1068 Use LONG_LONG macro.
1069 * io.c (sys_pread, sys_pwrite, sys_sendfile): Likewise.
1070
Roland McGrath61b324b2004-10-07 18:59:13 +00001071 * linux/x86_64/syscallent.h: Fix botched table entries.
1072 From Ulrich Drepper <drepper@redhat.com>.
1073
Roland McGrathaa08d712004-10-07 18:53:17 +00001074 * mem.c [LINUX] (sys_mbind, sys_set_mempolicy, sys_get_mempolicy):
1075 New functions.
1076 * linux/syscall.h: Declare them.
1077 * linux/x86_64/syscallent.h: Likewise.
Roland McGrath61b324b2004-10-07 18:59:13 +00001078 From Ulrich Drepper <drepper@redhat.com>.
1079
Roland McGrathaa08d712004-10-07 18:53:17 +00001080 * linux/syscallent.h: Handle mbind, set_mempolicy, get_mempolicy.
1081 From Ulrich Drepper <drepper@redhat.com>.
1082
Roland McGrath51f9ac02004-10-07 18:51:22 +00001083 * file.c [LINUX && (I386 || X86_64)] (sys_fadvise64, sys_fadvise64_64):
1084 New functions.
1085 * linux/syscall.h: Declare them.
1086 * linux/syscallent.h: Handle fadvise64 and fadvise64_64 using those.
Roland McGrathaa08d712004-10-07 18:53:17 +00001087 * linux/x86_64/syscallent.h: Likewise.
Roland McGrath51f9ac02004-10-07 18:51:22 +00001088 From Ulrich Drepper <drepper@redhat.com>.
1089
Roland McGrath2af128b2004-10-06 22:32:04 +000010902004-09-13 Dmitry V. Levin <ldv@altlinux.org>
1091
1092 * linux/ioctlsort.c (main): Omit duplicate lines
1093 (with same name and code) from output.
1094 * linux/ioctlent.sh: Build the list of ioctls defined in
1095 scsi/sg.h (0x22..), scsi/scsi.h and scsi/scsi_ioctl.h (0x53..),
1096 as suggested by Peter Jones <pjones@redhat.com>
1097 * linux/ioctlent.h: Regenerated.
1098 Fixes RH#129808.
1099
Roland McGrath79367f82004-10-06 22:28:17 +000011002004-09-13 Ulrich Drepper <drepper@redhat.com>
1101 Dmitry V. Levin <ldv@altlinux.org>
1102
1103 * time.c [LINUX] (print_rtc): New function, for printing rtc_time
1104 structure.
1105 [LINUX] (rtc_ioctl): New function, for parsing RTC_* ioctls.
1106 * ioctl.c [LINUX] (ioctl_decode): Call rtc_ioctl.
1107 * defs.h [LINUX]: Declare rtc_ioctl.
1108 Fixes RH#58606.
1109
Roland McGrath288a3a02004-10-06 22:12:09 +000011102004-10-06 Roland McGrath <roland@redhat.com>
1111
Roland McGrathd2553bb2004-10-06 22:23:55 +00001112 * desc.c [LINUX] (sys_epoll_create, sys_epoll_ctl, sys_epoll_wait):
1113 New functions.
1114 * linux/syscall.h: Declare them.
1115 * linux/syscallent.h: Use those for epoll_* syscalls.
1116 * linux/alpha/syscallent.h: Likewise.
1117 * linux/hppa/syscallent.h: Likewise.
1118 * linux/ia64/syscallent.h: Likewise.
1119 * linux/powerpc/syscallent.h: Likewise.
1120 * linux/s390/syscallent.h: Likewise.
1121 * linux/s390x/syscallent.h: Likewise.
1122 * linux/sparc/syscallent.h: Likewise.
1123 * linux/sparc64/syscallent.h: Likewise.
1124 * linux/sparc64/syscallent2.h: Likewise.
1125 * linux/x86_64/syscallent.h: Likewise.
1126 From Ulrich Drepper <drepper@redhat.com>.
1127 Fixes RH#134463.
1128
Roland McGrath2803d102004-10-06 22:15:18 +00001129 * resource.c (resources): Add RLIMIT_LOCKS, RLIMIT_SIGPENDING,
1130 and RLIMIT_MSGQUEUE, if defined.
1131 From Ulrich Drepper <drepper@redhat.com>.
1132 Fixes RH#133594.
1133
Roland McGrath288a3a02004-10-06 22:12:09 +00001134 * net.c [HAVE_SENDMSG] (printcmsghdr): New function.
1135 (printmsghdr): Use it.
Roland McGrath2803d102004-10-06 22:15:18 +00001136 From Ulrich Drepper <drepper@redhat.com>.
1137 Fixes RH#131689.
Roland McGrath288a3a02004-10-06 22:12:09 +00001138
1139 * file.c (sprintmode): Add const to return type.
1140 (sprintfstype): Likewise.
1141 * signal.c (printsiginfo): Add a const.
1142
Roland McGrath4455b1d2004-10-06 22:03:22 +000011432004-09-15 Roland McGrath <roland@redhat.com>
1144
1145 * linux/x86_64/syscallent.h: Use sys_waitid.
1146
1147 * linux/syscallent.h: waitid takes 5 arguments, and is in TP category.
1148 * process.c (sys_waitid): Handle fifth argument (struct rusage *).
1149
Roland McGrath813b8af2004-09-11 08:13:27 +000011502004-09-11 Roland McGrath <roland@redhat.com>
1151
1152 * time.c (sys_clock_nanosleep): Print zero flags arg correctly.
1153 (sys_timer_settime): Likewise.
1154 (printsigevent): Print signals by name for SIGEV_SIGNAL.
1155 (sys_timer_create): Print clock ID symbolically.
1156 From Ulrich Drepper <drepper@redhat.com>.
1157 Fixes RH#131420.
1158
Michal Ludvig51d1ebc2004-09-07 14:06:03 +000011592004-09-07 Michal Ludvig <mludvig@suse.cz>
1160
1161 * defs.h (nioctlents1, nsignals2): Fix typos in decls.
1162
Roland McGrath4ee6e692004-09-04 03:39:26 +000011632004-09-03 Roland McGrath <roland@redhat.com>
1164
Roland McGrathce361382004-09-04 04:20:49 +00001165 * syscall.c (qual_options): Add const to defn.
1166 Update all uses.
1167 (call_count, error_count, tv_count): Variables removed.
1168 (struct call_counts, counts): New type and variable.
1169 Update all users of the old three to use the new array of structs.
1170 (trace_syscall): Allocate counts on first use.
1171 (sorted_count): Variable removed.
1172 (call_summary): Allocate locally.
1173
Roland McGrath77019f72004-09-04 03:53:18 +00001174 * syscall.c (sysent0, sysent1, sysent2, sysent): Add const to defn.
1175 (nsyscalls0, nsyscalls1, nsyscalls2): Likewise.
1176 (errnoent0, errnoent1, errnoent2, errnoent): Likewise.
1177 (nerrnos0, nerrnos1, nerrnos2): Likewise.
1178 * signal.c (signalent0, signalent1, signalent2): Likewise.
1179 (nsignals0, nsignals1, nsignals2): Likewise.
1180 (signame): LIkewise.
1181 * ioctl.c (ioctlent0, ioctlent1, ioctlent2): Likewise.
1182 (nioctlents0, nioctlents1, nioctlents2): Likewise.
1183 (ioctl_lookup, ioctl_next_match): Likewise.
1184 * defs.h: Update decls.
1185 * io.c (sys_ioctl): Update users.
1186
Roland McGrath4ee6e692004-09-04 03:39:26 +00001187 * util.c (xlookup, printxval, addflags, printflags): Use const for
1188 struct xlat * argument.
1189 * defs.h (xlookup, printxval, addflags, printflags): Update decls.
1190 * bjm.c: Add const to all struct xlat defns.
1191 * desc.c: Likewise.
1192 * file.c: Likewise.
1193 * ipc.c: Likewise.
1194 * mem.c: Likewise.
1195 * net.c: Likewise.
1196 * proc.c: Likewise.
1197 * process.c: Likewise.
1198 * resource.c: Likewise.
1199 * signal.c: Likewise.
1200 * sock.c: Likewise.
1201 * stream.c: Likewise.
1202 * system.c: Likewise.
1203 * term.c: Likewise.
1204 * time.c: Likewise.
1205 * util.c: Likewise.
1206
Roland McGrathb036f582004-09-01 19:39:59 +000012072004-09-01 Roland McGrath <roland@redhat.com>
1208
1209 * linux/x86_64/syscallent.h: Add new entries for timer_*, clock_*, and
1210 mq_* syscalls, and names only for new calls up to 252.
1211 * linux/syscallent.h: Add waitid.
1212 * linux/x86_64/syscallent.h: Likewise.
1213 * linux/syscall.h: Declare sys_waitid.
1214
1215 * process.c (internal_wait): Take second arg giving index of flags
1216 argument.
1217 * defs.h: Update prototype.
1218 * syscall.c (internal_syscall): Update caller.
1219 Also use internal_wait for SYS_waitid.
1220 * process.c (sys_waitid): Define for [LINUX] as well.
1221 Don't tweak TCB_SUSPENDED--internal_wait does that.
1222 (waitid_types): Conditionalize use of nonstandard P_* macros.
1223
Roland McGrath1651c1c2004-08-31 07:16:21 +000012242004-08-31 Roland McGrath <roland@redhat.com>
1225
Roland McGrath0ef93b72004-08-31 08:17:26 +00001226 * configure.ac, NEWS: Version 4.5.7.
Roland McGrathb036f582004-09-01 19:39:59 +00001227 * debian/changelog: 4.5.7-1.
1228 * strace.spec: 4.5.7-2.
Roland McGrath0ef93b72004-08-31 08:17:26 +00001229
Roland McGrathf5fcbc12004-08-31 08:41:59 +00001230 * debian/rules: Rewrite sparc64 change of 2004-07-12.
1231 Always do each build in a separate build directory.
Roland McGrath0ef93b72004-08-31 08:17:26 +00001232 Fixes Debian bug #254728.
1233
Roland McGrathf5fcbc12004-08-31 08:41:59 +00001234 * time.c (clocknames): Use #ifdef around CLOCK_* uses.
1235
Roland McGrathdc025fa2004-08-31 07:48:03 +00001236 * strace.1: Say that -c shows system CPU time, not real time.
1237 Fixes Debian bug #254438.
1238
1239 * syscall.c (dumpio): Match pread and pwrite system calls too.
1240 Fixes Debian bug #239947.
1241
Roland McGrath1651c1c2004-08-31 07:16:21 +00001242 * net.c (sockoptions): Add all SO_* macros known in Linux 2.6.9.
1243 Fixes Debian bug #171653.
1244
Roland McGrath8e593d22004-08-31 07:03:43 +000012452004-07-12 Dmitry V. Levin <ldv@altlinux.org>
1246
1247 * signal.c [LINUX] (parse_sigset_t): Fix hex strings parser.
1248 Fixes RH#128091.
1249
Roland McGratha0b9ef12004-08-31 06:30:51 +000012502004-08-30 Roland McGrath <roland@redhat.com>
1251
Roland McGrath0a053252004-08-31 07:02:00 +00001252 * strace.c (main): Don't call fake_execve under -c.
1253 From Ulrich Drepper <drepper@redhat.com>.
1254 Fixes RH#129166.
1255
1256 * net.c (sockipoptions): Add some options.
1257 [SOL_IPV6] (sockipv6options): New variable.
1258 (sys_getsockopt, printsockopt): Use it for SOL_IPV6 level.
1259 From Ulrich Drepper <drepper@redhat.com>.
1260 Fixes RH#128391.
1261
Roland McGrath7fbbf022004-08-31 06:52:49 +00001262 * time.c (clocknames): New variable, symbolic names for clock_t.
1263 (sys_clock_settime, sys_clock_gettime, sys_clock_nanosleep): Use it.
1264 From Ulrich Drepper <drepper@redhat.com>.
1265 Fixes RH#129378.
1266
Roland McGrath3a71f192004-08-31 06:49:09 +00001267 * system.c (personality_options): Hard-code values here.
1268 Don't #include <linux/personality.h> at all.
Roland McGrath1651c1c2004-08-31 07:16:21 +00001269 Fixes RH#130965 and Debian bug #40588.
Roland McGrath3a71f192004-08-31 06:49:09 +00001270
Roland McGratha0b9ef12004-08-31 06:30:51 +00001271 * file.c (print_xattr_val): New function to show attribute values.
1272 (sys_setxattr, sys_fsetxattr, sys_getxattr, sys_fgetxattr): Use it.
1273 From Ulrich Drepper <drepper@redhat.com>.
1274 Fixes RH#131177.
1275
Roland McGrath90a5a942004-07-12 07:04:55 +000012762004-07-12 Roland McGrath <roland@redhat.com>
1277
Roland McGrathd51619a2004-07-12 07:56:00 +00001278 * configure.ac, NEWS: Version 4.5.6.
1279 * strace.spec, debian/changelog: 4.5.6-1.
1280
Roland McGrath05cf2952004-07-12 07:54:09 +00001281 * Makefile.am (EXTRA_DIST): Add linux/sparc64 files.
1282
1283 * debian/rules: On sparc-linux, build strace64 as well.
1284 From Ben Collins <bcollins@debian.org>.
1285 Fixes Debian bug #254728.
1286
12872004-07-07 David S. Miller <davem@nuts.davemloft.net>
1288
1289 * linux/sparc/syscallent.h: Sync with reality.
1290 * linux/sparc/syscall.h (sys_sendfile64, sys_futex, sys_gettid,
1291 sys_sched_setaffinity, sys_sched_getaffinity, sys_setxattr,
1292 sys_lsetxattr, sys_fsetxattr, sys_getxattr, sys_lgetxattr,
1293 sys_fgetxattr, sys_listxattr, sys_llistxattr, sys_flistxattr,
1294 sys_removexattr, sys_lremovexattr, sys_fremovexattr,
1295 sys_remap_file_pages, sys_readahead, sys_tgkill, sys_statfs64,
1296 sys_fstatfs64, sys_clock_settime, sys_clock_gettime,
1297 sys_clock_getres, sys_clock_nanosleep, sys_timer_create,
1298 sys_timer_settime, sys_timer_gettime): New declarations.
1299 * linux/sparc64/dummy2.h, linux/sparc64/syscallent2.h,
1300 linux/sparc64/syscall.h, linux/sparc64/errnoent.h,
1301 linux/sparc64/errnoent1.h, linux/sparc64/errnoent2.h,
1302 linux/sparc64/ioctlent.h, linux/sparc64/ioctlent1.h,
1303 linux/sparc64/ioctlent2.h, linux/sparc64/signalent.h,
1304 linux/sparc64/signalent.h, linux/sparc64/signalent.h,
1305 linux/sparc64/signalent1.h, linux/sparc64/signalent2.h,
1306 linux/sparc64/syscall1.h, linux/sparc64/syscallent.h,
1307 linux/sparc64/syscallent1.h: New files.
1308 * defs.h (LINUXSPARC): Define also when SPARC64.
1309 (LINUX && SPARC64): Set SUPPORTED_PERSONALITIES to 3.
1310 Ignore SIGTRAP after execve by defining TCB_WAITEXECVE.
1311 Define possibly missing __NR_exit_group. Declare getrval2.
1312 * configure.ac (sparc64): New architecture case.
1313 * file.c (stat_sparc64): New structure.
1314 (printstat_sparc64): New output routine for that.
1315 (printstat): Call it, if personality is 2.
1316 (printstat64): Likewise.
1317 * util.c: Conditionalize ptrace defines on LINUXSPARC
1318 not LINUX && SPARC.
1319 (SPARC64 && LINUX): Define r_pc to r_tpc, and PTRACE_FOOREGS
1320 to PTRACE_FOOREGS64 so that more sparc code can be shared
1321 between 64-bit and 32-bit.
1322 (_hack_syscall5): Correct trap number when SPARC64.
1323 (PTRACE_WRITE{TEXT,DATA}): Add SPARC64 to ifdef guard.
1324 (getpc): Handle SPARC64 && LINUX.
1325 (printcall): Likewise.
1326 (arg fetching/setting): Use same code for SPARC64 LINUX
1327 as for SPARC.
1328 (setbpt): Handle SPARC64 && LINUX.
1329 (clearbpt): Likewise.
1330 * signal.c: Conditionalize ptrace defines on SPARC and
1331 SPARC64.
1332 (SPARC64 && LINUX): Define r_pc to r_tpc, and PTRACE_FOOREGS
1333 to PTRACE_FOOREGS64 so that more sparc code can be shared
1334 between 64-bit and 32-bit.
1335 (m_siginfo): Use same definition on SPARC64 as SPARC.
1336 (sys_sigreturn): Handle LINUX && SPARC64.
1337 * syscall.c: Conditionalize ptrace defines on SPARC and
1338 SPARC64.
1339 (SPARC64 && LINUX): Define r_pc to r_tpc, and PTRACE_FOOREGS
1340 to PTRACE_FOOREGS64 so that more sparc code can be shared
1341 between 64-bit and 32-bit.
1342 (getscno): Use same static state on SPARC64 as SPARC,
1343 and add SPARC64 handling.
1344 (get_error): Handle LINUX && SPARC64.
1345 (force_result): Likewise.
1346 (syscall_enter): Likewise.
1347 (trace_syscall): Handle sys_socketcall and sys_ipc on SPARC64
1348 just like SPARC.
1349 (getrval2): Handle LINUX && SPARC64.
1350 * process.c: Conditionalize ptrace defines on SPARC and
1351 SPARC64.
1352 (SPARC64 && LINUX): Define r_pc to r_tpc, and PTRACE_FOOREGS
1353 to PTRACE_FOOREGS64 so that more sparc code can be shared
1354 between 64-bit and 32-bit.
1355 (change_syscall): Handle LINUX && SPARC64.
1356 (struct_user_offsets): Ifdef out those which do not exist
1357 on SPARC64.
1358 * net.c (sys_pipe): Handle LINUX && SPARC64.
1359 * ioctl.c: Fix initializer typo for nioctlents2, was
1360 nioctlents1 by accident.
1361
13622004-06-28 Andreas Schwab <schwab@suse.de>
1363
1364 * process.c (internal_exec): Move TCB_WAITEXECVE handling here.
1365 (sys_execve): Remove it here.
1366
13672004-07-12 Roland McGrath <roland@redhat.com>
1368
1369 * Makefile.am (EXTRA_DIST): Add linux/sh64/syscallent.h.
1370
1371 * debian/control (Section): Move to utils, matching Debian override.
1372
Roland McGrath23e86d62004-07-12 07:13:12 +00001373 * net.c (addrfams): Make variable global.
1374 * sock.c (sock_ioctl): Decode the arguments for SIOCGIFNAME,
1375 SIOCGIFINDEX, and SIOCGIFCONF.
1376 From Ulrich Drepper <drepper@redhat.com>.
1377 Fixes RH#126917.
1378
Roland McGrath90a5a942004-07-12 07:04:55 +00001379 * linux/ioctlsort.c: Add some #includes.
1380 [POWERPC]: Kludge out high bits.
1381 * linux/ia64/ioctlent.h: Regenerated using RHEL3 headers.
1382 * linux/powerpc/ioctlent.h: Likewise.
1383
Roland McGrath16110b22004-07-12 05:45:26 +000013842004-07-11 Roland McGrath <roland@redhat.com>
1385
Roland McGrath90a5a942004-07-12 07:04:55 +00001386 * linux/ioctlent.sh: Replace asm with $asm in all places.
1387
Roland McGrath16110b22004-07-12 05:45:26 +00001388 * configure.ac: Add I386 as AM_CONDITIONAL.
1389 * Makefile.am [LINUX]: Add maintainer-mode rules to regenerate
1390 the ioctlent.h file.
1391
Roland McGrath533e52a2004-07-08 19:00:25 +000013922004-07-08 Roland McGrath <roland@redhat.com>
1393
1394 * resource.c (sys_quotactl): Truncate first argument to 32 bits, since
1395 that's what the kernel will do.
1396
13972004-07-07 Roland McGrath <roland@redhat.com>
1398
1399 * linux/ioctlent.sh: Take optional second argument to use as directory
1400 name in place of `asm'.
1401
Roland McGrath2c72f3c2004-06-28 05:24:40 +000014022004-06-27 Roland McGrath <roland@redhat.com>
1403
1404 * configure.ac, NEWS: Version 4.5.5.
1405 * strace.spec, debian/changelog: 4.5.5-1.
1406
Roland McGratha2dec922004-06-23 01:40:57 +000014072004-06-22 Roland McGrath <roland@redhat.com>
1408
1409 * syscall.c (syscall_fixup) [LINUX && X86_64]: For 32-bit process,
1410 sign extend the low 32 bits of RAX to 64 bits.
Roland McGrath7a391df2004-06-23 01:41:30 +00001411 Fixes RH#126547.
Roland McGratha2dec922004-06-23 01:40:57 +00001412
1413 * syscall.c (force_result): [LINUX && X86_64]: Fix RAX*4 -> RAX*8.
1414
Roland McGrath0c542de2004-06-04 02:25:12 +000014152004-06-03 Roland McGrath <roland@redhat.com>
1416
Roland McGrath66a77f12004-06-04 02:36:03 +00001417 * configure.ac, NEWS: Version 4.5.4.
1418 * strace.spec, debian/changelog: 4.5.4-1.
1419
Roland McGrath0c542de2004-06-04 02:25:12 +00001420 * net.c (domains): Add many PF_* values #ifdef PF_*.
1421 (addrfams): Add many AF_* values #ifdef AF_*.
1422 Fixes Debian bug #250506.
1423
Roland McGrath337d3912004-06-04 02:03:15 +000014242004-05-02 Dmitry V. Levin <ldv@altlinux.org>
1425
1426 * linux/ioctlsort.c (compare): When ioctl codes equal, compare
1427 names.
1428 (main): Print a note that program output is generated by
1429 ioctlsort.
1430 * linux/ioctlent.sh: Build the list of ioctls defined in
1431 linux/fb.h (0x46..), linux/kd.h (0x4B..), linux/cdrom.h (0x53..),
1432 asm/ioctls.h (0x54..), linux/vt.h (0x56..), linux/videotext.h
1433 (0x71..), linux/videotext.h (0x72..), asm/sockios.h (0x89..),
1434 linux/sockios.h (0x89..), linux/wireless.h (0x8B..).
1435 * linux/ioctlent.h: Regenerated from linux-2.6.5.
1436 Fixes RH#122257.
1437
Roland McGrath6d52da62004-06-04 01:50:53 +000014382004-06-03 Roland McGrath <roland@redhat.com>
1439
Roland McGrathe01b8ce2004-06-04 02:01:54 +00001440 * debian/control (Architecture): Add amd64.
1441 Fixes Debian bug #246568.
1442
Roland McGrath6d52da62004-06-04 01:50:53 +00001443 * strace.c (main) [LINUX]: Expand TCBTAB as necessary for threads
1444 attached. Attach threads only under -f. Set TCB_FOLLOWFORK in them.
1445 (expand_tcbtab): New function, broken out of ...
1446 * process.c (fork_tcb): ... here, call that.
1447 * defs.h: Declare expand_tcbtab.
1448
Roland McGrath25e82592004-06-04 01:24:12 +000014492004-04-19 Roland McGrath <roland@redhat.com>
1450
1451 * process.c (printstatus): Add a space before | in output.
1452
Roland McGrathea2402e2004-04-16 22:28:48 +000014532004-04-16 Roland McGrath <roland@redhat.com>
1454
1455 * configure.ac: Version 4.5.3.
1456 * strace.spec, debian/changelog: 4.5.3-1.
1457
Roland McGrath025442c2004-04-16 21:59:05 +000014582004-03-18 Dmitry V. Levin <ldv@altlinux.org>
1459
1460 * resource.c (sys_quotactl) [LINUX]: Cast arithmetic shift operand
1461 from long to unsigned long, to fix output of the quotactl command
1462 parser.
Roland McGrathea2402e2004-04-16 22:28:48 +00001463 Fixes RH#118694.
Roland McGrath025442c2004-04-16 21:59:05 +00001464
Roland McGrath8d1bf3c2004-04-16 21:48:43 +000014652004-04-16 Roland McGrath <roland@redhat.com>
1466
Roland McGrath025442c2004-04-16 21:59:05 +00001467 * linux/s390/ioctlent.h, linux/s390x/ioctlent.h: Update DASD ioctls.
1468 From Maxim Shchetynin <maxim@de.ibm.com>.
1469
Roland McGrath8d1bf3c2004-04-16 21:48:43 +00001470 * configure.ac: Check for <mqueue.h>.
1471 * ipc.c (sys_mq_open, printmqattr) [! HAVE_MQUEUE_H]: Don't try to
1472 decode struct mq_attr.
Roland McGrath6508d332004-04-16 21:54:59 +00001473 * NEWS: Mention mq support.
Roland McGrath8d1bf3c2004-04-16 21:48:43 +00001474
1475 * linux/syscall.h: Support new mq_* syscalls on Linux.
1476 * linux/syscallent.h: Likewise.
1477 * linux/dummy.h: Likewise.
1478 * ipc.c: Likewise.
1479 * time.c (printsigevent): Handle SIGEV_THREAD.
1480 From Ulrich Drepper <drepper@redhat.com>.
1481 Fixes RH#120701.
1482
Roland McGrath6421d632004-04-14 02:46:35 +000014832004-04-13 Roland McGrath <roland@redhat.com>
1484
Roland McGrath085bae12004-04-14 02:54:02 +00001485 * net.c (msg_flags): Grok MSG_FIX, MSG_SYN, MSG_RST, MSG_NOSIGNAL,
1486 MSG_MORE.
1487 From Ulrich Drepper <drepper@redhat.com>.
1488 Fixes RH#120541.
1489
Roland McGrath6421d632004-04-14 02:46:35 +00001490 * process.c (printstatus): Mask out bits presented symbolically, and
1491 print "| 0xnnn" if the remaining bits are not all zero.
1492 Fixes Debian bug #240062.
1493
1494 * process.c (print_affinitylist): Rewritten to handle indirect values.
1495 (sys_sched_setaffinity, sys_sched_getaffinity): Update callers.
1496 From Ulrich Drepper <drepper@redhat.com>.
1497 Fixes RH#118685.
1498
1499 * acinclude.m4: Quote first argument to AC_DEFUN in all cases.
1500
Roland McGrath74dcbd82004-04-09 00:25:47 +000015012004-04-08 Roland McGrath <roland@redhat.com>
1502
1503 * strace.c (main) [LINUX]: When attaching for -p, look in
1504 /proc/PID/task for all threads and attach them as presumed
1505 CLONE_THREAD children.
1506 * NEWS: Mention the feature.
Roland McGrath085bae12004-04-14 02:54:02 +00001507 Fixes RH#120462.
Roland McGrath74dcbd82004-04-09 00:25:47 +00001508
Roland McGrath2d1ecca2004-03-02 08:07:20 +000015092004-03-02 Roland McGrath <roland@redhat.com>
1510
Roland McGrath6835f232004-03-02 08:50:47 +00001511 * util.c (setbpt): Fix one missed spot to use new arg0_index macro.
1512 From Michael Holzheu <HOLZHEU@de.ibm.com>.
1513
Roland McGrath2d1ecca2004-03-02 08:07:20 +00001514 * debian/control (Standards-Version): Update to 3.6.1.
1515
Roland McGrath861dc142004-03-01 20:57:16 +000015162004-03-01 Roland McGrath <roland@redhat.com>
1517
Roland McGrath801bf1f2004-03-02 06:38:40 +00001518 * configure.ac, NEWS: Version 4.5.2.
Roland McGrathea2402e2004-04-16 22:28:48 +00001519 * strace.spec, debian/changelog: 4.5.2-1.
Roland McGrath801bf1f2004-03-02 06:38:40 +00001520
Roland McGrath30423402004-03-02 06:54:57 +00001521 * strace.c (main): Avoid potential buffer overruns from ludicrous
1522 arguments or PATH values.
1523 * syscall.c (qual_signal): Bail out for too-long string.
1524
Roland McGrath59aea572004-03-02 06:17:11 +00001525 * mem.c [LINUX]: <asm/mman.h> -> <linux/mman.h>
Roland McGrath5586f9a2004-03-02 06:23:08 +00001526 Fixes Debian bug #223207.
Roland McGrath59aea572004-03-02 06:17:11 +00001527
1528 * linux/sparc/syscall.h: Copy linux/syscall.h decls of sys_sched_*.
Roland McGrath8f30c1d2004-03-02 06:09:35 +00001529
Roland McGrath7da8ff72004-03-01 22:10:58 +00001530 * configure.ac: Check for `struct user_desc' in <asm/ldt.h>.
1531 * process.c [HAVE_STRUCT_USER_DESC]: Use struct user_desc in place of
1532 struct modify_ldt_ldt_s.
1533 * mem.c [HAVE_STRUCT_USER_DESC]: Likewise.
1534
1535 * system.c (sysctl_vm): Conditionalize VM_* macro uses, add some more.
1536 From Tim Yamin <plasmaroo@gentoo.org>.
1537
Roland McGrathce238102004-03-01 22:04:09 +00001538 * process.c (sys_execve): Clear instead of set TCB_WAITEXECVE on
1539 erring syscall.
1540
Roland McGrathe58b8a02004-03-01 21:29:31 +00001541 * configure.ac: Check for `struct pt_all_user_regs'
1542 and `struct ia64_fpreg' in <sys/ptrace.h>.
Roland McGrath4695e942004-03-01 21:31:07 +00001543 * util.c, process.c, syscall.c, signal.c: Work around conflicts between
Roland McGrathe58b8a02004-03-01 21:29:31 +00001544 <sys/ptrace.h> and <linux/ptrace.h> for defining those types.
1545
Roland McGrath4695e942004-03-01 21:31:07 +00001546 * process.c (struct_user_offsets) [LINUX && IA64]: Conditionalize
1547 PT_AR_CSD and PT_AR_SSD uses in case of older kernel headers.
1548
Roland McGrath861dc142004-03-01 20:57:16 +00001549 * util.c [LINUX] (arg0_index, arg1_index): New macros.
1550 [S390 || S390X]: Define them with inverted values.
1551 (setbpt): Use them for u_arg indices.
1552
Roland McGrath24e8d312004-03-01 20:30:51 +000015532004-02-26 Andreas Schwab <schwab@suse.de>
1554
1555 * defs.h [LINUX && IA64]: Declare getrval2 also on IA64.
1556 * net.c (sys_pipe) [LINUX && IA64]: For IA64 use the two return values.
1557 * syscall.c (getrval2) [LINUX && IA64]: Implement for IA64.
1558
Roland McGrath176ac322004-03-01 20:28:19 +000015592004-03-01 Roland McGrath <roland@redhat.com>
1560
1561 * linux/dummy.h (sys_sched_getscheduler, sys_sched_setparam,
1562 sys_sched_getparam, sys_sched_setscheduler, sys_sched_getscheduler,
1563 sys_sched_get_priority_max, sys_sched_get_priority_min): Remove macros.
1564 * process.c [LINUX] (sys_sched_getscheduler, sys_sched_setparam,
1565 sys_sched_getparam, sys_sched_setscheduler, sys_sched_getscheduler,
1566 sys_sched_get_priority_min): New functions.
1567 From Ulrich Drepper <drepper@redhat.com>.
1568 Fixes RH#116990.
1569
Roland McGrath3d3f1c92004-02-20 23:21:34 +000015702004-02-20 Roland McGrath <roland@redhat.com>
1571
1572 * linux/hppa/syscallent.h: Update some syscalls.
1573 From Randolph Chung <tausq@debian.org>.
1574 Fixes Debian bug #231632.
1575
Roland McGrathb233c262004-02-20 22:56:55 +000015762003-12-31 David Mosberger <davidm@hpl.hp.com>
1577
1578 * process.c (internal_exit): For ia64, also recognize IA-32 252
1579 as exit_group().
1580 (change_syscall): For IA64, also support changing IA-32 syscalls.
1581 * syscall.c (internal_syscall): For IA64, also recognize IA-32
1582 syscall 252 (exit_group) as an internal_exit() syscall.
1583 * util.c (SYS_fork): For IA64, define them to the IA-32 syscall
1584 number.
1585 (SYS_vfork): Likewise.
1586 (arg_setup): For IA64 version, also support IA-32 syscalls.
1587 (get_arg0): Likewise.
1588 (get_arg1): Likewise.
1589 (set_arg0): Likewise.
1590 (set_arg1): Likewise.
1591
Roland McGrath13aeab32004-02-20 02:25:42 +000015922004-02-15 Anton Blanchard <anton@samba.org>
1593
1594 * linux/powerpc/syscallent.h: Add rtas call.
1595 Shift multiplexed syscalls to start at 300, we are already about
1596 to hit 256 real syscalls.
1597 * linux/syscall.h: SYS_socket_subcall is now 300 for [POWERPC].
1598
15992004-02-19 Roland McGrath <roland@redhat.com>
1600
1601 * strace.c (main): Use TCP->pid, not PID, in -p message.
1602 Fixes Debian bug #229802.
1603
Roland McGrathec0cf0b2004-01-13 10:18:52 +000016042004-01-13 Roland McGrath <roland@redhat.com>
1605
Roland McGrath13aeab32004-02-20 02:25:42 +00001606 * syscall.c (force_result) [LINUX] [S390 || S390X]: Remove bogus upeek
1607 call.
1608
Roland McGrathec0cf0b2004-01-13 10:18:52 +00001609 * stream.c (internal_stream_ioctl): Fix typo strict -> struct.
1610 Reported by Petter Reinholdtsen <pere@hungry.com>.
1611
Roland McGrath135db892004-01-13 10:14:04 +000016122003-12-31 David Mosberger <davidm@hpl.hp.com>
1613
1614 * process.c (struct_user_offsets) [IA64]: Fix up register name list.
1615
Roland McGrath13aeab32004-02-20 02:25:42 +000016162003-12-14 Anton Blanchard <anton@samba.org>
Roland McGrath135db892004-01-13 10:14:04 +00001617
Roland McGrath75155472004-01-13 10:17:00 +00001618 * file.c (sys_getdents64): Don't cast d_ino and d_off to unsigned long.
1619 Use %llu formats for them.
1620
Roland McGrath135db892004-01-13 10:14:04 +00001621 * file.c [LINUX] (fsmagic): Add SYSFS_MAGIC.
1622
1623 * linux/powerpc/syscallent.h: Update to include recently added
1624 syscalls.
1625
1626 * syscall.c (get_error) [POWERPC]: Cast result to unsigned long for
1627 ppc64, we were misreporting syscalls that really succeeded as having
1628 failed.
1629
Roland McGrath5b7aa682004-01-13 09:52:52 +000016302004-01-13 Roland McGrath <roland@redhat.com>
1631
Roland McGrath8950c692004-01-13 10:00:01 +00001632 * strace.1: Remove comment about vfork on Linux.
1633 Fixes Debian bug #223390.
1634
Roland McGrath5b7aa682004-01-13 09:52:52 +00001635 * file.c (direnttypes): Define under [LINUX] as well. Add DT_UNKNOWN.
1636 (sys_getdents64) [LINUX]: Print d_type field.
1637
Roland McGrath13aeab32004-02-20 02:25:42 +000016382003-12-15 Dmitry V. Levin <ldv@altlinux.org>
Roland McGrath8950c692004-01-13 10:00:01 +00001639
1640 * strace.c (trace) [WCOREDUMP]: Show coredump status of the
Roland McGrath135db892004-01-13 10:14:04 +00001641 killed process if available. Fixes RH#112117.
Roland McGrath8950c692004-01-13 10:00:01 +00001642
Roland McGrathcf283032003-11-14 02:57:31 +000016432003-11-13 Roland McGrath <roland@redhat.com>
1644
1645 * configure.ac, NEWS: Version 4.5.1.
1646 * strace.spec, debian/changelog: 4.5.1-1.
1647
Roland McGrath13aeab32004-02-20 02:25:42 +000016482003-09-06 Dmitry V. Levin <ldv@altlinux.org>
Roland McGrath0aac8722003-11-14 02:54:09 +00001649
1650 * defs.h (ioctl_lookup): Prototype change.
1651 * ioctl.c (ioctl_next_match): New function.
1652 * defs.h: Declare it.
1653 * io.c (sys_ioctl): Use it, to display all possible ioctl names
1654 when there's more than one match.
1655 * ioctl.c (ioctl_lookup): Likewise.
1656 * stream.c (internal_stream_ioctl): Likewise.
1657 Patch from Solar Designer <solar@openwall.com>.
1658
Roland McGrath09f7a012003-11-13 22:32:32 +000016592003-11-13 Roland McGrath <roland@redhat.com>
1660
1661 * linux/sh/syscallent.h: Use sys_setgroups32, sys_getgroups32.
1662 * linux/sh64/syscallent.h: Likewise.
1663
Roland McGrath13aeab32004-02-20 02:25:42 +000016642003-09-06 Dmitry V. Levin <ldv@altlinux.org>
Roland McGrath09f7a012003-11-13 22:32:32 +00001665
Roland McGrathf25ef392003-11-13 22:33:48 +00001666 Fixes for RH#105359.
Roland McGrath09f7a012003-11-13 22:32:32 +00001667 * util.c (printuid): New function.
1668 * defs.h: Declare it.
1669 * file.c (sys_chown): Use it.
1670 * file.c (sys_fchown): Likewise.
1671 * process.c (sys_setreuid, sys_setregid, sys_setresuid,
1672 sys_setresgid): Likewise.
Roland McGrath09f7a012003-11-13 22:32:32 +00001673 * linux/syscallent.h: Better handle getgid32, geteuid32, getegid32,
1674 setreuid32, setregid32, getgroups32, setgroups32, fchown32,
1675 setresuid32, getresuid32, setresgid32, getresgid32, chown32,
1676 setuid32, setgid32, setfsuid32, setfsgid32.
1677 * process.c [LINUX]: Define GETGROUPS32_T.
1678 * process.c [LINUX] (sys_setgroups32, sys_getgroups32):
1679 New functions.
1680 * linux/syscall.h (sys_setgroups32, sys_getgroups32):
1681 Declare them.
1682
Roland McGrath730e8c02003-11-11 21:24:28 +000016832003-11-11 Roland McGrath <roland@redhat.com>
1684
1685 * strace.c (main): Bail with usage error for missing command before we
1686 open the -o file or fiddle uids.
1687
Roland McGrathe52919b2003-11-06 23:41:33 +000016882003-11-06 Roland McGrath <roland@redhat.com>
1689
Roland McGratha0f32e02003-11-07 02:36:45 +00001690 * strace.c (main): Treat piped output more like file output.
1691 Disallow -ff with piped output. Fixes RH#105366.
1692 Reported by Dmitry V. Levin <ldv@altlinux.org>
1693
Roland McGrathe52919b2003-11-06 23:41:33 +00001694 * strace.c (tprintf): Check result of vfprintf and use perror when it
1695 fails while not writing to stderr itself. Fixes Debian bug #218762.
1696
1697 * net.c (printsock): Fix typo in #ifdef AF_NETLINK.
1698 From Ulrich Drepper <drepper@redhat.com>.
1699
Roland McGrathb67e8e32003-11-01 22:11:29 +000017002003-11-01 Roland McGrath <roland@redhat.com>
1701
1702 * syscall.c (trace_syscall) [LINUX]: Calculate ONE_TICK once using
1703 setitimer rather than hard-coding a value based on HZ.
Roland McGrathd4897f82003-11-01 22:13:35 +00001704 Fixes RH#108012, reported by Florian La Roche <laroche@redhat.com>.
Roland McGrathb67e8e32003-11-01 22:11:29 +00001705
Roland McGratha9f76da2003-10-22 06:11:36 +000017062003-10-21 Roland McGrath <roland@redhat.com>
1707
Roland McGrath7aa6d202003-10-22 06:16:42 +00001708 * strace.1: Fixed a few spelling errors.
Roland McGrathb67e8e32003-11-01 22:11:29 +00001709 Fixes Debian bug #217008.
Roland McGrath7aa6d202003-10-22 06:16:42 +00001710
Roland McGratha9f76da2003-10-22 06:11:36 +00001711 * syscall.c: Revert last change, was broken.
1712
Roland McGrath8c74bd92003-10-01 07:50:34 +000017132003-10-01 Roland McGrath <roland@redhat.com>
1714
Roland McGrathe7da3502003-10-01 21:59:50 +00001715 * process.c (internal_clone): Don't suspend parent when call requested
1716 a specific PID that is not a traced child.
1717
Roland McGrath8c74bd92003-10-01 07:50:34 +00001718 * signal.c [LINUX] (parse_sigset_t): Rewrite to process hex strings
1719 from right to left so we don't have to presume the size.
Roland McGrathe7da3502003-10-01 21:59:50 +00001720 Reported by David Woodhouse <dwmw2@redhat.com>.
Roland McGrath8c74bd92003-10-01 07:50:34 +00001721
Roland McGrath268e9042003-09-25 23:06:12 +000017222003-09-25 Roland McGrath <roland@redhat.com>
1723
1724 * mem.c (mmap_prot) [PROT_SEM, PROT_GROWSDOWN, PROT_GROWSUP]: Include
1725 these in the table if they are defined.
1726
Roland McGrath4f59bab2003-09-24 22:22:49 +000017272003-09-24 Roland McGrath <roland@redhat.com>
1728
1729 * configure.ac, NEWS: Version 4.5.
1730 * strace.spec, debian/changelog: 4.5-1.
1731
1732 * syscall.c (get_scno) [LINUX] [S390 || S390X]: Bail out of
1733 instruction decoding branch if TCB_INSYSCALL is clear.
1734 Reported by <jochen@penguin-breeder.org>.
1735
1736 * linux/ioctlent.h: Swap order of overloaded TC* and SNDCTL_* values.
1737
Roland McGrath7633f1e2003-09-23 22:19:43 +000017382003-09-23 Roland McGrath <roland@redhat.com>
1739
Roland McGrath4f59bab2003-09-24 22:22:49 +00001740 * strace.spec: On ppc64 (maybe others later), create an strace64
1741 package as well containing just /usr/bin/strace64.
1742
Roland McGrath7633f1e2003-09-23 22:19:43 +00001743 * signal.c (sprintsigmask): Print RT_%u for __SIGRTMIN..__SIGRTMAX.
1744 Fixes RH#104365.
1745
Roland McGrath109f3d32003-08-21 10:09:01 +000017462003-08-21 Roland McGrath <roland@redhat.com>
1747
Roland McGrath7633f1e2003-09-23 22:19:43 +00001748 * linux/syscallent.h: Fix mlock argument count. Fixes RH#101499.
Roland McGrath109f3d32003-08-21 10:09:01 +00001749 * linux/x86_64/syscallent.h: Likewise.
1750 * linux/s390/syscallent.h: Likewise.
1751 * linux/s390x/syscallent.h: Likewise.
1752
Roland McGrath5bc53452003-08-21 09:58:08 +000017532003-07-28 Daniel Jacobowitz <drow@mvista.com>
1754
1755 * defs.h (ALIGN64): Define for MIPS.
1756 * io.c (PREAD_OFFSET_ARG): Define.
1757 (sys_pread, sys_pwrite): Use it.
1758 * process.c (struct_user_offsets) [SH]: Check whether REG_XDREG0
1759 is defined.
1760 * linux/sh/syscallent.h (pread, pwrite): Take six arguments.
1761 (truncate64, ftruncate64): Pretty-print.
1762 * linux/mips/syscallent.h (pread, pwrite): Take six arguments.
1763 (truncate64, ftruncate64): Take four arguments.
1764
Roland McGrath4d8130c2003-07-17 09:24:04 +000017652003-07-17 Roland McGrath <roland@redhat.com>
1766
1767 * configure.ac, NEWS: Version 4.4.99.
1768 * strace.spec, debian/changelog: 4.4.99-1.
1769
Roland McGrath25969ce2003-07-17 09:03:22 +000017702003-07-15 Anton Blanchard <anton@samba.org>
1771
1772 * ipc.c: Add SHM_HUGETLB field.
1773 Mask out permission bits in msgget, semget and shmget before
1774 printing resource_flags.
1775 Mask execute permission bits (even though we dont currently
1776 use them).
1777
17782003-07-17 Roland McGrath <roland@redhat.com>
1779
1780 * linux/powerpc/syscallent.h (tgkill): New at 250.
1781
1782 * linux/syscallent.h: truncate64/ftruncate64 need 3 args.
1783 From Ulrich Drepper <drepper@redhat.com>.
1784
1785 * linux/syscallent.h: Handle statfs64, fstatfs64, utimes.
1786 * file.c (printstatfs): Print f_fsid and f_frsize.
1787 [LINUX] (printstatfs64, sys_statfs64, sys_fstatfs64): New functions.
1788 * linux/syscall.h: Add decls.
1789 From Ulrich Drepper <drepper@redhat.com>.
1790
17912003-07-09 Roland McGrath <roland@redhat.com>
1792
1793 * linux/ia64/syscallent.h (tgkill): New at 1235.
1794
Roland McGrath004d88d2003-07-09 09:48:21 +000017952003-07-05 Richard Henderson <rth@twiddle.net>
1796
1797 * process.c (sys_clone): Order arguments for alpha the same as x86_64.
1798 * syscall.c (ERESTART_RESTARTBLOCK): New.
1799 (trace_syscall): Print it.
1800 * linux/alpha/syscallent.h (osf_syscall): Name properly.
1801 (osf_set_program_attributes): Fix typo.
1802 (osf_nfssvc): Likewise.
1803 (osf_sigsendset): Likewise.
1804 (getdents64, gettid, readahead, tkill, setxattr, lsetxattr, fsetxattr,
1805 getxattr, lgetxattr, fgetxattr, listxattr, llistxattr, flistxattr,
1806 removexattr, lremovexattr, fremovexattr, futex, sched_setaffinity,
1807 sched_getaffinity, tuxcall, io_setup, io_destroy, io_getevents,
1808 io_submit, io_cancel, exit_group, lookup_dcookie, epoll_create,
1809 epoll_ctl, epoll_wait, remap_file_pages, set_tid_address,
1810 restart_syscall, fadvise, timer_create, timer_settime, timer_gettime,
1811 timer_getoverrun, timer_delete, clock_settime, clock_gettime,
1812 clock_getres, clock_nanosleep, semtimedop): New.
1813
18142003-07-08 Roland McGrath <roland@redhat.com>
1815
1816 * signal.c (sys_tgkill): New function.
1817 * linux/syscall.h: Declare it.
1818 * linux/syscallent.h: Add tgkill.
1819
Roland McGratha9a86192003-06-27 21:20:14 +000018202003-06-27 Roland McGrath <roland@redhat.com>
1821
1822 * configure.ac: Check for type `struct __old_kernel_stat'.
1823 * file.c (convertoldstat, printoldstat): Define under
1824 [LINUX && HAVE_STRUCT___OLD_KERNEL_STAT] rather than a list of archs.
1825 (sys_oldstat, sys_oldfstat, sys_oldlstat): Likewise.
1826 * linux/dummy.h [! HAVE_STRUCT___OLD_KERNEL_STAT]
1827 (sys_oldstat, sys_oldfstat, sys_oldlstat): #define to printargs.
1828
Roland McGrath9df23f92003-06-26 22:23:32 +000018292003-06-26 Roland McGrath <roland@redhat.com>
1830
Roland McGrath4fe23b52003-06-26 22:41:02 +00001831 * configure.ac: SHMEDIA -> SH64
1832 * defs.h: Likewise.
1833 * mem.c: Likewise.
1834 * process.c: Likewise.
1835 * sock.c: Likewise.
1836 * syscall.c: Likewise.
1837 * util.c: Likewise.
1838 * linux/shmedia/syscallent.h: Moved to ...
1839 * linux/sh64/syscallent.h: ... here.
1840
1841 * config.guess: Update from canonical version, timestamp 2003-06-17.
1842 * config.sub: Likewise.
1843
Roland McGrath8f340e32003-06-26 22:29:38 +00001844 * syscall.c (force_result) [LINUX] [ARM]: Fix variable usage.
1845 From: Joshua Neal <tinara@netpipeline.net>.
1846
Roland McGrathc2aa8ea2003-06-26 22:27:32 +00001847 * process.c [LINUX] (sys_futex): Grok FUTEX_REQUEUE and print 5th arg.
1848 * linux/syscallent.h: sys_futex argument count is now 5, not 4.
1849 * linux/ia64/syscallent.h: Likewise.
1850 * linux/powerpc/syscallent.h: Likewise.
1851 * linux/s390/syscallent.h: Likewise.
1852 * linux/s390x/syscallent.h: Likewise.
1853 * linux/x86_64/syscallent.h: Likewise.
1854 From Jakub Jelinek <jakub@redhat.com>.
1855
Roland McGrath9df23f92003-06-26 22:23:32 +00001856 * syscall.c (get_scno) [S390 || S390X]: Fix old vs new mode detection.
1857 From Michael Holzheu <HOLZHEU@de.ibm.com>.
1858
Roland McGrathee911632003-06-23 23:40:04 +000018592003-06-23 Roland McGrath <roland@redhat.com>
1860
1861 * net.c (sys_socket): Decode protocol for PF_INET6 same as PF_INET.
1862 From Ulrich Drepper <drepper@redhat.com>.
1863
Roland McGrathe84e6272003-06-11 05:38:01 +000018642003-06-10 Roland McGrath <roland@redhat.com>
1865
1866 * configure.ac, NEWS: Version 4.4.98.
1867 * strace.spec, debian/changelog: 4.4.98-1.
1868
Roland McGrath3634c272003-06-10 03:06:05 +000018692003-06-09 Roland McGrath <roland@redhat.com>
1870
Roland McGrath767b4302003-06-10 03:38:03 +00001871 * linux/s390x/syscallent.h: Update many syscalls.
1872 * linux/syscall.h (SYS_socket_subcall): Update [S390X] value.
1873
Roland McGrathc38d46e2003-06-10 03:31:34 +00001874 * linux/s390/syscallent.h: Update many syscalls.
1875 * linux/syscall.h (SYS_socket_subcall): Update [S390] value.
1876
Roland McGratheef1fde2003-06-10 03:07:47 +00001877 * linux/shmedia/syscallent.h: New file.
1878 From Stephen Thomas <stephen.thomas@superh.com>.
1879
Roland McGrath3634c272003-06-10 03:06:05 +00001880 * strace.c (trace): Print a message and newline for a WIFEXITED report
1881 from the process we just printed an unterminated syscall line for.
1882
Roland McGrathcf99f9c2003-06-03 07:18:28 +000018832003-06-03 Roland McGrath <roland@redhat.com>
1884
Roland McGrath2c1d5342003-06-03 23:28:58 +00001885 * util.c (printcall) [LINUX]: Fix typo [IA62] -> [IA64].
1886
1887 Linux/ARM improvements from Russell King <rmk@arm.linux.org.uk>:
1888 * defs.h [LINUX] (TCB_WAITEXECVE): Define for [ARM] too.
1889 * process.c (struct_user_offsets) [LINUX] [ARM]: Add ARM registers.
1890 * signal.c [LINUX] (sys_sigreturn) [ARM]: New case.
1891 * syscall.c (get_scno, syscall_fixup) [LINUX] [ARM]: Case rewritten.
1892 (get_error) [LINUX] [ARM]: Update.
1893 (syscall_enter) [LINUX] [ARM]: New case.
1894 * util.c (printcall) [LINUX] [ARM]: New case.
1895
1896 * debian/control (Standards-Version): Update to 3.5.10.
1897
Roland McGrathcf99f9c2003-06-03 07:18:28 +00001898 * strace.c (main): In PATH search, accept only a regular file with
1899 execute bits set. Fixes Debian bug #137103.
1900
Roland McGratha834fbe2003-06-02 19:37:56 +000019012003-06-02 Roland McGrath <roland@redhat.com>
1902
Roland McGrath454a0242003-06-03 01:35:32 +00001903 * strace.c (main): Set -q when given -o and not -p, and not when not
1904 given -o, to match what the man page always said.
1905 Fixes Debian bug #47113, #153678.
1906
Roland McGratha834fbe2003-06-02 19:37:56 +00001907 * configure.ac, NEWS: Version 4.4.97.
1908 * strace.spec, debian/changelog: 4.4.97-1.
1909
1910 * configure.ac, defs.h, mem.c, process.c, sock.c, syscall.c, util.c:
1911 Merged in SHmedia port from Stephen Thomas <stephen.thomas@superh.com>.
1912
1913 * config.guess: Update from ftp://ftp.gnu.org/pub/gnu/config/,
1914 timestamp 2003-05-22.
1915 * config.sub: Likewise, timestamp 2003-05-24.
1916
Roland McGrath5aae8772003-05-23 00:14:17 +000019172003-05-22 Roland McGrath <roland@redhat.com>
1918
Roland McGrathd0835362003-05-23 02:27:37 +00001919 * defs.h (struct tcb): New member `nzombies'.
1920 * strace.c (alloctcb): Initialize it.
1921 (droptcb): Increment our parent's zombie count.
1922 * process.c (internal_wait): Don't go into TCB_SUSPENDED if the
1923 process has zombies it can reap. On the way out, if we reaped
1924 an untraced process, decrement the zombie count.
1925
Roland McGrath7dfd4ed2003-05-23 01:08:50 +00001926 * process.c (sys_clone): Mask CSIGNAL out of flags and print that
1927 separately using signame.
1928
1929 * process.c (internal_clone) [TCB_CLONE_THREAD]: Use ARG_FLAGS instead
1930 of literal 0 for index. Consult the right flags without clobbering
1931 anything when we reparent the new child to the caller's parent thread.
1932
Roland McGrath031b0d82003-05-23 00:29:11 +00001933 * linux/s390/syscallent.h: Fix sys_clone argument count.
1934 * linux/s390x/syscallent.h: Likewise.
1935 * linux/mips/syscallent.h: Likewise.
1936 * linux/alpha/syscallent.h: Likewise.
1937 * linux/powerpc/syscallent.h: Likewise.
1938 * linux/sh/syscallent.h: Likewise.
1939 * linux/sparc/syscallent.h: Likewise.
1940 * linux/hppa/syscallent.h: Likewise.
1941
1942 * process.c [LINUX] [S390 || S390X] (ARG_CTID, ARG_TLS): Fix swapped
1943 indices. Reported by Jakub Jelinek <jakub@redhat.com>.
1944
1945 * signal.c [LINUX] (SI_SIGIO, SI_TKILL): New macros.
1946 [LINUX || SVR4] (siginfo_codes): Add strings for them.
1947
Roland McGrath5aae8772003-05-23 00:14:17 +00001948 * process.c (print_affinitylist): Fix loop condition.
1949 Reported by Ian Wienand <ianw@gelato.unsw.edu.au>.
1950
Roland McGrath872a4362003-04-10 18:58:33 +000019512003-04-10 Roland McGrath <roland@redhat.com>
1952
1953 * syscall.c (qual_desc): Return zero after parsing number.
1954 From Rob Leslie <rob@mars.org>, fixes Debian bug #188379.
1955
Roland McGrath808a4ba2003-04-08 01:47:02 +000019562003-04-07 Roland McGrath <roland@redhat.com>
1957
1958 * linux/syscallent.h: Handle semtimedop subcall of ipc syscall.
1959 * linux/syscall.h: Likewise.
1960 * ipc.c [LINUX] (sys_semtimedop): New function.
1961 From Ulrich Drepper <drepper@redhat.com>.
1962
1963 * ipc.c (sys_semget): Mask off permission bits for resource_flags.
1964 From Ulrich Drepper <drepper@redhat.com>.
1965
Roland McGrathcf43e902003-04-02 01:10:53 +000019662003-04-01 Philippe De Muyter <phdm@macqel.be>
1967
1968 * sock.c, stream.c: Check #ifdef LINUX, not linux.
1969 * file.c: Always provide sys_*attr, regardless of #ifdef XATTR_CREATE.
1970
Roland McGrath10a56fb2003-03-31 01:21:40 +000019712003-03-30 Roland McGrath <roland@redhat.com>
1972
1973 * configure.ac, NEWS: Version 4.4.96.
1974 * strace.spec, debian/changelog: 4.4.96-1.
1975
Roland McGrath347636f2003-03-31 01:05:16 +000019762003-02-26 Stuart Menefy <stuart.menefy@st.com>
1977
1978 Various fixes for SuperH [SH]:
1979 * mem.c (sys_old_mmap): mmap() parameters passed in registers
1980 * net.c (sys_pipe), syscall.c (getrval2): pipe() results returned
1981 in registers
1982 * process.c (change_syscall): Fixed register which holds system
1983 call number
1984 * util.c (arg0_offset, arg1_offset): provide definition
1985 * Makefile.am: Added new files in linux/sh
1986 * linux/sh/syscallent.h: New file.
1987 * linux/sh/errnoent.h: New file.
1988 * linux/sh/ioctlent.h: New file.
1989 * linux/sh/signalent.h: New file.
1990
1991 * linux/ioctlent.sh: Take an arg for location of header files
1992 * syscallent.sh: Replaced lost $
1993
Roland McGrath5467f262003-03-30 23:52:46 +000019942003-03-30 Roland McGrath <roland@redhat.com>
1995
1996 * time.c [LINUX]: Handle new Linux 2.5 clock/timer syscalls.
1997 * linux/syscall.h, linux/syscallent.h, linux/dummy.h: Likewise.
1998 From Ulrich Drepper <drepper@redhat.com>.
1999
2000 * linux/syscallent.h: Use sys_getrlimit for 191.
2001 Use name "old_getrlimit" for 76.
2002 Reported by Ulrich Drepper <drepper@redhat.com>.
2003
Roland McGrath5755ec52003-03-21 07:33:21 +000020042003-03-18 Roland McGrath <roland@redhat.com>
2005
2006 * process.c [LINUX] (sys_clone): Don't dereference parent_tid argument.
2007
Roland McGrath49bad882003-03-18 07:43:53 +000020082003-03-17 Roland McGrath <roland@redhat.com>
2009
2010 * linux/x86_64/syscallent.h: clone takes 5 args.
2011 * process.c [LINUX] (sys_clone) [X86_64]: Fix argument order.
2012
Roland McGrathf22e0c72003-03-15 21:01:43 +000020132003-03-15 Roland McGrath <roland@redhat.com>
2014
2015 * linux/x86_64/syscallent.h: Add exit_group syscall at 231.
2016
Roland McGrath27cad9a2003-03-14 10:33:06 +000020172003-03-14 Roland McGrath <roland@redhat.com>
2018
2019 * linux/x86_64/syscallent.h: Update and add many 2.5 syscalls.
2020
2021 * linux/ia64/syscallent.h: clone takes 5 arguments.
2022 * process.c [LINUX && IA64] (ARG_*): Update for 2.5 clone calls.
2023
Roland McGrath041900f2003-03-12 08:11:33 +000020242003-03-12 Roland McGrath <roland@redhat.com>
2025
Roland McGrath6fbb4e32003-03-12 09:54:45 +00002026 * linux/ia64/syscallent.h: Fix arg counts for clone and clone2.
2027 Use sys_clone for clone2.
2028 * linux/syscall.h: Don't declare sys_clone2.
2029 * process.c (sys_clone): Rewritten to handle both flavors,
2030 print all extra args depending on flag bits.
2031 (sys_clone2): Function removed.
2032
Roland McGrath041900f2003-03-12 08:11:33 +00002033 * linux/ia64/syscallent.h: Add a bunch of 2.5 syscalls.
2034
Roland McGrathb3f8fd62003-03-05 06:29:11 +000020352003-03-04 Roland McGrath <roland@redhat.com>
2036
2037 * syscall.c (get_scno) [IA64]: Do TCB_WAITEXECVE check only when
2038 TCB_INSYSCALL is clear, like other platforms do.
2039
Roland McGrathd2a6c6b2003-03-05 04:08:07 +000020402003-03-04 Ulrich Drepper <drepper@redhat.com>
2041
2042 * mem.c [LINUX] (sys_remap_file_pages): New function.
2043 * linux/syscall.h: Declare it.
2044 * linux/syscallent.h: Use it.
2045 * linux/powerpc/syscallent.h: Likewise.
2046
2047 * process.c [LINUX] (sys_futex): Omit final if op is not FUTEX_WAIT.
2048
Roland McGratha4187c92003-02-26 20:34:14 +000020492003-02-26 Roland McGrath <roland@redhat.com>
2050
2051 * configure.ac: Fix typo in netinet/in.h check.
2052 Also include <sys/types.h> and <sys/socket.h> before <netinet/in.h>.
2053 Reported by Alex Semenyaka <alexs@snark.rinet.ru>.
2054
Roland McGrath66375f62003-02-24 10:18:11 +000020552003-02-24 Roland McGrath <roland@redhat.com>
2056
Roland McGrath74f905d2003-02-24 10:53:48 +00002057 * configure.ac, NEWS: Version 4.4.95.
2058 * strace.spec, debian/changelog: 4.4.95-1.
2059
Roland McGrath66375f62003-02-24 10:18:11 +00002060 * process.c (sys_getresgid): Fix typos in argument access.
2061
Roland McGrath127f7d22003-02-24 07:13:59 +000020622003-02-23 Roland McGrath <roland@redhat.com>
2063
2064 * process.c (sys_getresuid): Fix typos in argument access.
2065 Reported by Anton Blanchard <anton@samba.org>.
2066
Roland McGrath71522342003-02-20 02:45:34 +000020672003-02-19 Roland McGrath <roland@redhat.com>
2068
Roland McGrath45be9602003-02-20 03:26:58 +00002069 * configure.ac, NEWS: Version 4.4.94.
2070 * strace.spec, debian/changelog: 4.4.94-1.
2071
Roland McGrath44fb0432003-02-20 02:56:50 +00002072 * version.c: Removed.
2073 * Makefile.am (strace_SOURCES): Remove it.
2074 * strace.c: Use PACKAGE_NAME and VERSION macros instead of version var.
2075
Roland McGrath71522342003-02-20 02:45:34 +00002076 FreeBSD rfork support changes from Russ Cox <rsc@plan9.bell-labs.com>:
2077 * syscall.c (internal_syscall): Handle SYS_rfork with internal_fork.
2078 * process.c (internal_fork) [SYS_rfork]: Bail if RFPROC flag not set.
2079
Roland McGrath8d276ff2003-01-24 04:32:36 +000020802003-01-23 Roland McGrath <roland@redhat.com>
2081
Roland McGrathff02c902003-01-30 20:15:35 +00002082 * signal.c: Reorder #ifdefs so HAVE_ASM_SIGCONTEXT_H doesn't matter on
2083 SPARC, which doesn't use the header regardless.
2084
2085 * util.c [LINUX && SPARC]: Do renaming kludges around <asm/reg.h>
2086 like signal.c does.
2087
2088 * linux/sparc/syscall.h: Declare sys_getdents64, sys_llseek.
Roland McGrath6ee7d1f2003-01-24 04:39:50 +00002089
2090 * linux/dummy.h [! SYS_getpmsg] (sys_getpmsg): #define to printargs.
2091 [! SYS_putpmsg] (sys_putpmsg): Likewise.
2092
Roland McGrath8d276ff2003-01-24 04:32:36 +00002093 * process.c: Reorder includes to put sys/reg.h before linux/ptrace.h,
2094 since they can conflict.
2095
Roland McGrath6a39c212003-01-22 02:27:59 +000020962003-01-21 Roland McGrath <roland@redhat.com>
2097
Roland McGrath8d276ff2003-01-24 04:32:36 +00002098 * strace.c (usage): Omit -z, since it has never worked properly.
2099 * NEWS: Likewise.
2100
2101 * strace.c (main): Grok new option `-E var=val' or `-E var' to put
2102 var=val in environ or to remove var, respectively.
2103 (usage): Mention it.
2104 * strace.1, NEWS: Document it.
2105
Roland McGrath6a39c212003-01-22 02:27:59 +00002106 * configure.ac, NEWS: Version 4.4.93.
2107 * strace.spec, debian/changelog: 4.4.93-1.
2108 * strace.spec (Source0): Use strace-VERSION.tar.bz2 now.
2109
Roland McGrath08eee592003-01-20 09:04:42 +000021102003-01-20 Roland McGrath <roland@redhat.com>
2111
Roland McGrathb472e1c2003-01-20 10:23:11 +00002112 * defs.h [LINUX] [S390 || S390X] (TCB_WAITEXECVE): Define it.
2113 * syscall.c (get_scno, syscall_fixup) [LINUX] [S390 || S390X]: Handle
2114 TCB_WAITEXECVE state with special kludges.
2115
Roland McGrath08eee592003-01-20 09:04:42 +00002116 * process.c [LINUX] (sys_clone) [S390 || S390X]: Argument order is
2117 reversed from other architectures.
2118
2119 * process.c (sys_execve) [LINUX]: Make setting TCB_WAITEXECVE flag
2120 conditional on [TCB_WAITEXECVE] instead of list of processors.
2121
2122 * util.c (restore_arg0): Evaluate args in no-op defns.
2123
2124 * util.c [S390 || S390X] (arg0_offset, arg1_offset): Fix definitions
2125 for clone call on S390. From Michael Holzheu <holzheu@de.ibm.com>.
2126
Roland McGrath2b157e72003-01-18 00:19:35 +000021272003-01-17 Anton Blanchard <anton@samba.org>
2128
2129 * util.c [LINUX] (setbpt): Handle SYS_vfork like SYS_fork.
2130
2131 * linux/syscall.h (SYS_socket_subcall): 256 also for POWERPC.
2132
Roland McGrath92999db2003-01-14 09:46:33 +000021332003-01-14 Roland McGrath <roland@redhat.com>
2134
Roland McGrathec4bd132003-01-14 23:41:07 +00002135 * linux/powerpc/errnoent.h: Add missing errnos.
2136 * linux/powerpc/ioctlent.h: Update ioctl values.
2137 From Anton Blanchard <anton@samba.org>.
2138
2139 * io.c [LINUX] (sys_pread, sys_pwrite): Fix last change.
2140 From Anton Blanchard <anton@samba.org>.
2141
2142 * linux/hppa/syscallent.h: Use sys_getdents64, sys_truncate64,
2143 sys_ftruncate64, instead of printargs, for those syscalls.
2144 * linux/mips/syscallent.h: Likewise.
2145 * linux/powerpc/syscallent.h: Likewise.
2146 * linux/s390/syscallent.h: Likewise.
2147 * linux/sparc/syscallent.h: Likewise.
2148
2149 * linux/syscall.h (SYS_socket_subcall): Only 256 for S390, S390X.
2150 All others at the moment use linux/syscallent.h, where it's 300.
2151
2152 * strace.1: Update bug reporting info.
2153
2154 * resource.c [LINUX] (quotacmds): Grok new command encodings.
2155 From Nathan Scott <nathans@debian.org>.
2156
Roland McGrathd7bec502003-01-14 10:10:36 +00002157 * configure.ac, NEWS: Version 4.4.92.
2158 * strace.spec, debian/changelog: 4.4.92-1.
2159
Roland McGrathf775ab32003-01-14 09:59:57 +00002160 * configure.ac: Match powerpc* (includes powerpc64), and don't match
2161 ppc (never comes out of config.sub).
Roland McGrathd7bec502003-01-14 10:10:36 +00002162
Roland McGrathf775ab32003-01-14 09:59:57 +00002163 * process.c (sys_ptrace): Use #lx format for address argument.
2164 [POWERPC]: Use sizeof(unsigned long) in place of 4 for multipliers.
2165 * process.c [POWERPC]: Likewise.
2166 * signal.c (sys_sigreturn) [POWERPC]: Likewise.
2167 * syscall.c (get_scno) [POWERPC]: Likewise.
2168 * util.c [POWERPC]: Likewise.
2169 (printnum): Use long for NUM.
2170 From Anton Blanchard <anton@samba.org>.
2171
Roland McGrath92999db2003-01-14 09:46:33 +00002172 * defs.h (ALIGN64): Fix defn for PPC, same as FreeBSD one.
2173
2174 * util.c [LINUX] (restore_arg0, restore_arg1): New macros, defined
2175 appropriately via set_arg0 or no-ops for each architecture.
2176 (clearbpt): Use those instead of set_arg0 and set_arg1.
2177
2178 * defs.h [_LARGEFILE64_SOURCE] (_LFS64_LARGEFILE): Define it.
2179 * linux/syscallent.h: Use sys_getdents64, sys_truncate64,
2180 sys_ftruncate64, instead of printargs, for those syscalls.
2181
2182 * process.c: Use <linux/ptrace.h> regardless of <sys/reg.h>.
2183 (sys_ptrace): Use printxval.
2184 (ptrace_cmds): Make PTRACE_GETREGS et al conditional on #ifdef PTRACE_*
2185 instead of only #ifdef SUNOS4. Add PTRACE_[GS]ETFPXREGS.
2186
2187 * ipc.c (PRINTCTL): New macro. #ifdef IPC_64, factor out the flag and
2188 print it before using printxval.
2189 (sys_msgctl, sys_semctl, sys_shmctl): Use it.
2190
Roland McGrathda5ad2d2003-01-14 07:53:49 +000021912003-01-13 Roland McGrath <roland@redhat.com>
2192
Roland McGrath4e254592003-01-14 07:58:26 +00002193 * config.guess: Update from ftp://ftp.gnu.org/pub/gnu/config/,
2194 timestamp 2003-01-10.
2195 * config.sub: Likewise, timestamp 2003-01-03.
2196 * install-sh: Update from Automake 1.7.2.
2197
Roland McGrathda5ad2d2003-01-14 07:53:49 +00002198 * linux/powerpc/signalent.h: Add SIGRTMIN.
2199 From Anton Blanchard <anton@samba.org>.
2200
2201 * linux/powerpc/syscallent.h: Add missing system calls.
2202 Decode more system calls, we were just printargs for many things.
2203 Remove some x86-specific system calls.
2204 Remove two syscalls between the socket and ipc syscalls,
2205 it was resulting in all IPC syscalls being off by two.
2206
2207 * ioctl.c (ioctl_decode) [POWERPC]: Decode term ioctls like Alpha.
2208 From Anton Blanchard <anton@samba.org>.
2209
2210 * defs.h [POWERPC] (UESP, EIP, EAX, ORIG_EAX): Remove this cruft.
2211 [LINUX && POWERPC && !__powerpc64__] (ALIGN64): New macro.
2212 * io.c (sys_pread, sys_pwrite): Use ALIGN64.
2213 From Anton Blanchard <anton@samba.org>.
2214
2215 * term.c [LINUX]: Get kernel definition of struct termios.
2216 From Anton Blanchard <anton@samba.org>.
2217
2218 * linux/ioctlent.sh: Look in sound/ directory too.
2219 From Anton Blanchard <anton@samba.org>.
2220
2221 * desc.c (printflock64): Fix ADDR argument type.
2222 From Anton Blanchard <anton@samba.org>.
2223
2224 * strace.c [! HAVE_STRSIGNAL]: Clean up #ifdefs on decls for
2225 sys_siglist and _sys_siglist.
2226 Reported by John Hughes <john@Calva.COM>.
2227
2228 * net.c: HAVE_OPTHDR -> HAVE_STRUCT_OPTHDR
2229 Reported by John Hughes <john@Calva.COM>.
2230
2231 * linux/syscall.h [ARM] (SYS_socket_subcall): Set to 300.
2232
Roland McGrathdcfcaf72003-01-10 10:45:13 +000022332003-01-10 Roland McGrath <roland@redhat.com>
2234
Roland McGrathedcf1b02003-01-10 21:43:33 +00002235 * configure.ac, NEWS: Version 4.4.91.
2236 * strace.spec, debian/changelog: 4.4.91-1
2237
Roland McGrath09b371c2003-01-10 20:51:13 +00002238 * util.c [LINUX && X86_64] (arg0_offset, arg1_offset): Use correct
2239 values for x86-64, conditional on current_personality.
2240
Roland McGrath944d10f2003-01-10 20:14:52 +00002241 * strace.c (droptcb): Clear flags word before calling rebuild_pollv.
2242
Roland McGrath03c5c4d2003-01-10 20:06:01 +00002243 * configure.ac: Check struct T_conn_res for QUEUE_ptr or ACCEPTOR_id.
2244 * stream.c (print_transport_message): Use #ifdefs for those members.
2245
2246 * strace.c (rebuild_pollv): Fix typo: struct poll -> struct pollfd.
2247
Roland McGrath516f3492003-01-10 19:55:42 +00002248 * configure.ac: Fix siginfo_t/sig_atomic_t checks.
2249 Use prerequisite #include <netinet/in.h> for netinet/*.h checks.
2250
2251 * strace.c (pfd2tcb): Fix for new tcbtab type.
2252 (rebuild_pollv): Likewise.
2253 (detach): Put variables used under [LINUX] inside #ifdef.
2254
2255 * process.c (change_syscall) [POWERPC]: Add missing return.
2256 * util.c [POWERPC] (arg0_offset): Set to 4*PT_R3, not 4*PT_ORIG_R3.
2257
Roland McGrathdcfcaf72003-01-10 10:45:13 +00002258 * strace.spec: New file.
2259 * debian/changelog: 4.4.90-1
2260 * debian/rules (binary-arch): Depend on build.
2261 (clean): Don't try to run Makefile.in.
2262 * debian/control (Standards-Version): Now 3.5.8.
2263
2264 * configure.ac: Diddle CFLAGS after AC_PROG_CC, not before.
2265
Roland McGrathea496212003-01-10 07:50:29 +000022662003-01-09 Roland McGrath <roland@redhat.com>
2267
2268 * syscall.c (force_result) [S390 || S390X]: Fix typo.
2269
2270 * debian/control: Update Maintainer: field.
2271
Roland McGrath5694e802003-01-09 06:56:39 +000022722003-01-08 Roland McGrath <roland@redhat.com>
2273
2274 * NEWS: Update for 4.4.90 test release.
2275
2276 Support for new Linux 2.5 thread features.
2277 * defs.h [LINUX]: Define __NR_exit_group if not defined.
2278 (struct tcb): New members nclone_threads, nclone_detached,
2279 and nclone_waiting.
2280 (TCB_CLONE_DETACHED, TCB_CLONE_THREAD, TCB_GROUP_EXITING): New macros.
2281 (waiting_parent): Macro removed.
2282 (pid2tcb): Declare it.
2283 * process.c (internal_clone) [TCB_CLONE_THREAD]: Reparent the new
2284 child to our parent if we are a CLONE_THREAD child ourselves.
2285 Maintain TCB_CLONE_THREAD and TCB_CLONE_DETACHED flags and counts.
2286 (internal_wait) [TCB_CLONE_THREAD]: Factor out detached children when
2287 determining if we have any. If TCB_CLONE_THREAD is set, check
2288 parent's children instead of our own, and bump nclone_waiting count.
2289 (internal_exit) [__NR_exit_group]: Set the TCB_GROUP_EXITING flag if
2290 the syscall was exit_group.
2291 * syscall.c (internal_syscall): Use internal_exit for exit_group.
2292 * strace.c (pid2tcb): No longer static.
2293 (alloctcb) [TCB_CLONE_THREAD]: Initialize new fields.
2294 (droptcb) [TCB_CLONE_THREAD]: Maintain new fields.
2295 If we have thread children, set TCB_EXITING and don't clear the TCB.
2296 (resume) [TCB_CLONE_THREAD]: Decrement parent's nclone_waiting.
2297 (detach) [TCB_CLONE_THREAD]: When calling resume, check all thread
2298 children of our parent that might be waiting for us too.
2299 [TCB_GROUP_EXITING] (handle_group_exit): New function.
2300 (trace) [TCB_GROUP_EXITING]: Use that in place of detach or droptcb.
2301
2302 Revamp -f support for Linux.
2303 * util.c [LINUX] (setbpt, clearbpt): New implementations that tweak
2304 the system call to be clone with CLONE_PTRACE set. Various new static
2305 helper functions.
2306 * process.c (internal_clone): Define also #ifdef SYS_clone2.
2307 Initialize TCPCHILD->parent field.
2308 [CLONE_PTRACE]: Don't do PTRACE_ATTACH here, because it's preattached.
2309 Check in case the new child is in the tcb already.
2310 (internal_fork) [LINUX]: Just call internal_clone.
2311 * strace.c (trace) [LINUX]: Under -f/-F, grok an unknown pid
2312 reporting to wait, put it in the TCB with TCB_ATTACHED|TCB_SUSPENDED.
2313
2314 * linux/x86_64/syscallent1.h (sys_oldlstat): #define as printargs.
2315
2316 * file.c [LINUX]: #undef st_[amc]time in case they are macros.
2317
2318 * Makefile.am (AM_CFLAGS): New variable, define to $(WARNFLAGS).
2319
2320 * Makefile.am (EXTRA_DIST): Remove debian/postinst and debian/prerm.
2321
Wichert Akkerman5a9b0862003-01-08 23:44:36 +000023222003-01-09 Wichert Akkerman <wichert@deephackmode.org>
2323
2324 * debian/postinst, debian/prerm: removed, /usr/doc symlink is no
2325 longer used
2326 * debian/rules: no longer install postinst and prerm
Wichert Akkerman136bbb12003-01-08 23:46:03 +00002327 * debian/control: do not end summary with full stop (lintian)
Wichert Akkerman5a9b0862003-01-08 23:44:36 +00002328
Roland McGratha83c22f2002-12-30 09:13:30 +000023292002-12-30 Roland McGrath <roland@redhat.com>
2330
Roland McGrath2850c7e2002-12-30 10:46:02 +00002331 * Makefile.am (bin_SCRIPTS): New variable, list strace-graph.
2332 (EXTRA_DIST): Add missing files.
2333
2334 * configure.ac: Fix asm/sigcontext.h check to include prerequisite.
2335
2336 * syscall.c (qualify_one): New function.
2337 (qual_options): Replace lookup field with qualify, update initializer.
2338 (qualify): Update caller.
2339 (qual_signal, qual_fault, qual_desc): Rewritten from lookup_*.
2340 (qual_syscall): Rewritten lookup_syscall, match name more than once.
2341 Fixes RH#70579, bites IA64 -efoo when foo exists on IA32.
2342
Roland McGrath692b68a2002-12-30 09:33:32 +00002343 * version.c (version): Make const, bump to 4.4.90.
2344 * strace.c: Update decl.
2345
2346 * Makefile.am [LINUX && X86_64]: Remove cruft.
2347 * linux/x86_64/errnoent1.h: New file.
2348 * linux/x86_64/ioctlent1.h: New file.
2349 * linux/x86_64/signalent1.h: New file.
2350 * linux/x86_64/syscallent1.h: New file.
2351 * linux/x86_64/i386-headers.diff: File removed.
2352 * linux/x86_64/makeheaders.sh: File removed.
2353 * linux/x86_64/Makefile.in: File removed.
2354
Roland McGratha83c22f2002-12-30 09:13:30 +00002355 * linux/syscallent.h [X86_64]: Disable sanity checks, subcall stuff is
2356 already broken for 32-bit personality on x86-64.
2357
Roland McGrath30d47f12002-12-30 00:51:51 +000023582002-12-29 Roland McGrath <roland@redhat.com>
2359
Roland McGratha83c22f2002-12-30 09:13:30 +00002360 * configure.ac, Makefile.am: Punt subdirs, handle everything here.
2361 * linux/Makefile.am: File removed.
2362 * freebsd/Makefile.am: File removed.
2363 * sunos4/Makefile.in: File removed.
2364 * svr4/Makefile.in: File removed.
2365
Roland McGrath30d47f12002-12-30 00:51:51 +00002366 * linux/alpha/Makefile.in: File removed.
2367 * linux/hppa/Makefile.in: File removed.
2368 * linux/ia64/Makefile.in: File removed.
2369 * linux/powerpc/Makefile.in: File removed.
2370 * linux/s390/Makefile.in: File removed.
2371 * linux/s390x/Makefile.in: File removed.
2372
23732002-12-26 Roland McGrath <roland@redhat.com>
2374
2375 * syscallent.sh: Grok three flavors of #define line, uniquify.
2376 * linux/hppa/syscallent.sh: File removed.
2377 * linux/powerpc/syscallent.sh: File removed.
2378
2379 * linux/Makefile.am: New file.
2380 * linux/Makefile.in: File removed.
2381 * freebsd/Makefile.am: New file.
2382 * freebsd/i386/Makefile.am: New file.
2383 * freebsd/i386/Makefile.in: File removed.
2384
23852002-12-22 Roland McGrath <roland@redhat.com>
2386
2387 Update to Autoconf 2.57, and Automakify with version 1.7.
2388 * Makefile.am: New file.
2389 * Makefile.in: File removed.
2390 * configure.in: Moved to ...
2391 * configure.ac: ... here. Update for Autoconf 2.5x and Automake.
2392 * aclocal.m4: Moved to ...
2393 * acinclude.m4: ... here. Update for Autoconf 2.5x.
Roland McGratha83c22f2002-12-30 09:13:30 +00002394 * acconfig.h: File removed.
Roland McGrath30d47f12002-12-30 00:51:51 +00002395 * AUTHORS: New file, makes automake happy.
2396 * autogen.sh: File removed.
2397 * README-CVS: Update to recommend autoreconf instead.
2398 * file.c: HAVE_ST_* -> HAVE_STRUCT_STAT_ST_*.
2399 * net.c: HAVE_SIN6_SCOPE_ID -> HAVE_STRUCT_SOCKADDR_IN6_SIN6_SCOPE_ID,
2400 HAVE_MSG_CONTROL -> HAVE_STRUCT_MSGHDR_MSG_CONTROL.
2401 * strace.c: *_DECLARED -> HAVE_DECL_*
2402 * stream.c: HAVE_* -> HAVE_STRUCT_*
2403
2404 * linux/Makefile.in (ioctldefs.h ioctls.h): Use $(SHELL) instead of
2405 sh, and use $(srcdir) to find the script.
2406 * linux/powerpc/Makefile.in (ioctlent.raw): Find ioctlent.sh in ../.
2407 (ioctlsort.o): Use ../ioctlsort.c, not ../../ioctlsort.c.
2408 * linux/x86_64/Makefile.in (headers): Renamed to all.
2409 * linux/alpha/Makefile.in: Add empty install target.
2410 * linux/x86_64/Makefile.in: Likewise.
2411 * linux/powerpc/Makefile.in: Likewise.
2412 * linux/Makefile.in: Likewise.
2413
Roland McGrath85960152002-12-30 00:26:24 +000024142002-12-26 Roland McGrath <roland@redhat.com>
2415
2416 * defs.h [LINUX && MIPS] (MAX_QUALS): Set to 5000, not 4999.
2417 From Daniel Jacobowitz <drow@false.org>.
2418
Roland McGrathc25a62f2002-12-21 23:25:26 +000024192002-12-21 Roland McGrath <roland@redhat.com>
2420
Roland McGrathdf211902002-12-22 03:34:55 +00002421 * linux/syscallent.h: Add some new 2.5 syscall names.
2422 Now clone takes 5 args.
2423 * process.c [LINUX] (clone_flags): Update with 2.5 flag bits.
2424 [LINUX] (sys_clone): Print new args.
2425 * mem.c (print_ldt_entry): Make global.
2426
2427 * linux/syscall.h [I386 || IA64] (SYS_socket_subcall): Bump to 300 for
2428 safety, since up to 260 are already used in 2.5 kernels.
2429 * linux/syscallent.h: Update the table.
2430 * linux/ia64/syscallent.h: Likewise.
2431
Roland McGrathc25a62f2002-12-21 23:25:26 +00002432 * syscall.c (force_result): New function.
2433 * process.c (internal_wait): Handle ECHILD exit from wait call with
2434 WNOHANG flag set; force the return value to 0 in the inferior when it
2435 has live children we are tracing.
Roland McGrath044c8d22002-12-22 03:36:03 +00002436 * NEWS: Mention the bug fix.
Roland McGrathc25a62f2002-12-21 23:25:26 +00002437
Roland McGrath13f0b432002-12-17 10:48:09 +000024382002-12-17 Roland McGrath <roland@redhat.com>
2439
Roland McGrathf57204d2002-12-18 04:36:59 +00002440 * linux/ia64/syscallent.h: Remove placeholders 275-298 to catch up
2441 with linux/syscallent.h additions.
2442
Roland McGrath29f554f2002-12-18 04:16:31 +00002443 * strace.c (tcbtab): Make this a pointer to pointers, not an array.
2444 (tcbtabsize): New variable.
2445 (main): Initialize them using dynamic allocation.
2446 (alloctcb, main): Use tcbtabsize in place of MAX_PROCS; indirect.
2447 (pid2tcb, cleanup): Likewise.
2448 [USE_PROCFS] (pollv): Make this a pointer, not an array; make static.
2449 (rebuild_pollv): Dynamically allocate the vector.
2450 * defs.h (tcbtab): Update decls.
2451 (MAX_PROCS): Macro removed, no more static limit on this.
2452 * process.c (fork_tcb): New function.
2453 (internal_clone, internal_fork): Use it instead of checking nprocs.
2454
Roland McGrath13f0b432002-12-17 10:48:09 +00002455 * strace.c (detach) [LINUX]: Use __WALL (or a second try with __WCLONE)
2456 in wait after sending SIGSTOP.
2457
Roland McGrath915742f2002-12-17 04:51:02 +000024582002-12-16 Roland McGrath <roland@redhat.com>
2459
Roland McGratha581c512002-12-17 05:10:47 +00002460 * signal.c (sprintsigmask): Increase static buffer size to account for
2461 worst possible case. Reported by Daniel Jacobowitz <drow@false.org>.
2462
Roland McGrath915742f2002-12-17 04:51:02 +00002463 * process.c [LINUX] (wait4_options): Fix __WCLONE value. Add
2464 __WNOTHREAD and __WALL.
2465
2466 * strace.c (trace) [LINUX]: Only check errno if wait4 actually fails,
2467 so we don't repeat a wait and thus drop a status. Fixes RH#62591.
2468
Roland McGrath36d87c22002-12-15 23:59:13 +000024692002-12-15 Roland McGrath <roland@redhat.com>
2470
Roland McGrath32be5972002-12-16 20:41:34 +00002471 * process.c (setarg) [POWERPC]: Support it.
2472
2473 * util.c [POWERPC] (LOOP): Fix value, now 0x48000000 (0: b 0b).
2474 Old value was bogus, not even a proper instruction.
2475 From Guy M. Streeter <streeter@redhat.com>.
2476
2477 * strace.c (main) [! USE_PROCFS]: Always reset SIGCHLD to SIG_DFL.
2478
2479 * configure.in: Don't check for putpmsg.
2480 * stream.c (sys_getpmsg, sys_putpmsg): Make these conditional on
2481 #ifdef SYS_*, rather than on HAVE_PUTPMSG.
2482
Roland McGrath2fe77222002-12-16 09:54:16 +00002483 * aclocal.m4 (AC_STAT64): Include <linux/types.h> before <asm/stat.h>
2484 in test. Test our own #ifdef LINUX rather than predefined `linux'.
2485
Roland McGrath36d87c22002-12-15 23:59:13 +00002486 * linux/powerpc/syscallent.h: Use sys_llseek for _llseek.
2487 * linux/sparc/syscallent.h: Likewise.
2488 * linux/hppa/syscallent.h: Likewise.
2489
2490 * syscall.c (syscall_enter) [LINUX && POWERPC]: Define PT_ORIG_R3 if
2491 not defined, since <asm/ptrace.h> defines it only #ifdef __KERNEL__.
2492 * process.c: Likewise.
2493
2494 * desc.c (sys_osf_select): Add missing return type.
2495
2496 * syscall.c (trace_syscall): Use strerror, not sys_errlist/sys_nerr.
2497
2498 * linux/ia64/syscallent.h: Remove macros for sys_delete_module,
2499 sys_nanosleep, both already in linux/dummy.h.
2500
2501 * syscall.c (get_scno): Move static `currpers' inside #ifdef X86_64.
2502 (trace_syscall): Fix return without value.
2503
2504 * linux/syscallent.h: Update table with names of new syscalls
2505 io_setup, io_destroy, io_getvents, io_submit, io_cancel.
2506 * linux/ia64/syscallent.h: Likewise.
2507 * linux/powerpc/syscallent.h: Likewise.
2508
2509 * signal.c [LINUX && I386]: Provide SA_RESTORER constant if not
2510 defined. If the bit is set, print the sa_restorer field of sigaction.
2511
2512 * mem.c: Add sys_{get,set}_thread_area.
2513 * linux/syscall.h: Declare them.
2514 * linux/syscallent.h: Update the table for these.
2515 * linux/dummy.h (sys_modify_ldt): Define only #ifndef I386.
2516 (sys_get_thread_area, sys_set_thread_area): New macros #ifndef I386.
2517
2518 * configure.in: Check for linux/xattr.h and linux/futex.h headers.
2519 * linux/syscall.h: Add sys_* decls for new syscalls getpmsg, putpmsg,
2520 readahead, sendfile64, setxattr, fsetxattr, getxattr, fgetxattr, int
2521 listxattr, flistxattr, removexattr, fremovexattr, sched_setaffinity,
2522 sched_getaffinity, futex.
2523 * linux/syscallent.h: Update the table.
2524 * io.c: Add sys_sendfile64.
2525 * file.c: Add sys_readahead, sys_*xattr.
2526 * process.c: Add sys_futex, sys_*affinity.
2527
2528 * linux/syscall.h (SYS_socket_subcall): Define to 256 on all machines.
2529 (SYS_ipc_subcall): Always SYS_socket_subcall + SYS_socket_nsubcalls.
2530 * linux/syscallent.h: Update the table for socket and ipc subcalls.
2531
Michal Ludvig882eda82002-11-11 12:50:47 +000025322002-11-09 Heiko Carstens <heiko.carstens@de.ibm.com>
2533
2534 Bugfix for s390/s390x:
2535 * syscall.c: Fixed scno derivation for s390/s390x.
2536
Michal Ludvig17f8fb32002-11-06 13:17:21 +000025372002-11-06 Michal Ludvig <mludvig@suse.cz>
2538
Michal Ludvig39c0e942002-11-06 14:00:12 +00002539 Merged patch from Steven J. Hill <sjhill@realitydiluted.com>
2540 to allow the compilation of a native MIPS strace.
2541
25422002-11-06 Michal Ludvig <mludvig@suse.cz>
2543
Roland McGrath36d87c22002-12-15 23:59:13 +00002544 From Marty Leisner <leisner@rochester.rr.com>,
Michal Ludvig882eda82002-11-11 12:50:47 +00002545 rewritten by mludvig:
Michal Ludvig17f8fb32002-11-06 13:17:21 +00002546 * strace.c (not_failing_only): New.
2547 (usage): Added -z switch description.
2548 (main): Added -z switch parsing to not_failing_only variable.
2549 * syscall.c (trace_syscall): Added not_failing_only handling.
2550
Michal Ludvigeb818f02002-10-09 09:16:22 +000025512002-10-08 Heiko Carstens <heiko.carstens@de.ibm.com>
2552
2553 Missing complete changelog for 2002-10-07 commit:
2554 * Makefile.in: Added linux/s390, linux/s390x to ALL_SUBDIRS.
2555 * acconfig.h: New define for s390x.
2556 * config.sub: Added missing define for s390 and new one for s390x.
2557 * configure.in: Added new define for s390x.
2558 * file.c: Added missing #undef dirent64 and new defines for s390x.
2559 * linux/s390: New directory.
2560 * linux/s390/Makefile.in: New file.
2561 * linux/s390/errnoent.h: New file.
2562 * linux/s390/ioctlent.h: New file.
2563 * linux/s390/signalent.h: New file.
2564 * linux/s390/syscallent.h: New file.
2565 * linux/s390x: New directoy.
2566 * linux/s390x/Makefile.in: New file.
2567 * linux/s390x/errnoent.h: New file.
2568 * linux/s390x/ioctlent.h: New file.
2569 * linux/s390x/signalent.h: New file.
2570 * linux/s390x/syscallent.h: New file.
2571 * linux/syscall.h: Added sys_mincore() prototype and added new
2572 s390x defines.
2573 * process.c: Added s390x defines.
2574 (change_syscall): Changed handling for s390.
2575 (setarg): Added missing s390/s390x code in setarg().
2576 * signal.c: Added s390x define.
2577 (sys_sigreturn): Bugfix in s390/s390x code (wrong number of
2578 arguments to sprintsigmask()).
2579 * stream.c (internal_stream_ioctl): Changed int cast to long cast,
2580 since printstr() expects a long.
2581 * syscall.c (decode_subcall): Changed several variables to be long
2582 instead of int to match 64 bit requirements. Added s390x defines.
2583 (syscall_enter): Changed upeek() call to match s390 and s390x
2584 requirements.
2585 * util.c: Added s390x defines.
2586
Michal Ludvig10a88d02002-10-07 14:31:00 +000025872002-10-07 Michal Ludvig <mludvig@suse.cz>
2588
2589 Merged s390x port by Heiko Carstens <Heiko.Carstens@de.ibm.com>
2590 and bugfixes to s390 by D.J. Barrow.
2591
Michal Ludvig53b320f2002-09-23 13:30:09 +000025922002-09-23 Michal Ludvig <mludvig@suse.cz>
2593
Roland McGrath36d87c22002-12-15 23:59:13 +00002594 Merged x86-64 port by Andi Kleen <ak@suse.de>
Michal Ludvig0e035502002-09-23 15:41:01 +00002595 and Michal Ludvig <mludvig@suse.cz>
2596 * Makefile.in: New target 'headers'. Failure ignored.
2597 * acconfig.h: New defines for x86-64.
2598 * configure.in: Ditto.
2599 * defs.h: Ditto.
2600 * file.c: Ditto.
2601 * signal.c: Ditto.
2602 * process.c: Added support for x86-64.
2603 * util.c: Ditto.
2604 * syscall.c: Ditto + added automatic personality switching.
2605 * linux/syscall.h: Ditto.
2606 * linux/x86_64: New directory.
2607 * linux/x86_64/Makefile.in: New file.
2608 * linux/x86_64/gentab.pl: Ditto.
2609 * linux/x86_64/i386-headers.diff: Ditto.
2610 * linux/x86_64/makeheaders.sh: Ditto.
2611 * linux/x86_64/syscallent.h: Ditto.
2612 * mem.c (print_mmap): Always print arg[4] as int.
2613
26142002-09-23 Michal Ludvig <mludvig@suse.cz>
2615
Michal Ludvig53b320f2002-09-23 13:30:09 +00002616 * configure.in: Fix regular expressions.
Roland McGrath36d87c22002-12-15 23:59:13 +00002617 * linux/syscall.h: Added missing braces in prototype of
Michal Ludvig53b320f2002-09-23 13:30:09 +00002618 sys_getdents64().
2619 * file.c: Use '#ifdef LINUX' instead of '#ifdef linux'.
2620 (struct fileflags): Made extern to inhibit compiation warnings.
2621 (sys_getdents64): Merged LINUX and SVR4 part.
Roland McGrath36d87c22002-12-15 23:59:13 +00002622 * syscall.c (get_scno): Split multiline string into two distinct
Michal Ludvig53b320f2002-09-23 13:30:09 +00002623 strings.
2624
John Hughes2c4e3a82002-05-24 10:19:44 +000026252002-05-24 John Hughes <john@calva.com>
2626
2627 * stream.h, net.h: Avoid possible infinite loop caused by
2628 unsigned arithmetic in preceeding change.
2629
John Hughesb6643082002-05-23 11:02:22 +000026302002-05-23 John Hughes <john@calva.com>
2631
John Hughes38ae88d2002-05-23 11:48:58 +00002632 * acconfig.h: Add HAVE_OPTHDR and HAVE_T_OPTHDR defines.
2633
2634 * aclocal.m4: Add tests for struct opthdr in sys/socket.h and
2635 struct t_opthdr in sys/tiuser.h, define HAVE_OPTHDR and HAVE_T_OPTHDR
2636 if found.
2637
2638 * configure.in: use tests for struct opthdr and struct t_opthdr.
2639
2640 * defs.h: add new function print_sock_optmgmt.
2641
2642 * io.c: add hack that lets ioctl decode functions set auxilliary
2643 string return.
2644
2645 * stream.c: better decoding for timod ioctls.
2646
2647 * net.c: add function print_sock_optmgmt, used by timod ioctl
2648 decoding functions in stream.c.
2649
26502002-05-23 John Hughes <john@calva.com>
2651
John Hughescde80ab2002-05-23 11:19:05 +00002652 * acconfig.h: Make autoheader happy about Linux/SuperH
2653
26542002-05-23 John Hughes <john@calva.com>
2655
John Hughesb6643082002-05-23 11:02:22 +00002656 * strace.c: Get rid of warning if not using POLL_HACK
2657
John Hughes93f7fcc2002-05-22 15:46:49 +000026582002-05-22 John Hughes <john@calva.com>
2659
2660 * net.c: Simplify {get,set}sockopt, decode SO_LINGER, cope with
2661 options that are not just ints, cope with systems that don't
2662 #define SOL_TCP and so on.
2663
John Hughesd870b3c2002-05-21 11:24:18 +000026642002-05-21 John Hughes <john@calva.com>
2665
2666 * strace.c: Fix warning if POLL_HACK is used.
2667
John Hughesc61eb3d2002-05-17 11:37:50 +000026682002-05-17 John Hughes <john@calva.com>
2669
John Hughes5eb78d52002-05-17 14:04:24 +00002670 * svr4/ioctlent.sh: Some defines on UW come with too many spaces.
2671
26722002-05-17 John Hughes <john@calva.com>
2673
John Hughese9224782002-05-17 13:58:24 +00002674 * svr4/ioctlent.sh: Cope with #defines wrapped in #ifdefs.
2675
26762002-05-17 John Hughes <john@calva.com>
2677
John Hughesfd15cb32002-05-17 11:41:35 +00002678 * stream.c: tidy up output a little.
2679
26802002-05-17 John Hughes <john@calva.com>
2681
John Hughesc61eb3d2002-05-17 11:37:50 +00002682 * process.c, svr4/dummy.h, svr4/syscall.h: decode arguments
2683 to procpriv syscall.
2684
Wichert Akkermanccef6372002-05-01 16:39:22 +000026852002-05-01 Wichert Akkerman <wichert@deephackmode.org>
2686
2687 * configure.in, defs.h, process.c, sock.c, syscall.c, util.c: merge
2688 patch from Greg Banks <gbanks@pocketpenguins.com> for Linux/SuperH
2689 support
2690
Wichert Akkermanb0c598f2002-04-01 12:48:06 +000026912002-04-01 Wichert Akkerman <wichert@deephackmode.org>
2692
Wichert Akkermaneb8ebda2002-04-01 17:48:02 +00002693 * strace.c: close tcp->outf in droptcb()
2694
26952002-04-01 Wichert Akkerman <wichert@deephackmode.org>
2696
Wichert Akkermanb0c598f2002-04-01 12:48:06 +00002697 * net.c: decode packet options
2698
Wichert Akkermand321ff92002-03-31 18:45:45 +000026992002-03-31 Wichert Akkerman <wichert@deephackmode.org>
2700
Wichert Akkermaned2c74d2002-03-31 20:16:02 +00002701 * linux/{alpha,hppa,ia64,mips,powerpc,sparc}/syscallent.h: regenerated
2702
27032002-03-31 Wichert Akkerman <wichert@deephackmode.org>
2704
Wichert Akkermand321ff92002-03-31 18:45:45 +00002705 * debian/*: added
Wichert Akkerman7ab47b62002-03-31 19:00:02 +00002706 * linux/syscallent.h: fix typo and add the reserved stream syscalls
2707 * defs.h, file.c, io.c: fix signed/unsigned issues
Wichert Akkerman4527dae2002-03-31 19:03:29 +00002708 * syscall.c: check for negative u_errors
Wichert Akkerman235b0ff2002-03-31 19:08:04 +00002709 * cvsbuild: renamed to autogen.sh
Wichert Akkermand321ff92002-03-31 18:45:45 +00002710
Wichert Akkerman8b8ff7c2001-12-27 22:27:30 +000027112001-12-17 Wichert Akkerman <wakkerma@debian.org>
2712
2713 * net.c: add new TCP socket options
2714
John Hughesfa519572001-10-26 08:05:49 +000027152001-10-26 John Hughes <john@calva.com>
2716
2717 * svr4/ioctlent.sh: Cope with #define lines containing
2718 comments that terminate on subsequent lines. Used to
2719 comment out subsequent ioctls!
2720
Wichert Akkerman9fbd0dd2001-10-26 05:20:37 +000027212001-10-25 Wichert Akkerman <wakkerma@debian.org>
2722
2723 * linux/ioctlent.h: regenerated using current scripts so
2724 term ioctls are included
2725
John Hughes19e49982001-10-19 08:59:12 +000027262001-10-19 John Hughes <john@Calva.COM>
2727
2728 * strace.c(proc_open): On SVR4 only trace the syscalls,
2729 signals and faults we care about.
2730
John Hughes42162082001-10-18 14:48:26 +000027312001-10-18 John Hughes <john@Calva.COM>
2732
John Hughesc0c5ac82001-10-19 07:32:14 +00002733 * acconfig.h: Add HAS_SIGINFO_T.
2734 * aclocal.m4: add check for siginfo_t in signal.h.
2735 * configure.in: use check for siginfo_t.
2736 * defs.h: if HAVE_SIGINFO_T the declare printsiginfo. On SVR4
2737 allow access to siginfo when signal recieved.
2738 * process.c: Remove SVR4 only version of printsiginfo.
2739 * signal.c: merge SVR4 and LINUX versions of printsiginfo.
2740 * strace.c: on SVR4 print siginfo when signal recieved.
2741
27422001-10-18 John Hughes <john@Calva.COM>
2743
John Hughes2d8b2c52001-10-18 14:52:24 +00002744 * system.c(sys_ssisys): handle return values for ssisys
2745
27462001-10-18 John Hughes <john@Calva.COM>
2747
John Hughes42162082001-10-18 14:48:26 +00002748 * signal.c: handle sigwait
2749 * svr4/dummy.c: Move sigwait to done
2750 * svr4/syscall.h: handle sigwait
2751
John Hughes9cecf7f2001-10-16 10:20:22 +000027522001-10-16 John Hughes <john@Calva.COM>
2753
John Hughes0aadba42001-10-16 18:19:52 +00002754 * system.c(sys_ssisys): decode some args for ssisys.
2755
27562001-10-16 John Hughes <john@Calva.COM>
2757
John Hughesaca07f32001-10-16 18:12:27 +00002758 * mem.c: MS_SYNC is zero, so must be first in xlat list.
2759
2760 * svr4/dummy.h: memcntl is much like mctl.
2761
27622001-10-16 John Hughes <john@Calva.COM>
2763
John Hughes9cecf7f2001-10-16 10:20:22 +00002764 * util.c (umovestr): UnixWare (svr4?) returns 0 when trying
2765 to read unmapped page. Make it possible to strace ksh.
2766
Wichert Akkerman7b3346b2001-10-09 23:47:38 +000027672001-10-03 David Mosberger <davidm@hpl.hp.com>
2768
2769 * process.c (internal_clone): Avoid race condition by clearing
2770 breakpoint after attaching to child.
2771
27722001-10-02 David Mosberger <davidm@hpl.hp.com>
2773
2774 * linux/ia64/syscallent.h: Define ia32 syscall numbers (originally
2775 by Don Dugger, with my refinements).
2776
2777 * linux/ia64/ioctlent.h: Regenerate and manually merge conflicting
2778 ioctls (TCGETS & SNDCTL_TMR_TIMEBASE, etc.).
2779
2780 * linux/ia64/Makefile.in (ioctldefs.h ioctls.h): Update for
2781 new ioctlent.h generation scheme.
2782
2783 * linux/syscall.h (sys_clone2): Declare.
2784 [IA64] Define ia32 socket, ipc, and extra syscall numbers.
2785
2786 * linux/ioctlent.sh (regexp): Also handle <asm/ioctls.h> so we
2787 don't miss the tty ioctls (unfortunately, some of the sound timer
2788 ioctls are in conflict with them!).
2789
2790 * util.c (setbpt) [IA64]: Add ia32 support (by Don Dugger).
2791 (clrbpt) [IA64]: Ditto.
2792
2793 * syscall.c (internal_syscall): Handle SYS_clone2, SYS32_wait4,
2794 and SYS32_exit.
2795 (get_scno): Get ia32 syscall number from r1 (orig eax) instead of
2796 r8 (eax). Handle TCB_WAITEXECVE.
2797 (syscall_fixup): Handle ia64.
2798 (syscall_enter): Fix argument fetching for ia64.
2799
2800 * strace.c [IA64 && LINUX]: Include <asm/ptrace_offsets.h>.
2801 (trace) [PT_GETSIGINFO]: Print signal address and pc if possible.
2802
2803 * process.c (tcp): New function.
2804 (change_syscall): Add support for ia64 linux.
2805 (sys_execve): Turn on TCB_WAITEXECVE for ia64 linux.
2806
2807 * desc.c (getlk): Cast l_len to "long long" to avoid warnings when
2808 type is narrower.
2809 * resource.c (sprintrlim64): Ditto.
2810
2811 * defs.h (TCB_WAITEXECVE) [IA64]: Define.
2812 [IA64]: Declare "ia32" variable.
2813
2814 * bjm.c: Do not include <linux/module.h>. It's not safe to include
2815 kernel headers. Declare the necessary constants and structures
2816 directly instead.
2817
28182001-10-01 David Mosberger <davidm@hpl.hp.com>
2819
2820 * signal.c (parse_sigset_t): New function.
2821 (sigishandled): Fix off-by-one bug by using parse_sigset_t() and
2822 avoiding relying on internal layout of sigset_t datastructure.
2823
28242001-04-26 David Mosberger <davidm@hpl.hp.com>
2825
2826 * linux/ia64/syscallent.h: Add getunwind().
2827
28282001-04-11 David Mosberger <davidm@hpl.hp.com>
2829
2830 * syscall.c (syscall_enter): Use PT_RBS_END instead of deprecated
2831 PT_AR_BSP. Pick up arguments starting with out0, which is not
2832 always the same as r32 (e.g., consider inlined syscalls).
2833
John Hughesa2278142001-09-28 16:21:30 +000028342001-09-28 John Hughes <john@Calva.COM>
2835
2836 * process.c: FreeBSD-CURRENT no longer has PT_READ_U, and anyway we
2837 were showing it as PT_WRITE_U! Fix from Maxime Henrion.
2838
John Hughes1fcb1d62001-09-18 15:56:53 +000028392001-09-18 John Hughes <john@Calva.COM>
2840
2841 * net.c: fix display of sockaddr structures, sometimes too many "}",
2842 sometimes too few. Fix suggested by Richard Kettlewell.
2843
Wichert Akkerman67e3e632001-08-19 11:43:17 +000028442001-08-19 Wichert Akkerman <wakkerma@debian.org>
2845
2846 * signal.c: do not include asm/sigcontext.h on IA64 since it gets
2847 the struct from bits/sigcontext.h already which signal.h includes.
2848
Wichert Akkerman7b96b572001-08-03 11:37:07 +000028492001-08-03 Wichert Akkerman <wakkerma@debian.org>
2850
Wichert Akkerman7c707a72001-08-03 21:54:08 +00002851 * linux/ioctlent.sh: change regexps so we catch sound ioctls as well in
2852 Linux
2853 * linux/Makefile.in: fix a few things so the ioctl list is generated
2854 properly
2855 * ioctl.c: remember to shift ioctl masks as well
2856
28572001-08-03 Wichert Akkerman <wakkerma@debian.org>
2858
Wichert Akkermancd6aefc2001-08-03 12:27:54 +00002859 * Linux/**/syscallent.h: synchronize section for fcntl and use sys_fcntl
2860 for sys_fcntl as well
2861
28622001-08-03 Wichert Akkerman <wakkerma@debian.org>
2863
Wichert Akkerman0b1120a2001-08-03 12:20:38 +00002864 * linux/hppa/syscallent.h: updated from Matthew Wilcox
2865
28662001-08-03 Wichert Akkerman <wakkerma@debian.org>
2867
Wichert Akkerman82b162e2001-08-03 11:51:28 +00002868 * process.c: seems Linux/IA64 changed register names on us, switch to
2869 using new names.
2870
28712001-08-03 Wichert Akkerman <wakkerma@debian.org>
2872
Wichert Akkerman54b4f792001-08-03 11:43:35 +00002873 * strace.c: set CLOEXEC flag for outputfile
2874
28752001-08-03 Wichert Akkerman <wakkerma@debian.org>
2876
Wichert Akkerman7b96b572001-08-03 11:37:07 +00002877 * linux/sparc/syscall.h, linux/sparc/syscallent.h: add some LFS calls
2878
Wichert Akkerman4f1bbbe2001-07-23 14:43:07 +000028792001-07-23 Wichert Akkerman <wakkerma@debian.org>
2880
2881 * configure.in: Support cross-compiling between architectures
2882
Wichert Akkerman0dc4fc92001-07-13 22:09:05 +000028832001-07-13 Wichert Akkerman <wakkerma@debian.org>
2884
2885 * configure.in: add S390 to architecture list
2886
John Hughes1d08dcf2001-07-10 13:48:44 +000028872001-07-10 John Hughes <john@Calva.COM>
2888
2889 * TODO, defs.h, io.h, net.c, strace.c, syscall.c, util.c: Merge fixes
2890 from Richard Kettlewell <rkettlewell@zeus.com> which add I/O dumping
2891 of args to readv/writev. Also gets rid of redundant printiovec
2892 routine from net.c (duplicate of tprint_iov in util.c).
2893
Wichert Akkerman688c7fc2001-07-02 16:53:25 +000028942001-07-02 Wichert Akkerman <wakkerma@debian.org>
2895
2896 * config.{guess,sub}: updated
2897
John Hughesaa09c6b2001-05-15 14:53:43 +000028982001-05-15 John Hughes <john@Calva.COM>
2899
John Hughes70c5e7a2001-05-15 15:09:14 +00002900 * signal.c: pass a pointer to sigmask to printsigmask from printcontext,
2901 it was just passing the sigmask (ucp->uc_sigmask).
2902
29032001-05-15 John Hughes <john@Calva.COM>
2904
John Hughesaa09c6b2001-05-15 14:53:43 +00002905 * util.c: Don't run off the end of valid memory in umovestr when
2906 USE_PROCFS. Important for FREEBSD systems (which seem to have an
2907 unmapped page just after the args/env area).
2908
John Hughes4e36a812001-04-18 15:11:51 +000029092001-04-18 John Hughes <john@Calva.COM>
2910
2911 * configure.in: test for sys/nscsys.h, the non-stop clusters includes.
2912 * process.c: handle rfork{1,all} and rexecve calls on non-stop clusters.
2913 * syscall.c: treat rfork{1,all} and fork{1,all} as fork like calls.
2914 Treat rexecve as an exec.
2915 * system.c: decode arguments to ssisys call on nsc systems.
2916 * svr4/dummy.h, svr4/syscall.h: now we handle rfork{1,all}, ssisys and
2917 rexecve calls.
2918
Wichert Akkerman35254402001-04-12 09:11:04 +000029192001-04-12 Wichert Akkerman <wakkerma@debian.org>
2920
2921 * process.c: fix cast for powerpc code
2922 * linux/powerpc/syscallent.h: update syscall list
2923 * README: fix address for the strace mailinglist
2924 * signal.c: switch to using /proc/<pid>/status on Linux so we can get
2925 the realtime signals as well
2926
Wichert Akkerman4ca31092001-04-10 10:28:43 +000029272001-04-10 Wichert Akkerman <wakkerma@debian.org>
2928
2929 * Merge patches from Maciej W. Rozycki:
2930 + util.c: add code to print PC for MIPS
2931 + linux/mips/syscallent.h: updated
2932 + system.c: formating fixes for sys_sysmips
Wichert Akkerman42080d82001-04-10 10:32:26 +00002933 + configure.in: test for yet more headers
2934 + stream.c: use configure-headertests instead of relying on OS hints
Wichert Akkerman4ca31092001-04-10 10:28:43 +00002935
Wichert Akkermand6b92492001-04-07 21:37:12 +000029362001-04-07 Wichert Akkerman <wakkerma@debian.org>
2937
Wichert Akkermane70bbe52001-04-07 21:47:30 +00002938 * NEWS: start 4.3.1 items
2939 * version.c: updated to say 4.3.1 (was still 4.2, oops!)
2940
29412001-04-07 Wichert Akkerman <wakkerma@debian.org>
2942
Wichert Akkermand6b92492001-04-07 21:37:12 +00002943 * configure.in: test for asm/sysmips.h and linux/utsname.h
2944 * linux/syscall.h: fix a typo for sys_sysmips
2945 * system.c: include asm/sysmips.h and linux/utsname.h if they exist,
2946 fix typo
2947
Wichert Akkerman4f043ec2001-03-31 16:25:58 +000029482001-03-31 Wichert Akkerman <wakkerma@debian.org>
2949
2950 * linux/mips/ioctlent.h: updated using new Linux ioctl setup
2951
29522001-03-31 Wichert Akkerman <wakkerma@debian.org>
Wichert Akkerman8aada672001-03-31 16:20:33 +00002953
2954 * linux/ia64/ioctlent.h: regenerated
2955
Wichert Akkerman29f0d052001-03-31 16:14:55 +000029562001-03-31 Wichert Akkerman <wakkerma@debian.org>
2957
Wichert Akkermancf715672001-03-31 16:16:57 +00002958 * linux/{alpha,ia64,powerpc}/ioctlent.sh: removed, all archs use the
2959 general Linux ioctlent.sh
2960
29612001-03-31 Wichert Akkerman <wakkerma@debian.org>
2962
Wichert Akkerman29f0d052001-03-31 16:14:55 +00002963 * linux/ioctlent.sh: add dir variable for location of kernel headers
2964
Wichert Akkermanbbf59e92001-03-29 17:43:19 +000029652001-03-29 Wichert Akkerman <wakkerma@debian.org>
2966
Wichert Akkerman00cd74c2001-03-30 16:20:27 +00002967 * linux/ia64/ioctlent.h: updated using new Linux ioctl setup
2968
29692001-03-29 Wichert Akkerman <wakkerma@debian.org>
2970
Wichert Akkerman10767782001-03-29 19:04:25 +00002971 * linux/powerpc/ioctlent.h: updated using new Linux ioctl setup
2972
29732001-03-29 Wichert Akkerman <wakkerma@debian.org>
2974
Wichert Akkermand7fb2062001-03-29 18:16:07 +00002975 * linux/hppa/ioctlent.h: updated using new Linux ioctl setup
2976
29772001-03-29 Wichert Akkerman <wakkerma@debian.org>
2978
Wichert Akkermanbbf59e92001-03-29 17:43:19 +00002979 * linux/alpha/ioctlent.h: updated using new Linux ioctl setup
2980
Wichert Akkerman2f1d87e2001-03-28 14:40:14 +000029812001-03-28 Wichert Akkerman <wakkerma@debian.org>
2982
Wichert Akkerman00a82ee2001-03-28 20:29:17 +00002983 * configure.in: use sparc* so we can compile on sparc64 as well
2984 * process.c, syscall.c: work around double define of fpq, fq and fpu
2985 structs on Linux/sparc, and use regs instead of pt_regs
2986 * don't use asm/sigcontext.h on Linux/sparc
2987
29882001-03-28 Wichert Akkerman <wakkerma@debian.org>
2989
Wichert Akkermanfe8f65d2001-03-28 15:10:49 +00002990 * linux/sparc/ioctlent.h: updated using new Linux ioctl setup
2991
29922001-03-28 Wichert Akkerman <wakkerma@debian.org>
2993
Wichert Akkerman2f1d87e2001-03-28 14:40:14 +00002994 * strace.c: use __WALL as wait4 flag if it exists so we can properly
2995 trace threaded programs
2996
John Hughes8e075fb2001-03-27 13:57:48 +000029972001-03-27 John Hughes <john@Calva.COM>
2998
John Hughesb8a85a42001-03-28 08:05:27 +00002999 * aclocal.m4: add check for endianness of long long.
3000 * acconfig.h: add #define for LITTLE_ENDIAN_LONG_LONG.
3001 * configure.in: check for endianness of long long.
Wichert Akkerman8ab1a3c2001-03-28 14:27:23 +00003002 * defs.h: change LONG_LONG macro to work with either endianness of
John Hughesb8a85a42001-03-28 08:05:27 +00003003 long long.
3004
30052001-03-27 John Hughes <john@Calva.COM>
3006
John Hughes61563572001-03-27 16:47:36 +00003007 * net.c: Make compilable by SCO UDK compiler (doesn't like empty
3008 initialisation list for array).
3009
30102001-03-27 John Hughes <john@Calva.COM>
3011
John Hughes8e075fb2001-03-27 13:57:48 +00003012 * svr4/syscallent.h: ntp_adjtime entry was duplicated on Solaris
3013 systems - bad merge of Harald Boehme's patch by me.
3014
Wichert Akkerman072ea8a2001-03-27 14:46:05 +000030152001-03-27 Wichert Akkerman <wakkerma@debian.org>
3016
3017 * lots of files: add Linux/hppa support
3018
Wichert Akkerman407be9a2001-03-19 10:56:49 +000030192001-03-19 Wichert Akkerman <wakkerma@debian.org>
3020
3021 * linux/mips/syscallent.h: we can't have -1 nargs, change to 0
Wichert Akkermane3bf56a2001-03-19 11:05:17 +00003022 * linux/syscallent.h: not that syscalls 220 and 221 are used now
Wichert Akkerman6f2bbe22001-03-19 11:00:29 +00003023 * config.guess: updated
Wichert Akkerman407be9a2001-03-19 10:56:49 +00003024
Wichert Akkermana9667852001-03-17 17:26:34 +000030252001-03-17 Wichert Akkerman <wakkerma@debian.org>
3026
3027 * linux/ioclsort.c: new file
3028 * linux/ioctlent.sh: complete rewrite to use a more sane approach to get
3029 the ioctl list that doesn't involve attempting to #include all kernel
3030 headers
3031 * linux/.cvsignore: added ioctdefs.h and ioctls.h which are generated
3032 by the new ioctlent.sh
3033 * ioctl.c: only look at the number and type bits for linux, since
3034 ioctlent.sh no longer supplies the others
3035
John Hughes70623be2001-03-08 13:59:00 +000030362001-03-08 John Hughes <john@Calva.COM>
3037
John Hughescf1de752001-03-08 17:27:20 +00003038 * freebsd/syscalls.pl: On FreeBSD we must cope with COMPATibility syscalls,
3039 pretend they have names ending with "?" so that -e trace=stat (for
3040 example) will work.
3041 * freebsd/i386/syscallent.h: add ? to compatability syscalls.
3042 * freebsd/i386/syscall.h: consistency.
3043
30442001-03-08 John Hughes <john@Calva.COM>
3045
John Hughesc0fc3fd2001-03-08 16:10:40 +00003046 * acconfig.h: add new ST_xxx defines.
3047 * aclocal.m4: macros to check for more fields in struct stat.
3048 * configure.in: use new macros to check for fields in struct stat.
3049 * file.c: use new defines to replace #ifdef FREEBSD by #if HAVE_ST_xxx.
3050
30512001-03-08 John Hughes <john@Calva.COM>
3052
John Hughes0c79e012001-03-08 14:40:06 +00003053 * defs.h: rename wimpy get64 as powerful new LONG_LONG
3054 * file.c: use LONG_LONG
3055 * io.c: use LONG_LONG
3056 * mem.c use LONG_LONG
3057
30582001-03-08 John Hughes <john@Calva.COM>
3059
John Hughes70623be2001-03-08 13:59:00 +00003060 * acconfig.h: new #defines HAVE_LONG_LONG_OFF_T and HAVE_LONG_LONG_RLIM_T.
3061 * aclocal.m4: routines to check for long long off_t and rlim_t.
3062 * configure.in: check for long long off_t and rlim_t.
3063 * desc.c: if HAVE_LONG_LONG_OFF_T treat flock as flock64
3064 * file.c: if HAVE_LONG_LONG_OFF_T treat stat,lstat,fstat and lseek as 64
3065 bit versions.
3066 * io.c: if HAVE_LONG_LONG_OFF_T use 64 bit versions of pread and pwrite.
3067 * mem.c: if HAVE_LONG_LONG_OFF_T use 64 bit version of mmap
3068 * resource.c: if HAVE_LONG_LONG_OFF_T use 64 bit versions of getrlimit
3069 and setrlimit.
3070 * freebsd/syscalls.print: don't explicitly use 64 bit versions of calls,
3071 now done automaticaly for us.
3072 * freebsd/i386/syscall.h: ditto.
3073 * freebsd/i386/syscallent.h ditto.
3074
John Hughes5a826b82001-03-07 13:21:24 +000030752001-03-07 John Hughes <john@Calva.COM>
3076
John Hughesb8c9f772001-03-07 16:53:07 +00003077 * desc.c: On FreeBSD flock structure uses 64 bit offsets.
3078 * file.c: On FreeBSD use stat64 and pals instead of stat.
3079 * freebsd/syscalls.print: use stat64, lstat64 and fstat64.
3080 * freebsd/i386/syscall.h: ditto.
3081 * freebsd/i386/syscallent.h: ditto.
3082
30832001-03-07 John Hughes <john@Calva.COM>
3084
John Hughese2f6d872001-03-07 16:03:20 +00003085 * file.c: merge missing part of Harald Böhme's solaris patches,
3086 was only declaring sys_{stat64,lstat64,fstat64} on linux!
3087
30882001-03-07 John Hughes <john@Calva.COM>
3089
John Hughes9dec06c2001-03-07 14:47:19 +00003090 * svr4/dummy.h: fix multiple define warning on non LFS64 systems.
3091 * svr4/syscallent.h: pread/pwrite are TF calls.
3092
30932001-03-07 John Hughes <john@Calva.COM>
3094
John Hughes5a826b82001-03-07 13:21:24 +00003095 * defs.h: add ALIGN64 macro to cope with FreeBSD's strange insistence
3096 on alignment for off_t (64 bit) arguments. Also simplify get64 so
3097 we don't need to know endianness of long long.
3098 * file.c: FreeBSD now uses 64 bit versions of lseek, truncate,
3099 ftruncate, allows reduction in numvber of horrid #if's
3100 * io.c: FreeBSD now uses 64 bit versions of pread, pwrite.
3101 * mem.c: FreeBSD now uses 64 bit version of mmap.
3102 * freebsd/syscalls.print: use 64 bit versions of various syscalls.
3103 * freebsd/i386/syscall.h: use 64 bit versions of various syscalls.
3104 * freebsd/i386/syscallent.h: use 64 bit versions of various syscalls.
3105
John Hughes95ea9c02001-03-07 10:11:02 +000031062001-03-06 John Hughes <john@Calva.COM>
3107
John Hughes7737c8a2001-03-07 10:41:58 +00003108 * file.c: Implement truncate64 and ftruncate64
3109 * svr4/dummy.h: add dummies for truncate64 and ftruncate64 for non
3110 LFS64 systems.
3111 * svr4/syscall.h: add declarations for truncate64 and ftruncate64.
3112
31132001-03-06 John Hughes <john@Calva.COM>
3114
John Hughesc5249902001-03-07 10:39:06 +00003115 * freebsd/syscalls.pl: fix for FreeBSD 4.1 (new optional field in
3116 syscall master file).
3117
31182001-03-06 John Hughes <john@Calva.COM>
3119
John Hughesbb557232001-03-07 10:37:38 +00003120 * syscall.c: fix for FreeBSD 4.1 (SYS_semconfig has disappeared). Also
3121 zap incorrect syscall subarg range check.
3122
31232001-03-06 John Hughes <john@Calva.COM>
3124
John Hughescb8b69d2001-03-07 10:34:27 +00003125 * configure.in, defs.h, desc.c, file.c, io.c, mem.c, net.c, resource.c,
3126 signal.c, syscall.c, svr4/dummy.h, svr4/syscall.h, svr4/syscallent.h:
3127 merge Harald Böhme's solaris patches (_LFS64_LARGEFILE and kernel aio
3128 mostly).
3129
31302001-03-06 John Hughes <john@Calva.COM>
3131
John Hughesbc4935a2001-03-07 10:28:50 +00003132 * dummy.h: add unimplemented UW sycalls
3133 * syscall.h: we can do settimeofday for UW, whopee!
3134 * syscallent.h: fix unimplemented UW syscalls
3135
31362001-03-06 John Hughes <john@Calva.COM>
3137
John Hughesc8f2e8a2001-03-07 10:26:17 +00003138 * aclocal.m4: look for pr_syscall in pr_lwp if we HAVE_MP_PROCFS
3139 * defs.h: add PR_SYSCALL to allow use of pr_lwp.pr_syscall if it exists.
3140 * syscall.c: use PR_SYSCALL instead of pr_syscall, fix up UnixWare code
3141 so it doesn't try to use pr_sysarg.
3142
31432001-03-06 John Hughes <john@Calva.COM>
3144
John Hughes091fe832001-03-07 10:15:39 +00003145 * aclocal.m4: on systems other than linux look for stat64 in sys/stat.h
3146 * file.c: handle xstat version _STAT64_VER, aka stat64.
3147
31482001-03-06 John Hughes <john@Calva.COM>
3149
John Hughes95ea9c02001-03-07 10:11:02 +00003150 * net.c: make sure SOL_ options are defined before using.
3151 * signal.c: declare sigset variable, only used on linux, inside #ifdef.
3152
Wichert Akkermanfa306182001-02-21 16:42:26 +000031532001-02-21 Wichert Akkerman <wakkerma@debian.org>
3154
3155 * net.c: fix format for printing Unix domain sockets
3156
Wichert Akkerman0cbfb322001-02-19 13:35:53 +000031572001-02-19 Wichert Akkerman <wakkerma@debian.org>
3158
3159 * linux/mips/syscallent.h: use new sys_sysmips
3160 * system.c: add sys_sysmips decoding
3161
Wichert Akkerman8c7122c2001-02-16 19:59:55 +000031622001-02-16 Wichert Akkerman <wakkerma@debian.org>
3163
Wichert Akkermanf1850652001-02-16 20:29:03 +00003164 * CREDITS: add Arkadiusz Miskiewicz <misiek@pld.org.pl> who
3165 submitted the IP6 scope ID updates
3166 * acconfig.h: add HAVE_SIN6_SCOPE_ID and HAVE_SIN6_SCOPE_ID_LINUX
3167 * aclocal.m4: add AC_SIN6_SCOPE_ID to check if sin6_scope_id is
3168 available
3169 * configure.in: check for if_indextoname function and sin6_scope_id
3170 * net.c: teach printsock about IP6 scope ids
3171
31722001-02-16 Wichert Akkerman <wakkerma@debian.org>
3173
Wichert Akkerman8c7122c2001-02-16 19:59:55 +00003174 * configure.in: test for netinet/tcp.h and netinet/udp.h existance
3175 * net.c: include netinet/tcp.h and netinet/udp.h if they exist
Wichert Akkermanedf2dcc2001-02-16 20:14:40 +00003176 * Makefile.in: use @mandir@ and @bindir@
Wichert Akkerman8c7122c2001-02-16 19:59:55 +00003177
Wichert Akkermanefdecac2000-11-26 03:59:21 +000031782000-11-26 Wichert Akkerman <wakkerma@debian.org>
3179
3180 * net.c: fix formating error in sys_setsockopt
3181 * net.c: add list of socketlayers and use that for [gs]etsockopt
3182
Roland McGrath36d87c22002-12-15 23:59:13 +000031832000-10-12 Wichert Akkerman <wakkerma@debian.org>
Wichert Akkermand856b992000-10-13 12:47:12 +00003184
3185 * time.c: use sys/timex.h so things compile with 2.2 kernels
3186 * stream.c: test if MSG_* constants are #defined
3187
Wichert Akkerman9b0c31d2000-09-03 21:56:29 +000031882000-09-03 Wichert Akkerman <wakkerma@debian.org>
3189
Wichert Akkermanefdecac2000-11-26 03:59:21 +00003190 * process.c: perform bpt trick for clone as well so we can get the
3191 pid of the child before it starts doing something
3192 * file.c: rename dirent64 struct to kernel_dirent64 so things compile
3193 again with newer libcs
3194 * test/clone.c: improve our testcase a bit
3195 * Merge another patch from Gäel Roualland with FreeBSD updates
Wichert Akkerman9b0c31d2000-09-03 21:56:29 +00003196
Wichert Akkermanbf79f2e2000-09-01 21:03:06 +000031972000-09-01 Wichert Akkerman <wakkerma@debian.org>
3198
Wichert Akkermanefdecac2000-11-26 03:59:21 +00003199 * lots of files: merge patch from Gaël Roualland to add
3200 support for FreeBSD.
Wichert Akkermanbf79f2e2000-09-01 21:03:06 +00003201
Wichert Akkerman16a03d22000-08-10 02:14:04 +000032022000-08-09 Wichert Akkerman <wakkerma@debian.org>
3203
Wichert Akkermand077c452000-08-10 18:16:15 +00003204 * file.c: update to reflect that st_ino suddenly became a long long
3205 in the in Linux 2.4.0-test6
3206
32072000-08-09 Wichert Akkerman <wakkerma@debian.org>
3208
Wichert Akkerman16a03d22000-08-10 02:14:04 +00003209 * test/clone.c: minor fixup
3210 * Another bunch of patches from John Hughes merged:
3211 * signal.c:
3212 + SVR4 printcontext(): sigset_t != sigset_t*
3213 + getcontext returns a value, so print on exit of syscall
3214 + add UC_FP to ucontext_flags for OS writers that can't spell
3215 + sys_signal(): special case SIG_{ERR,DFL,IGN}
3216 + decode_subcall(): only do subcall range checking when needed
3217 * bunch of UnixWare updates
3218 * aclocal.m4, acconfig.h, configure.in: add test for long long type
3219
Wichert Akkerman7987cdf2000-07-05 16:05:39 +000032202000-07-04 Wichert Akkerman <wakkerma@debian.org>
3221
3222 * net.c: add SOL_PACKET and SOL_RAW socket options, update
3223 SOL_IP and SOL_TCP
3224
Wichert Akkermanbd4125c2000-06-27 17:28:06 +000032252000-06-23 Wichert Akkerman <wakkerma@debian.org>
3226
3227 * strace.c: close outf before we exec a child process
3228
Wichert Akkerman43a74822000-06-27 17:33:32 +000032292000-06-09 Ulrich Drepper <drepper@redhat.com>
3230
3231 * configure.in: Don't link against libnsl on Linux, it's unnecessary.
3232 * defs.h (struct tcb): Make auxstr member const.
3233 * file.c (fsmagic): And many more magic numbers.
3234 * util.c: Don't include <linux/ptrace.h> for glibc 2.1 and up.
3235
Wichert Akkerman5ae21ea2000-05-01 01:53:59 +000032362000-04-26 Wichert Akkerman <wakkerma@debian.org>
3237
3238 * defs.h: balance #if/#endif again
3239 * system.c: fix return statements in sys_capget()
3240 * Merge updates from Topi Miettinen <Topi.Miettinen@nic.fi>:
3241 + file.c: add F_[SG]ETSIG to fcntl flags
3242 + strace.c: don't setre[gu]id if not needed
3243 + system.c: handle sys_reboot for Linux
3244 + term.c: add baudrate constants up to B4000000
3245 + linux/**/syscallent.h: note that munlockall has no arguments
3246
32472000-04-25 David Mosberger <davidm@hpl.hp.com>
3248
3249 * CREDITS: fix email address
3250 * process.c: handle PR_[GS]ET_UNALIGN and PR_[GS]ET_KEEPCAPS
3251 * signal.c: honour offset of sigconfig in sigframe structure for
3252 Linux/ia64
3253 * linux/ia64/syscallent.h: Add perfmonctl, pivotroot, mincore, and
3254 madvise syscalls.
3255 * syscall.c (syscall_enter): With Kevin's latest ptrace patches,
3256 AR_BSP points to the _end_ of the active register frame, so we need
3257 to adjust bsp by moving it back by the size of the active frame
3258 before using it.
3259
32602000-04-24 Wichert Akkerman <wakkerma@debian.org>
3261
3262 * process.c: add sparc support to change_syscall
3263
Wichert Akkerman10dfa562000-04-22 18:26:56 +000032642000-04-22 Wichert Akkerman <wakkerma@debian.org>
3265
3266 * linux/mips/syscallent.h: fix some typos
3267
Wichert Akkerman481e45b2000-04-17 07:42:31 +000032682000-04-14 Wichert Akkerman <wakkerma@debian.org>
3269
3270 * linux/mips/syscallent.h: added names for SVR4, SYSV, BSD4.3 and POSIX
3271 syscalls
3272
Wichert Akkermanfd89ced2000-04-13 17:06:09 +000032732000-04-13 Wichert Akkerman <wakkerma@debian.org>
3274
3275 * defs.h: Linux/MIPS uses syscalls up to >4k, so set MAX_QUALS to
3276 4999
3277
Wichert Akkermanc7926982000-04-10 22:22:31 +000032782000-04-09 Wichert Akkerman <wakkerma@debian.org>
3279
3280 * README-linux: updated to note that strace might not compile
3281 with development kernels
3282 * bjm.c: sys_query_module: check if malloc succeeds
3283 * system.c: sys_cap[gs]et(): check if malloc succeeds, only malloc once
3284 * linux/syscallent.h: updated for 2.3.99pre3
3285 * linux/alpha/syscallent.h: updated for 2.3.99pre3, add all osf syscalls
3286 even though Linux doesn't implement them
3287 * syscall.c: add global variables for MIPS registers as well
3288 * syscall.c: move global variables to before get_scno since that uses them
3289 * util.c: oops, misspelled defined
3290 * process.c: fix ptrace calls in change_syscall
3291 * mem.c: decode sys_madvise
3292 * Merge patch from Topi Miettinen <Topi.Miettinen@nic.fi>
3293 + add support for quotactl, fdatasync, mlock, mlockall, munlockall & acct
3294 + small fix for RLIMIT_* and RUSAGE_BOTH
3295 + enhace support for capget and capset
3296
Wichert Akkermanfaf72222000-02-19 23:59:03 +000032972000-02-19 Wichert Akkerman <wakkerma@debian.org>
3298
3299 * test/vfork.c: new file to test vfork traces
3300 * test/.cvsignore: new file
3301 * defs.h: Up maximum number of traced processed to 64
Roland McGrath36d87c22002-12-15 23:59:13 +00003302 * strace.c: Disable some debugging code from davidm
Wichert Akkermanfaf72222000-02-19 23:59:03 +00003303 * implement setarg for more architectures
3304 * implement change_syscall
3305
Wichert Akkerman2ee6e452000-02-18 15:36:12 +000033061999-12-27 Morten Welinder <terra@diku.dk>
3307
3308 * syscall.c (lookup_signal, lookup_desc): isdigit requires an
3309 _unsigned_ char parameter.
3310
Wichert Akkerman12f75d12000-02-14 16:23:40 +000033112000-02-14 Wichert Akkerman <wakkerma@debian.org>
3312
3313 * S390 updates
3314
Wichert Akkerman8b1b40c2000-02-03 21:58:30 +000033152000-02-03 Wichert Akkerman <wakkerma@debian.org>
3316
Wichert Akkerman5ae21ea2000-05-01 01:53:59 +00003317 * Merge Linux/ia64 patches
Wichert Akkerman8b1b40c2000-02-03 21:58:30 +00003318
Pavel Machek4dc3b142000-02-01 17:58:41 +000033192000-01-02 Pavel Machek <pavel@ucw.cz>
3320
3321 * probe if sys/poll.h exists in configure + minor cleanups
3322
3323 * syscall.c: split trace_syscall into few pieces to make code readable
3324
Wichert Akkerman30160182000-01-21 20:31:34 +000033252000-01-21 Wichert Akkerman <wakkerma@debian.org>
3326
3327 * Release version 4.2 to get the current updates out and so
3328 we can concentrate in finishing the clone support.
3329
Wichert Akkerman3ed6dc22000-01-11 14:41:09 +000033302000-01-11 Wichert Akkerman <wakkerma@debian.org>
3331
3332 * Add 1900 to tm_year in sprinttime
3333
Wichert Akkerman0396bdc1999-12-24 23:11:57 +000033341999-12-24 Wichert Akkerman <wakkerma@debian.org>
3335
3336 * file.c: protect printstat64 with STAT64 instead of linux so we can
3337 compile on Linux architectures that don't have it
Wichert Akkerman9148a3b1999-12-24 23:13:55 +00003338 * util.c: fix LOOP for ARM
Wichert Akkerman0396bdc1999-12-24 23:11:57 +00003339
3340Fri Dec 24 18:05:00 EST 1999
3341
Ulrich Drepperc921cb21999-12-24 08:03:35 +000033421999-12-23 Ulrich Drepper <drepper@cygnus.com>
3343
3344 * file.c: Use ugly libc_stat trick also for stat64.
3345 Implement sys_stat64, sys_fstat64, sys_lstat64, and printstat64.
3346 * process.c (internal_clone): Fix a few typos and add definitions to make
3347 it at least compile.
3348 * linux/syscall.h: Declare sys_stat64, sys_lstat64, and sys_fstat64.
3349 * linux/syscallent.h: Define table entries for sys_stat64, sys_lstat64,
3350 and sys_fstat64.
3351 * aclocal.m4: Define AC_STAT64.
3352 * acconfig.h: Define HAVE_STAT64.
3353 * configure.in: Add AC_STAT64.
3354
Wichert Akkerman4dc8a2a1999-12-23 14:20:14 +00003355Thu Dec 23 15:01:37 CET 1999 Wichert Akkerman <wakkerma@debian.org>
3356
3357 * Merge patch from ftp://oss.software.ibm.com/linux390/ to add
3358 support for Linux on the IBM S/390 architecture
Wichert Akkerman7a0b6491999-12-23 15:08:17 +00003359 * process.c: add internal_clone(), currently only shows the options
3360 * syscall.c: use internal_clone to handle SYS_clone
Wichert Akkerman4dc8a2a1999-12-23 14:20:14 +00003361
3362Mon Dec 20 00:27:50 CET 1999 Wichert Akkerman <wakkerma@debian.org>
3363
3364 * Rewrite mmap-handling to support mmap2 on Linux
3365
Wichert Akkermane5be0de1999-12-14 10:46:18 +00003366Tue Dec 14 11:35:16 CET 1999 Wichert Akkerman <wakkerma@debian.org>
3367
3368 * Note that Linux can handle sys_semop() as well
3369
Wichert Akkerman4dc8a2a1999-12-23 14:20:14 +00003370Tue Nov 30 11:05:26 CET 1999 Wichert Akkerman <wakkerma@debian.org>
3371
3372 * Include linux/in6.h for glibc2.0 and older
3373
Wichert Akkermanea78f0f1999-11-29 15:34:02 +00003374Mon Nov 29 16:33:04 CET 1999 Wichert Akkerman <wakkerma@debian.org>
3375
3376 * Merge patches from John Hughes to make configure support UnixWare
3377
Wichert Akkerman9123ac81999-11-27 21:58:20 +00003378Sat Nov 27 21:38:17 CET 1999 Wichert Akkerman <wakkerma@debian.org>
3379
3380 * Enhance sys_query_module
3381
Wichert Akkermane4aafd41999-11-26 09:54:08 +00003382Fri Nov 26 10:51:55 CET 1999 Wichert Akkerman <wakkerma@debian.org>
3383
3384 * Patches from John Hughes:
3385 + cosmectic fix in sys_getpmsg
Wichert Akkerman48214be1999-11-26 09:55:42 +00003386 + allow net.c to compile on systems without AF_INET6
3387 + Only use long_to_sigset on Linux systems
Wichert Akkerman46956571999-11-26 10:12:59 +00003388 + UnixWare treats sigmask_t and sigmask_t* as the same thing
Wichert Akkerman9dbf1541999-11-26 13:11:29 +00003389 + Add pollhack
Wichert Akkerman3377df71999-11-26 13:14:41 +00003390 + Parse mount arguments for UnixWare
3391 + ACL fixes for UnixWare
Wichert Akkermane4aafd41999-11-26 09:54:08 +00003392
Wichert Akkerman2a64b431999-11-26 00:29:05 +00003393Fri Nov 26 01:28:09 CET 1999 Wichert Akkerman <wakkerma@debian.org>
3394
3395 * Release 4.1 to get all the changes made out there
3396
Wichert Akkermanf5eeabb1999-11-18 17:09:47 +00003397Thu Nov 18 18:04:04 CET 1999 Wichert Akkerman <wakkerma@debian.org>
3398
3399 * Merge stracefork from Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>
3400 + Socket calls parsed better
3401 + bunch of alpha OSF syscalls added
3402 + Fix alpha 32/64 bit issues
3403
Wichert Akkerman2f473da1999-11-01 19:53:31 +00003404Mon Nov 1 20:52:08 CET 1999 Wichert Akkerman <wakkerma@debian.org>
3405
3406 * Move Linux kernelmodule-functions from system.c to bjm.c and
3407 remove duplicate for sys_create_module
Wichert Akkerman60456d71999-11-01 19:59:33 +00003408 * Linux MIPS updates:
3409 + Play with #ifdef's in net.c to get IPv6 right
3410 + Use printargs for vm86-syscall
Wichert Akkerman2f473da1999-11-01 19:53:31 +00003411
Wichert Akkermanf90da011999-10-31 21:15:38 +00003412Sun Oct 31 22:03:00 CET 1999 Wichert Akkerman <wakkerma@debian.org>
3413
3414 * Merge Linux mips patch from Florian Lohoff <flo@rfc822.org>
3415
Wichert Akkerman50524821999-10-10 22:40:07 +00003416Mon Oct 11 00:36:25 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
3417
3418 * Merge patch from Keith Owens <kaos@ocs.com.au> to sys_query_module
3419 and sys_delete_module correctly
3420
Wichert Akkerman15dea971999-10-06 13:06:34 +00003421Wed Oct 6 02:00:33 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
3422
3423 * Update cvsbuild to give a better error if autoconf isn't installed
3424 * Add test for linux/ptrace.h to configure
3425 * Since we define GNU_SOURCE in the Makefile we don't need to define
3426 USE_GNU in file.c anymore
3427
3428Fri Sep 10 04:35:16 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
3429
3430 * #define USE_GNU before including file.c so we get some extra O_* flags
3431
3432Tue Aug 31 16:27:21 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
3433
3434 * Add missing } in IPv6 output
3435
Wichert Akkerman7b27ba01999-08-30 23:26:53 +00003436Tue Aug 31 01:23:08 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
3437
3438 * Update copyright for strace-graph to BSD to be consistent with
3439 the rest of strace
3440
Wichert Akkerman9ce1a631999-08-29 23:15:07 +00003441Mon Aug 30 00:53:57 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
3442
3443 * Merge patch from Daniel Jacobowitz: KERN_JAVA_* and KERN_SECURELVL aren't
3444 defined for all kernelversions
Wichert Akkerman7b27ba01999-08-30 23:26:53 +00003445 * Add strace-graph, written by Richard Braakman <dark@xs4all.nl>
Wichert Akkerman9ce1a631999-08-29 23:15:07 +00003446
3447Thu Aug 19 13:10:15 CEST 1999 Jakub Jelinek <jj@ultra.linux.cz>
3448
3449 * linux/sparc/syscall.h: Declare create_module/init_module.
3450 * configure.in: Allow compilation in a different directory
3451 than the source one.
3452 * signal.c: Use asm/reg.h and struct regs instead of pt_regs
3453 so that we don't depend on asm/ptrace.h which clashes with
3454 glibc sys/ptrace.h.
3455 * util.c: Likewise.
3456 * syscall.c: Likewise.
3457
Wichert Akkerman5a777661999-08-04 16:03:49 +00003458Wed Aug 4 18:01:50 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
3459
3460 * Syscall 94 on Linux alpha is sys_poll
3461
Wichert Akkerman9ce1a631999-08-29 23:15:07 +00003462Sun Jul 25 14:38:33 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
3463
3464 * Merge in UnixWare patches from John Hughes <john@Calva.COM>
3465
Wichert Akkerman527a8051999-07-15 21:11:37 +00003466Thu Jul 15 23:00:32 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
3467
3468 * Merge patch from Maciej W. Rozycki <macro@ds2.pg.gda.pl>:
3469 + Correctly implement fix sys_createmodule (Linux)
3470 + Add limited handlig of sys_initmodule (Linux)
3471
Wichert Akkerman36915a11999-07-13 15:45:02 +00003472Tue Jul 13 17:07:50 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
3473
3474 * Add configure-test for sys/reg.h and use that
3475 * Use sys/reg.h instead of asm/ptrace.h
3476
Wichert Akkermanca446991999-07-09 23:48:58 +00003477Sat Jul 10 01:46:10 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
3478
3479 * Remove hack in signal.c for arm architecture
3480 * Add hack so we compile correctly on powerpc
3481
Wichert Akkerman5b4d1281999-07-09 00:32:54 +00003482Fri Jul 9 02:28:16 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
3483
3484 * Add a corrected patch from Daniel Jacobowitz
3485
Wichert Akkermana6013701999-07-08 14:00:58 +00003486Thu Jul 8 16:00:04 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
3487
3488 * Merge patch from Daniel Jacobowitz to allow us to use the kernel types
3489 for the stat structure
3490
3491Thu Jun 24 15:54:18 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
Wichert Akkerman2b483ba1999-06-24 13:55:29 +00003492
3493 * Fix test for sys/reg include
3494
Wichert Akkermana6013701999-07-08 14:00:58 +00003495Tue Jun 22 17:26:33 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
Wichert Akkermane6f876c1999-06-22 15:28:30 +00003496
3497 * Fixed some Linux/powerpc sillyness, thanks to Daniel Jacobowitz
3498 * Fixed some SunOS compile problems earlier that I forgot to include
3499 here
3500
Wichert Akkerman789ed351999-06-14 10:45:01 +00003501Mon Jun 14 12:44:25 CEST 1999
3502
3503 * Avoid leakint fd into child when forking, patch from
3504 John Hughes <john@Calva.COM>
3505
Wichert Akkerman8829a551999-06-11 13:18:40 +00003506Fri Jun 11 14:54:47 CEST 1999
3507
3508 * Applied IRIX64 patch from Thomas E. Dickey <dickey@clark.net>
3509 * Applied Solaris and manpage updates from Guy Harris <guy@netapp.com>
3510
Wichert Akkermancc4b8f41999-06-09 12:50:10 +00003511Wed Jun 9 14:48:49 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
3512
3513 * Brought syscall list for alpha up to date
3514
Wichert Akkermandacfb6e1999-06-03 14:21:07 +00003515Wed Jun 2 18:30:12 CEST 1999 Jakub Jelinek <jj@ultra.linux.cz>
3516
3517 * system.c: sys_umount2 syscall support.
3518 * linux/sparc/errnoent.h: Update sparc-linux errnos.
3519 * linux/sparc/syscall.h: Update used sparc-linux syscalls.
3520 * linux/sparc/syscallent.h: Match 2.2.9 system calls.
3521 * file.c: sparc-linux asm/stat.h uses dev_t etc. types,
3522 so it needs strace's own copy of the stat structure.
3523 * util.c: Make it compile on sparc-linux.
3524 * strace.c: Fix strace -f and -ff operation on sparc-linux.
3525 * signal.c: rt_sigaction has different arguments on sparc*-linux
3526 and alpha-linux.
3527 * syscall.c: Recognize sparc64-linux binaries.
3528
Ulrich Drepper0d2d3231999-05-29 04:11:48 +00003529Fri May 28 21:09:00 PST Ulrich Drepper <drepper@cygnus.com>
3530
3531 * configure.in: Fix typo (CFLAG -> CFLAGS).
3532
Ulrich Drepper8783c011999-05-29 04:13:58 +00003533 * syscall.c: Don't include linux/ptrace.h explicitly for glibc.
3534
Wichert Akkerman22fe9d21999-05-27 12:00:57 +00003535Thu May 27 13:59:27 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
3536
3537 * Add some sysctl support, patch from Ulrich Drepper
3538
Wichert Akkerman9524bb91999-05-25 23:11:18 +00003539Wed May 26 01:04:34 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
3540
3541 * Use kernel dirent structure for Linux
3542
Wichert Akkerman2e2553a1999-05-09 00:29:58 +00003543Sun May 9 02:18:30 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
3544
3545 * Merge in patches from Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
3546 + some layout and other minor fixes
3547 + add some m68k-specific things to linux/syscallent.h. Note that m68k
3548 is similar enough to i386 to not need it's own subdirectory
3549 + add support for sendfile and mremap syscalls for Linux
3550 * Merge in patches from Sascha Schumann <sascha@schumann.2ns.de>
3551 + ioctls.h vs sys/ioctl.h on Alpha platform
3552 + pointer was casted to an int in stream.c
3553 + strsignal() needs -D_GNU_SOURCE in CFLAGS
3554 + several other casts changed
3555 + correct ARM/POWERPC architecture defines in acconfig.h
3556 * Merge in patches from Morten Welinder <terra@diku.dk>
3557 + add some autoconf-tests for includefiles
3558 + handle solaris version of sigcontext struct (actually I hacked this
3559 up again, but the idea is his :)
3560
Wichert Akkerman7a1f0e91999-04-18 20:23:57 +00003561Sun Apr 18 22:32:42 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
3562
3563 * Update syscalls for linux alpha, patch from Bart Warmerdam
Ulrich Drepperc921cb21999-12-24 08:03:35 +00003564 <bartw@debian.org>
Wichert Akkermand4d8e921999-04-18 23:30:29 +00003565 * Update sparc code so it actually compiles
Wichert Akkerman7a1f0e91999-04-18 20:23:57 +00003566
Wichert Akkerman328c5e71999-04-16 00:21:26 +00003567Fri Apr 16 02:18:05 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
3568
Wichert Akkerman25d0c4f1999-04-18 19:35:42 +00003569 * Add support for old_*stat functions for Linux. Please note you need
3570 to use reasonably recent kernel headers to compile strace now.
Wichert Akkerman328c5e71999-04-16 00:21:26 +00003571 * Change references to LINUX into linux in file.c
3572 * Fix include for LDT in mem.c
Wichert Akkerman1786d811999-04-15 20:34:14 +00003573
3574Thu Apr 15 22:28:15 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
3575
3576 * Change in strace maintainership, jrs passed the torch to me.
3577 * Use autoconf 2.13
3578 * Incorporate all changes already made in the Debian strace package:
3579 + compiles with more Linux kernels
3580 + added support for more Linux architectures
3581 + add support for a lot of extra syscalls
3582 + fix some problems with hanging children
3583 + check stray syscall after execv
3584 + decode capget and capset arguments
3585 + add more constants to net.c
3586 + detect ROSE networking
3587 + add more protocol families to domains
3588 + add IPIP protocol
3589 + added MSG_PROXY and MSG_CTRUNC to msg_flags
3590 + added SO_BSDCOMPAT and SO_REUSEPORT to sockoptions
3591 + added IP, IPX and TCP-options
3592 + added IP, IPX and TCP support to get-/setsockopt()
3593 + added IPX support
3594 + updated handling of signals
3595
Wichert Akkerman76baf7c1999-02-19 00:21:36 +00003596Sun Oct 27 22:28:00 1996 J. Richard Sladkey <jrs@world.std.com>
3597
3598 * util.c (umovestr) [LINUX]: Handle Linux like SunOS4
3599 instead of SVR4. That is, read a few bytes at a time
3600 to avoid overrunning the end of the stack.
3601
3602Fri May 31 01:48:49 1996 J. Richard Sladkey <jrs@world.std.com>
3603
3604 * version.c: Version 3.1 is released.
3605
3606Thu May 23 01:04:43 1996 J. Richard Sladkey <jrs@world.std.com>
3607
3608 * aclocal.m4 (AC_DECL_SYS_ERRLIST): Try looking in stdio.h
3609 as well since that's where glibc declares it. Go figure.
3610 * signal.c (sys_sigreturn) [ALPHA]: Use sigcontext
3611 instead of sigcontext_struct since glibc v5+ apparently
3612 plays games with the native OS namespace.
3613 From David Mosberger-Tang <davidm@AZStarNet.com>.
3614
3615Mon May 20 23:17:14 1996 J. Richard Sladkey <jrs@world.std.com>
3616
3617 * version.c: Version 3.0.14 is released.
3618
3619 * aclocal.m4 (AC_STRUCT_MSG_CONTROL): New macro.
3620 * configure.in: Add call to AC_STRUCT_MSG_CONTROL.
3621 * net.c (printmsghdr): Handle BSD 4.3 and 4.4 msghdr members
3622 differently.
3623 Reported by Henrik Storner <storner@osiris.ping.dk>.
3624
3625 * configure.in: (AC_CHECK_{HEADERS,FUNCS}): Add checks for
3626 sys/filio.h and sys/stream.h and remove check for poll.
3627 * desc.c (decode_select, sys_select, sys_oldselect) [LINUX]:
3628 Handle old and new styles of argument passing for select on Linux.
3629 * ioctl.c, stream.c: Conditionalize stream code on presence of
3630 sys/stream.h instead of poll because glibc implements poll but
3631 not the rest of the stream interface.
3632 * signal.c [LINUX]: Standardize on the name sigcontext_struct.
3633 (sys_sigprocmask) [ALPHA]: Handle OSF flavor which is more like
3634 sigsetmask.
3635 * term.c (term_ioctl): Use _VMIN, if present, for TC{G,S}ETA*.
3636 * util.c (umoven, umovestr): Move data in long-sized chunks
3637 at a time, instead of hard coding it to be 4.
3638 From David Mosberger-Tang <davidm@AZStarNet.com>.
Ulrich Drepperc921cb21999-12-24 08:03:35 +00003639
Wichert Akkerman76baf7c1999-02-19 00:21:36 +00003640Mon May 20 01:19:36 1996 J. Richard Sladkey <jrs@world.std.com>
3641
3642 * version.c: Version 3.0.13 is released.
3643
3644 * configure.in (AC_CHECK_HEADERS): Add check for asm/sigcontext.h.
3645 * signal.c [HAVE_ASM_SIGCONTEXT_H]: Conditionally include
3646 asm/sigcontext.h to define sigcontext_struct and don't define it
3647 locally if the header is present.
3648
3649 * syscall.c (nerrnos{0,2}): Correct size computation.
3650
3651 * Makefile.in: Remove dependencies and rules relating to files
3652 normally found in the os directory. Because of the new scheme we
3653 don't know precisely where they come from. Sigh.
3654 * signalent.sh: Make it work for sunos4, linux, and svr4.
3655 * {sunos4,linux{,/alpha},svr4}/Makefile.in: Make rules correspond
3656 to traditional make syntax. Add signalent.h to files which can
3657 unconditionally be rebuilt. Prevent signalent.h from being
3658 unconditionally being rebuilt since it's customized.
3659 * {sunos4,linux{,/alpha},svr4}/{ioctlent,errnoent,signalent}.h:
3660 Use versions built by {ioctlent,errnoent,signaltent}.sh.
3661 * sunos4/ioctlent.sh: Work around sprintf troubles with SunOS
3662 4.1.4 and gcc 2.7.2.
Ulrich Drepperc921cb21999-12-24 08:03:35 +00003663
Wichert Akkerman76baf7c1999-02-19 00:21:36 +00003664Sun May 19 17:14:09 1996 J. Richard Sladkey <jrs@world.std.com>
3665
3666 * configure.in, Makefile.in: Add OSARCH concept to finish
3667 build support for the alpha.
3668 * Makefile.in, linux/Makefile.in: Rewrite clean, distclean,
3669 and maintainer-clean rules.
3670 * defs.h, ioctlsort.c: Make ioctl code member unsigned.
3671 * ioctl.c, ioctlsort.c (compare): Perform explicit checking
3672 for less, greater, and equal since subtraction on two's
3673 complement numbers isn't an order relation (it isn't transitive)!
3674 * linux/Makefile.in: Add rules for the signalent.h file.
3675 * linux/alpha/Makefile.in: New file.
Ulrich Drepperc921cb21999-12-24 08:03:35 +00003676
Wichert Akkerman76baf7c1999-02-19 00:21:36 +00003677Sun May 19 01:12:28 1996 J. Richard Sladkey <jrs@world.std.com>
3678
3679 * version.c: Version 3.0.12 is released.
3680
3681 * linux{,alpha}/ioctlent.sh: Tweak for recent kernels.
3682 From Michael E Chastain <mec@duracef.shout.net>.
Ulrich Drepperc921cb21999-12-24 08:03:35 +00003683
Wichert Akkerman76baf7c1999-02-19 00:21:36 +00003684 * defs.h (SUPPORTED_PERSONALITES, DEFAULT_PERSONALITY): New.
3685 * syscall.c (set_personality): New.
3686 * strace.c (main): Call set_personality.
3687 * defs.h, syscall.c, ioctl.c, signal.c: Make sysent, errnoent,
3688 ioctlent, and signalent indirect pointers and redirect them
3689 based on personality.
3690 * {sunos4,svr4,linux{,/alpha}}/signalent.h: New files.
3691 Suggested by Tom Dyas <tdyas@eden.rutgers.edu>.
3692
3693 * util.c (upeek): Handle case where ptrace returns a long
3694 and sizeof(long) != sizeof(int).
3695 From Richard Henderson <richard@twiddle.tamu.edu>
3696
3697Fri May 17 21:03:36 1996 J. Richard Sladkey <jrs@world.std.com>
3698
3699 * version.c: Version 3.0.11 is released.
3700
3701 * many files: Fix more printf warnings for other platforms.
3702
3703 * ipc.c (sys_msgrcv) [LINUX]: Conditionalize definition of ipc_wrapper.
3704
3705 * linux/dummy.h: Handle missing library support for {send,recv}msg.
3706 Reported by Thomas Bogendoerfer <tsbogend@bigbug.franken.de>.
3707
3708 * linux/syscall.h (sys_utimes): Fix a typo in the declaration.
3709 From Thomas Bogendoerfer <tsbogend@bigbug.franken.de>.
Ulrich Drepperc921cb21999-12-24 08:03:35 +00003710
Wichert Akkerman76baf7c1999-02-19 00:21:36 +00003711Fri May 17 00:50:06 1996 J. Richard Sladkey <jrs@world.std.com>
3712
3713 * version.c: Version 3.0.10 is released.
3714
3715 * Makfile.in: Add os/arch to includes so that a given arch
3716 (like alpha) can override the native arch (like i386).
3717 * configure.in: Check for sendmsg.
3718
3719 * net.c: Make sendmsg and recvmsg dependent on an autoconf
3720 test. Reported by Michael E Chastain <mec@duracef.shout.net>.
3721
3722 * acconfig.h, configure.in: Detect the alpha.
3723 * ioctl.c: Handle the alpha.
3724 * defs.h: Make some members long for the alpha. Define
3725 some register nicknames. Add support for WAITEXECVE.
3726 * file.c [ALPHA]: Support the alpha for statfs. Add
3727 osf_statfs and osf_fstatfs for the alpha. Make damn sure
3728 major and minor results are suitable for passing to printf.
3729 * signal.c, syscall.c: Support the alpha.
3730 * process.c: Add alpha user offsets.
3731 * most files: Use %l? for printf arguments since
3732 most are now longs for the alpha.
3733 * linux/alpha/{errnoent.h,ioctlent.{h,sh},syscallent.h}:
3734 New for the alpha.
3735 From Thomas Bogendoerfer <tsbogend@bigbug.franken.de>.
3736
3737Wed May 15 00:29:37 1996 J. Richard Sladkey <jrs@world.std.com>
3738
3739 * version.c: Version 3.0.9 is released.
3740
3741 * config.in, config.sub, install-sh: Upgrade to autoconf 2.10.
3742
3743 * linux/dummy.h, linux/syscallent.h, linux/syscall.h: Add recent
3744 Linux kernel version system calls.
3745
3746Wed Mar 13 01:03:38 1996 J. Richard Sladkey <jrs@world.std.com>
3747
3748 * ipc.c [SUNOS4]: Add SunOS support for decoding IPC calls.
3749 * syscall.c [SUNOS4]: Compile decode_subcall on SunOS and
3750 decode IPC calls using it.
3751 * sunos4/dummy.h: Alias sys_semop to printargs.
3752 * sunos4/syscall.h: Add new pseudo syscalls for IPC.
3753 * sunos4/syscallent.h: Include new subcalls for IPC.
3754 From Matthias Pfaller <leo@dachau.marco.de>.
3755
3756Tue Feb 13 22:08:25 1996 J. Richard Sladkey <jrs@world.std.com>
3757
3758 * version.c: Version 3.0.8 is released.
3759
3760 * time.c [LINUX]: Explicitly include linux/version.h.
3761
3762 * strace.c (main): Don't let them even *try* to
3763 get strace to attach to itself since some systems
3764 don't handle this case very gracefully.
3765 Reported by David S. Miller <davem@caip.rutgers.edu>.
3766
3767 * Makefile.in (distclean): Fix it for subdirectories.
3768
3769 * sunos4/syscallent.h, svr4/syscallent.h: Fill in the new
3770 sys_flags member for each defined system call.
3771
3772Fri Dec 8 01:17:28 1995 Rick Sladkey <jrs@world.std.com>
3773
3774 * defs.h (TRACE_*): New flags to describe what class
3775 of system call each system call is.
3776 (sysent): Add sys_flags member.
3777 * syscall.c (sysent): Define (and later undef) abbreviations
3778 for the system call class flags.
3779 (lookup_class): New function to translate strings to
3780 system call class flags.
3781 (qualify): Handle new system call class mechanism.
3782 * linux/syscallent.h: Fill in the new sys_flags member
3783 for each defined system call.
3784
3785 * defs.h (print_sock): Remove redundant and non-K&R C
3786 compatible prototype. From Juergen Weigert
3787 <jnweiger@immd4.informatik.uni-erlangen.de>.
3788
3789Thu Dec 7 01:17:40 1995 Rick Sladkey <jrs@world.std.com>
3790
3791 * linux/ioctlent.sh: Tweak to improve ioctl accuracy.
3792 From Michael E Chastain <mec@duracef.shout.net>.
3793
3794 * system.c (includes) [LINUX]: Add linux/nfs.h for recent
3795 kernels. From Michael E Chastain <mec@duracef.shout.net>.
3796
3797Wed Dec 6 21:52:28 1995 Rick Sladkey <jrs@world.std.com>
3798
3799 * file.c (sprintfstype): Enclose string result in double
3800 quotes.
3801
3802 * time.c (sys_adjtimex) [LINUX]: Conditionalize
3803 constantly evolving timex structure.
3804 From Aaron Ucko <UCKO@VAX1.ROCKHURST.EDU>.
3805
3806 * defs.h, syscall.c, strace.c: Rename syscall to
3807 trace_syscall and change prototype and all callers
3808 because of broken Linux shared libraries.
3809 From Aaron Ucko <UCKO@VAX1.ROCKHURST.EDU>.
3810
3811 * Makefile.in (clean): Check for a file with test -f not
3812 test -d. From Aaron Ucko <UCKO@VAX1.ROCKHURST.EDU>.
3813
3814Tue Sep 26 02:32:31 1995 Rick Sladkey <jrs@world.std.com>
3815
3816 * version.c: Version 3.0.7 is released.
3817
3818 * util.c (string_quote): Fix thinko which caused core
3819 dumps for strings with quotes in them.
3820 Reported by Marty Leisner <leisner@sdsp.mc.xerox.com>.
3821
3822 * linux/Makefile.in (errnoent.h rule): Grab all errno.h
3823 files from /usr/include, not just the linux one.
3824 From Michael E Chastain <mec@duracef.shout.net>.
3825
3826 * linux/errnoent.sh: Total rewrite to handle more ioctls with
3827 fewer false positives on more kernel flavors.
3828 From Michael E Chastain <mec@duracef.shout.net>.
3829
3830Mon Sep 4 01:29:22 1995 Rick Sladkey <jrs@world.std.com>
3831
3832 * version.c: Version 3.0.6 is released.
3833
3834 * linux/dummy.h, linux/syscall.h, linux/syscallent.h: Add
3835 sys_msync.
3836 * mem.c (mctl_funcs, mctl_lockas, sys_mctl): Conditionalize
3837 on MC_SYNC instead of HAVE_MCTL.
3838 (mctl_sync): Conditionalize on MS_ASYNC instead of HAVE_MCTL.
3839 (sys_msync): New function.
3840
3841Sat Sep 2 12:06:04 1995 Rick Sladkey <jrs@world.std.com>
3842
3843 * linux/dummy.h, linux/syscall.h, linux/syscallent.h: Add
3844 sys_flock and sys_getdents.
3845 * desc.c (flockcmds, sys_flock): Conditionalize on LOCK_SH
3846 not SUNOS4.
3847 * file.c (sys_getdents): Define unconditionally and handle
3848 LINUX case.
3849 * strace.c (main): Disallow username option unless both real
3850 and effective uids are root.
3851
3852Wed Aug 30 01:29:58 1995 Rick Sladkey <jrs@world.std.com>
3853
3854 * strace.c (main): Ensure that run_uid and run_gid are
3855 always set to something meaningful.
3856 (main, newoutf) [!SVR4]: Swap real and effective uids while
3857 opening any output files.
3858 (main) [!SVR4]: Treat effective uid of root as a request
3859 to handle suid binaries correctly using the real uid of
3860 the invoking user.
3861
3862Sat Aug 19 00:06:08 1995 Rick Sladkey <jrs@world.std.com>
3863
3864 * Makefile.in: Add `|| true' to clean rule because
3865 although GNU make 3.74 uses `sh -c' to invoke commands
3866 every other make in the world uses `sh -ec'.
3867
3868 * syscall.c (syscall) [SVR4, MIPS]: The fifth and subsequent
3869 arguments appear to be stored on the stack, not in the
3870 registers following A3 (empirical result).
3871
3872 * defs.h: Add prototype for printsock.
3873 * svr4/dummy.h: Remove generic handling of sys_mount.
3874 * system.c [SVR4, MIPS]: Include several system headers to cleanly
3875 get access to SGI mount information.
3876 (mount_flags, nfs_flags) [SVR4, MIPS]: New objects.
3877 (sys_mount) [SVR4, MIPS]: New function.
3878 (sys_mount) [SVR4, !MIPS]: New function.
3879
3880Tue Jul 4 00:30:34 1995 Rick Sladkey <jrs@world.std.com>
3881
3882 * version.c: Version 3.0.5 is released.
3883
3884 * desc.c, resource.c, strace.c, syscall.c, time.c: Cast tv_sec and
3885 tv_usec members to long when using printf.
3886
3887 * ipc.c: Omit define of __KERNEL__.
3888 ({MSG,SEM,SHM}_{STAT,INFO}): Explicitly define those things we
3889 want which __KERNEL__ used to provide.
3890 (sys_msgrcv): Change reference to ipc_kludge structure to
3891 look-alike ipc_wrapper to avoid dependence on __KERNEL__.
3892
3893 mem.c (mmap_flags) [MAP_{GROWSDOWN,DENYWRITE,EXECUTABLE}]: Add
3894 Linux specific options.
3895
3896 syscall.c: Use SYS_ERRLIST_DECLARED instead of guessing.
3897 [E{RESTART{SYS,NO{INTR,HAND}},NOIOCTLCMD}]: Explicitly define
3898 instead of depending of __KERNEL__.
3899
3900 term.c: Cast c_{i,o,c,l}flag to long when using printf.
3901
3902Tue Jun 6 00:27:48 1995 Rick Sladkey <jrs@world.std.com>
3903
3904 * aclocal.m4 (AC_DECL_SYS_ERRLIST, AC_DECL__SYS_SIGLIST): New.
3905 * configure.in: Call AC_DECL_SYS_ERRLIST, AC_DECL_SYS_SIGLIST,
3906 and AC_DECL__SYS_SIGLIST.
3907 * acconfig.h (SYS_ERRLIST_DECLARED): New.
3908 * strace.c (strerror): Use SYS_ERRLIST_DECLARED.
3909 (strsignal): Use SYS_SIGLIST_DECLARED.
3910
3911 net.c (sys_socket): Omit inadvertent surplus comma when
3912 protocol family isn't PF_INET.
3913
3914 util.c (dumpstr): Fix incorrect printing of one too many
3915 characters when the length is not an even multiple of 16 bytes.
3916 Reported by Juergen Weigert
3917 <jnweiger@immd4.informatik.uni-erlangen.de>.
3918
3919Thu May 4 23:37:47 1995 Rick Sladkey <jrs@world.std.com>
3920
3921 * ioctl.c (compare): Change prototype to match POSIX qsort.
3922 * signal.c (sigishandled) [SVR4]: Omit everything after return.
3923 * strace.c (trace) [SVR4]: Break out of for loop instead of
3924 returning when finished so final return statement is executed.
3925 * syscall.c (internal_syscall): Add more SYS_wait* variations.
3926 (syscall) [LINUX]: Correct typo which commented out the M68K
3927 argument to ifdef.
3928 * util.c (printstr): Cast unsigned char pointer argument
3929 to char pointer in umovestr call.
3930 (dumpstr): Likewise for umoven.
3931
3932Wed May 3 01:10:56 1995 Rick Sladkey <jrs@world.std.com>
3933
3934 * version.c: Version 3.0.4 is released.
3935
3936 * signal.c (sys_sigblock): Move after the definition of
3937 sys_sigsetmask that it calls to avoid an implicit declaration.
3938 * stream.c (transport_user_options, transport_server_options):
3939 Only needed if TI_BIND is defined.
3940 * configure.in: Add -Wno-implicit to WARNFLAGS on SunOS 4.x.
3941
3942 * process.c (internal_fork) [SVR4]: Fix a typo that omitted
3943 the tcp arguement from the call to exiting. Add getrval2
3944 check so no fork processing is done in the child.
3945 (printwaitn): Initialize exited so that its value is defined
3946 for all flows of execution.
3947
3948Tue May 2 22:39:42 1995 Rick Sladkey <jrs@world.std.com>
3949
3950 * linux/dummy.h: Add aliases for sysfs, personality, afs_syscall,
3951 setfsuid, setfsgid, and _llseek syscalls.
3952 * linux/syscall.h: Add prototypes for them.
3953 * linux/syscallent.h: Add them to the syscall entries table.
3954 * system.c (headers) [LINUX]: Include linux/unistd.h to get __NR_*
3955 defines and conditionally include linux/personality.h if
3956 __NR_personality is defined.
3957 (personality_options) [LINUX]: New table.
3958 (sys_personality) [LINUX]: New function.
3959
3960Tue May 2 00:20:39 1995 Rick Sladkey <jrs@world.std.com>
3961
3962 * strace.c (trace) [!SVR4]: Change forever loop to one predicated
3963 on the number of traced processes so that we can have untraced
3964 children (e.g. via popen).
3965
3966 * strace (main) [!SVR4]: Call fake_execve to get the actual
3967 exec and its arguments into the trace.
3968 (environ): Declare it.
3969 * process.c (fake_execve): New function.
3970 (headers): Include sys/syscall.h to get SYS_* defines.
3971
3972 * process.c (sys_execv, sys_execve): Surround argument annotations
3973 with C comment delimiters.
3974 (printargv, printargc): The arg vector is an array of char pointers
3975 not ints.
3976
3977 * strace.c (printleader): Also check for multiple -p arguments
3978 when deciding whether to print the pid field.
3979
3980 * strace.c (strerror) [!HAVE_STRERROR]: New function.
3981 * defs.h (strerror, strsignal): Add these prototypes if we provide
3982 the functions.
3983 * configure.in (AC_CHECK_FUNCS): Add strerror.
3984
3985 * strace.c (main, proc_poller): Add SIGPIPE to the list of caught
3986 and blocked signals.
3987
3988 * strace.c (main): Add username option. Verify they are root before
3989 letting them use it. Look up the ids in the password file. Set
3990 them just before executing the program.
3991 From Reuben Sumner <rasumner@undergrad.math.uwaterloo.ca>.
3992
3993Sat Apr 29 00:09:56 1995 Rick Sladkey <jrs@world.std.com>
3994
3995 * version.c: Version 3.0.3 is released.
3996
3997 * system.c (mount_flags) [LINUX]: Omit duplicated MS_NOSUID entry.
3998 From Reuben Sumner <rasumner@undergrad.math.uwaterloo.ca>.
3999
4000 * strace.c (outfname): Initialize to NULL.
4001 (main): Defer output file processing until after arguments.
4002 Allow either a pipe or a bang for command arguments.
4003 Check if outfname is NULL instead of checking outf for stderr.
4004 Reinitialize each startup TCB's outf to fix -p/-o ordering bug.
4005 (droptcb): Reset close TCB's outf to NULL instead of stderr.
4006 (tprintf): Avoid calling vfprintf if outf is NULL.
4007
4008 * strace.c (main): Use popen if -o argument begins with a pipe.
4009 From Marty Leisner <leisner@sdsp.mc.xerox.com>.
4010
4011 * process.c (printstatus): Fix a typo where WIFSIGNALED was meant
4012 but WIFSTOPPED was used.
4013
4014 * Makefile.in: Add an EXTRA_DEFS variable and use it in the .c.o
4015 rule to prevent the comment from being untrue.
4016
4017Fri Apr 28 22:01:56 1995 Rick Sladkey <jrs@world.std.com>
4018
4019 * strace.c (sys_exit): Move follow fork code to internal_exit.
4020 (sys_fork): Move follow fork code to internal_fork.
4021 (sys_execv, sys_execve): Move follow fork code to internal_exec.
4022 (sys_waitpid, sys_wait4): Move follow fork code to internal_wait.
4023 (vforking): Remove this static variable and check scno in
4024 internal_fork instead.
4025 (internal_exit, internal_fork, internal_exec, internal_wait): New
4026 functions.
4027 * defs.h: Add prototypes for the new internal_* functions.
4028 * syscall.c (syscall): Move syscall entering trace qualifier check
4029 and reprint checking after context decoding and precede them with
4030 a call to internal_syscall. Precede syscall exiting trace
4031 qualifier check with a call to internal_syscall.
4032 (internal_syscall): New function.
4033
4034 * defs.h (struct tcb): Make scno signed.
4035 * strace.c (syscall) Make u_error signed.
4036 [LINUX, I386]: Avoid unsigned cast in eax check.
4037 * syscall.c (sys_indir): Make i, scno, and nargs signed.
4038 * desc.c (sys_select): Make cumlen unsigned
4039
4040Mon Apr 24 23:52:47 1995 Rick Sladkey <jrs@world.std.com>
4041
4042 * net.c (socktypes): Add SOCK_PACKET.
4043
4044Sun Apr 2 23:50:39 1995 Rick Sladkey <jrs@world.std.com>
4045
4046 * Makefile (clean): Check explicitly for a Makefile in subdirs
4047 before running make in them.
4048
4049Sun Mar 26 12:37:21 1995 Rick Sladkey <jrs@world.std.com>
4050
4051 * strace.c [MIPS] (proc_open): Conditionalize run on MIPS.
4052 [MIPS] (detach): Initialize error for MIPS case.
4053 (trace): Initialize ioctl_result and ioctl_errno for overly helpful
4054 compilers.
4055 * syscall.c (decode_subcall): Move variable i into conditionals
4056 that use use it.
4057 * system.c (syssgi_options): Conditionalize SGI_RECVLMSG and
4058 SGI_SET_FPDEBUG that SGI decided to drop. I don't have the stomach
4059 to change them all.
4060 * term.c (term_ioctl): Force [c_[iocl]flags members to long before
4061 printing since we don't know what the size of their type is.
4062 * util.c [SVR4, MIPS] (umoven): Prevent MIPS from using pread even
4063 if autoconf detects it since it seems to either not work or do
4064 something else entirely on Irix 5.3.
4065
4066Sun Mar 26 00:01:11 1995 Rick Sladkey <jrs@world.std.com>
4067
4068 * version.c: Version 3.0.2 is released.
4069 * linux/dummy.h: Make sys_fchdir like sys_close instead of printargs
4070 so that the file descriptor arg is decimal.
4071
4072Sat Mar 25 22:50:13 1995 Rick Sladkey <jrs@world.std.com>
4073
4074 * net.c [LINUX] (protocols): Explicitly define all IPPROTO_* entries
4075 because on Linux they are enumerators.
4076
4077 * system.c [LINUX] (mount_flags): Handle renaming of MS_SYNC to
4078 MS_SYNCHRONOUS.
4079
4080 * util.c (printxval): When there is no translation, print the actual
4081 number first and the the default value as a C comment.
4082
4083 * net.c (sys_send, sys_sendto, sys_sendmsg, sys_getsockopt,
4084 sys_setsockopt): Change first argument from unsigned to signed to
4085 cater to the frequent practice of calling system calls with a file
4086 descriptor of -1.
4087 * mem.c (sys_mmap): Likewise.
4088
4089Sun Mar 19 13:53:52 1995 Rick Sladkey <jrs@world.std.com>
4090
4091 * signal.c [LINUX] (signalent): Handle old and new values of SIGIO.
4092
4093Sun Dec 11 22:51:51 1994 Rick Sladkey <jrs@world.std.com>
4094
4095 * version.c: Version 3.0.1 is released.
4096 * Makefile.in, configure.in, aclocal.m4: Changes for autoconf 2.0.
4097 * config.guess, config.guess: Update from the FSF.
4098 * install-sh: New from the FSF.
4099
4100Mon Dec 5 20:51:29 1994 Rick Sladkey <jrs@world.std.com>
4101
4102 * Makefile.in: Add m68k arch.
4103 * acconfig.h (M68K): Add m68k define.
4104 * configure.in: Add detection of arch m68k.
4105 * process.c [M68K] (struct_user_offsets): Support m68k registers and
4106 offsets.
4107 * signal.c [M68K] (sigcontext_struct): Support m68k sigcontext
4108 structure.
4109 [M68K] (sys_sigreturn): Support m68k sigreturn handling.
4110 * syscall.c [M68K] (syscall): Support m68k syscall number register
4111 and errno in d0 instead of eax.
4112 * util.c [M68K] (getpc, printcall, setbpt, clearbpt): Support m68k
4113 program counter in PT_PC instead of EIP.
4114 [M68K] (LOOP): Support m68k loop instruction.
4115 From Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>.
4116
4117 * mem.c [MAP_ANONYMOUS] (mmap_flags): Correct inadvertent reference
4118 to MAP_FIXED instead of MAP_ANONYMOUS.
4119 From Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>.
4120
4121 * signal.c [LINUX] (signalent): Signal 30 is now SIGPWR.
4122 From Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>.
4123
4124Mon Dec 5 01:05:46 1994 Rick Sladkey <jrs@world.std.com>
4125
4126 * defs.h (tprintf): Fix typo in non-gcc ansi prototype for tprintf.
4127 Reported by Thanh Ma <tma@encore.com>.
4128
4129 * strace.c (cleanup): Send SIGCONT before SIGTERM because Linux
4130 1.1.62 doesn't continue a traced child when the parent exits.
4131 Reported by Matt Day <mday@artisoft.com>.
4132
4133 * system.c [LINUX]: Include netinet/in.h before arpa/inet.h.
4134
4135 * util.c (printstr): Fix longstanding bug in notating string
4136 continuation.
4137
4138 * strace.c [SVR4] (proc_open): Specifically wait for the child the
4139 child to go into the execve syscall to avoid spurious traces.
4140 [LINUX] (detach): Conditionalize the status variable.
4141
4142Sun Dec 4 23:21:42 1994 Rick Sladkey <jrs@world.std.com>
4143
4144 * Makefile.in: Add mips arch.
4145 * acconfig.h (MIPS): Add mips define.
4146 * configure.in: Add detection of opsys irix5 and arch mips. Check
4147 for prctl function.
4148 Check for sys/sysconfig.h header.
4149 * defs.h (MAX_ARGS): Bump maximum syscall arguments from 8 to 32.
4150 * file.c [SVR4]: Include sys/cred.h.
4151 (access_flags): Update access flags for SGI.
4152 (sprinttime): Change type of sprinttime argument from unsigned
4153 long to time_t.
4154 * process.c [HAVE_PRCTL]: Include sys/prctl.h.
4155 [HAVE_PRCTL] (prctl_options, sys_prctl): New for SGI.
4156 (printsiginfo): Conditionally compile SI_TIMER and SI_MESGQ.
4157 Cast si_band member to long before printing.
4158 * signal.c (sigact_flags): Add _SA_BSDCALL for SGI.
4159 (sigprocmaskcmds): Add SIG_SETMASK32 for SGI.
4160 * strace.c [SVR4] [MIPS]:
4161 (foobar): New dummy signal handler.
4162 (main): Install a dummy signal handler in the child before pausing
4163 to work around an SGI bug in PRSABORT.
4164 (proc_open): Send a interrupt to the child instead of aborting the
4165 syscall which doesn't work on Irix5.2.
4166 * svr4/dummy.h: Add new unfinished SGI syscalls
4167 (e.g. sys_sysmp, sys_sginap, etc.). Handle some SGI syscalls like
4168 existing calls (e.g. sys_ksigaction like sys_sigaction).
4169 Printargs does the print thing for sys_sethostid.
4170 * svr4/syscall.h: Declare all new SGI syscalls.
4171 (SGI_KLUDGE): Define syscall table starting index to be 1 for SGI
4172 and add it to all subcall entry points.
4173 (SYS_pgrpsys_subcall, SYS_sigcall_subcall, SYS_context): Don't
4174 decode as subcalls on MIPS. Instead, use the normal syscalls.
4175 * svr4/syscallent.h [MIPS]: Lead syscall table with a dummy entry
4176 since SGI syscall numbers are off by one.
4177 [MIPS] (sys_pgrpsys): Rename to sys_setpgrp on SGI.
4178 [MIPS] (sys_xenix): Rename to sys_syssgi on SGI.
4179 [MIPS] (sys_sysmachine): Rename to sys_sysmips on SGI.
4180 [MIPS]: Conditionalize SVR4 extension into SGI and Solaris classes.
4181 * syscall.c (dumpio): Validate descriptor against MAX_QUALS.
4182 [HAVE_PR_SYSCALL] (syscall): Conditionalize SYS_vfork.
4183 [MIPS] (syscall): Add SGI section for decoding u_error and u_rval.
4184 Add workaround for broken SGI pr_sysarg on syscall entry.
4185 [SVR4] (syscall): Conditionalize subcall decoding for
4186 SYS_ptrpsys_subcall, SYS_sigcall_subcall and SYS_context_subcall.
4187 [SVR4] [MIPS] (getrval2): Handle SGI.
4188 * syscallent.sh: Dork the sed line to be choosier about SYS_ lines.
4189 * system.c [HAVE_SYSCONFIG_H]: Include sys/sysconfig.h.
4190 [MIPS] (syssgi_options, sys_syssgi): New for SGI.