blob: 39a7587e9dfb22cd09c46b645e00666cfce8e8f2 [file] [log] [blame]
Jan Kratochvil97ecd622008-06-27 12:13:42 +000012008-06-27 Jan Kratochvil <jan.kratochvil@redhat.com>
2
3 * linux/syscallent.h: Remove a duplicite syscall stub #326.
4
Roland McGrath2b9b2132008-05-27 23:18:32 +000052008-05-27 Roland McGrath <roland@redhat.com>
6
7 * syscall.c [LINUX] (is_negated_errno): New function.
8 (get_error) [LINUX]: Use it for all such cases.
9 Fixes RH#447587.
10
Roland McGrath9047cfd2008-05-20 01:08:50 +0000112008-05-19 Roland McGrath <roland@redhat.com>
12
Roland McGrath257ef502008-05-20 04:56:45 +000013 * linux/x86_64/syscallent.h: Update entries for timerfd_* and fallocate.
14
15 * file.c (sys_fallocate): New function.
16 * linux/syscall.h: Declare it.
17 * linux/syscallent.h: Update entry.
18 From Kyle McMartin <kyle@mcmartin.ca>.
19
20 * time.c (sys_timerfd_create): New function.
21 (sys_timerfd_settime, sys_timerfd_gettime): New functions.
22 * linux/syscall.h: Declare them.
23 * linux/syscallent.h: Update entries for those syscalls.
24 From Kyle McMartin <kyle@mcmartin.ca>.
25
Roland McGrathbc362d42008-05-20 01:56:28 +000026 * debian/rules (binary-arch): Fix chmod/chown typo.
27 Fixes Debian#459255.
28
29 * debian/rules (binary-arch): Install strace-graph in examples/
30 directory under package doc.
31 Fixes Debian#469068.
32
Roland McGrath94167432008-05-20 01:43:56 +000033 * signal.c (sys_kill): When current personality's wordsize is smaller
34 than native, sign-extend the PID argument from 32 bits.
35 Fixes RH#430585.
36
Roland McGrath9d9540b2008-05-20 01:39:07 +000037 * configure.ac: Add check for struct sigcontext_struct in <signal.h>.
38 * signal.c [! HAVE_ASM_SIGCONTEXT_H] [I386] (struct sigcontext_struct):
39 Conditionalize definition on !HAVE_STRUCT_SIGCONTEXT_STRUCT.
40 Fixes Debian#456879.
41
Roland McGrath9047cfd2008-05-20 01:08:50 +000042 * util.c [LINUX] (setbpt): Use correct SYS_clone number for current
43 personality.
44 Fixes RH#447475.
45
Roland McGrathfee60a62008-05-19 23:50:35 +0000462008-05-08 David S. Miller <davem@davemloft.net>
47
48 * syscall.c (socket_map, sparc_socket_decode): Delete.
49 (trace_syscall): Use common socketcall and ipc subcall
50 support on sparc.
51 * linux/sparc/syscall.h (sys_semtimedop): Declare.
52 (SYS_socket_subcall, SYS_sub_socket, SYS_sub_bind,
53 SYS_sub_connect, SYS_sub_listen, SYS_sub_accept,
54 SYS_sub_getsockname, SYS_sub_getpeername,
55 SYS_sub_socketpair, SYS_sub_send, SYS_sub_recv,
56 SYS_sub_sendto, SYS_sub_recvfrom, SYS_sub_shutdown,
57 SYS_sub_setsockopt, SYS_sub_getsockopt, SYS_sub_sendmsg,
58 SYS_sub_recvmsg, SYS_socket_nsubcalls, SYS_ipc_subcall,
59 SYS_sub_semop, SYS_sub_semget, SYS_sub_semctl,
60 SYS_sub_semtimedop, SYS_sub_msgsnd, SYS_sub_msgrcv,
61 SYS_sub_msgget, SYS_sub_msgctl, SYS_sub_shmat,
62 SYS_sub_shmdt, SYS_sub_shmget, SYS_sub_shmctl,
63 SYS_ipc_nsubcalls): Define
64 * linux/sparc/syscallent.h: Add socketcall and ipc entries.
65
Roland McGrath5897e642008-05-20 05:18:39 +0000662008-01-25 Bruna Moreira <bruna.moreira@indt.org>
Roland McGrath9d9540b2008-05-20 01:39:07 +000067
68 * defs.h [ARM]: Define SUPPORTED_PERSONALITIES to 2.
69 * syscall.c (get_scno) [ARM]: Add support for architecture specific
70 syscalls.
71 * linux/arm/syscallent.h: Update network syscalls list.
72 * linux/arm/syscallent1.h: New file. Add new architecture specific
73 syscalls.
74 * linux/arm/errnoent1.h: New file.
75 * linux/arm/ioctlent1.h: New file.
76 * linux/arm/signalent1.h: New file.
77 Fixes Debian#441000.
78
792008-01-07 Paul Mundt <lethal@linux-sh.org>
80
81 * linux/sh64/syscallent.h: Update numerous calls, fix others.
82
Roland McGrath08429fb2008-05-20 01:12:24 +0000832007-08-26 Daniel Jacobowitz <dan@codesourcery.com>
84
85 * defs.h [MIPS]: Include <sgidefs.h>.
86 (MAX_QUALS): Update for MIPS.
87 (LINUX_MIPSO32, LINUX_MIPSN32, LINUX_MIPSN64, LINUX_MIPS64): Define.
88 (struct tcb): Add ext_arg for MIPS N32.
89 (TCB_WAITEXECVE): Define for MIPS.
90 (ALIGN64): Use LINUX_MIPSO32.
91 * file.c (sys_lseek): Use ext_arg for MIPS N32.
92 (sys_readahead, sys_fadvise64_64): Likewise.
93 * io.c (sys_pread64, sys_pwrite64): Likewise.
94 * mem.c (print_mmap): Take OFFSET argument.
95 (sys_old_mmap): Update call to print_mmap.
96 (sys_mmap): Use ext_arg for MIPS N32.
97 * process.c (struct_user_offsets): Add MIPS registers.
98 * signal.c (sys_sigreturn): Handle MIPS N32 and MIPS N64. Correct
99 MIPS O32 call to sprintsigmask.
100 * syscall.c (internal_syscall): Handle MIPS N32. Check for
101 TCB_WAITEXECVE on MIPS.
102 (force_result): Add a comment about MIPS N32.
103 (syscall_enter): Handle MIPS N32 and MIPS N64.
104 * linux/syscall.h (sys_pread64, sys_pwrite64): Declare.
105 * linux/mips/syscallent.h: Include "dummy.h". Handle alternate
106 MIPS ABIs.
107
Dmitry V. Levina97f03b2008-04-19 14:12:49 +00001082008-04-19 Dmitry V. Levin <ldv@altlinux.org>
109
Dmitry V. Levin153fbd62008-04-19 23:49:58 +0000110 * file.c [_LFS64_LARGEFILE] (sys_getdents64): Do the same
111 d_reclen check as in sys_getdents: warn if d_reclen is 0 rather
112 than looping forever.
113 [FREEBSD] (sys_getdirentries): Likewise.
114 Signed-off-by: Mike Frysinger <vapier@gentoo.org>
115
Dmitry V. Levinb838b1e2008-04-19 23:47:47 +0000116 * file.c [LINUXSPARC] (printstatsol): Fix sprinttime()
117 invocation. The sprinttime() function takes a time_t argument,
118 but timestruct_t argument was given.
119 Signed-off-by: Mike Frysinger <vapier@gentoo.org>
120
Dmitry V. Levindc7715b2008-04-19 23:45:09 +0000121 * file.c (sprinttime): Check localtime() return value, to avoid
122 potential NULL dereference due to invalid time structures.
123 Signed-off-by: Harald van Dijk <truedfx@gentoo.org>
124 Signed-off-by: Mike Frysinger <vapier@gentoo.org>
125
Dmitry V. Levin99af25c2008-04-19 19:07:23 +0000126 * linux/errnoent.h: Update errno list based on latest
127 linux/errno.h and asm-generic/errno*.h files.
128 Signed-off-by: Mike Frysinger <vapier@gentoo.org>
129
Dmitry V. Levin48e7c6e2008-04-19 14:18:23 +0000130 * signalent.sh: Fix sort(1) old-style options.
131 * syscallent.sh: Likewise.
132 Signed-off-by: Mike Frysinger <vapier@gentoo.org>
133
Dmitry V. Levina97f03b2008-04-19 14:12:49 +0000134 * count.c (call_summary_pers): Check calloc() return value.
135 Signed-off-by: "Yang Zhiguo" <yzgcsu@cn.fujitsu.com>
136
Roland McGrathbf881fa2008-03-26 19:15:45 +00001372008-03-26 Roland McGrath <roland@redhat.com>
138
139 * strace.spec (strace64_arches): Add sparc64.
140
Roland McGrath90824ca2007-11-21 04:32:24 +00001412007-11-20 Roland McGrath <roland@redhat.com>
142
143 * CREDITS, ChangeLog: Converted contents to UTF8.
144
Roland McGrathfdf5f402007-11-19 22:15:02 +00001452007-11-19 Roland McGrath <roland@redhat.com>
146
147 * strace.spec: Add BuildRequires on libaio-devel, libacl-devel.
148
Roland McGrath648fc872007-11-19 22:10:38 +00001492007-11-19 Andreas Schwab <schwab@suse.de>
150
Roland McGrathf492bdf2007-11-19 22:11:49 +0000151 * process.c (sys_ptrace) [IA64]: For PTRACE_PEEKDATA,
152 PTRACE_PEEKTEXT and PTRACE_PEEKUSER the data is returned directly.
153
Roland McGrath648fc872007-11-19 22:10:38 +0000154 * linux/syscallent.h: Fix argument count for getdents64.
155 * linux/arm/syscallent.h: Likewise.
156 * linux/m68k/syscallent.h: Likewise.
157 * linux/x86_64/syscallent.h: Likewise.
158
159 * linux/ia64/syscallent.h: Use sys_getdents64.
160 * linux/sh/syscallent.h: Likewise.
161
Roland McGrathc6efe6e2007-11-13 08:12:16 +00001622007-11-06 Jan Kratochvil <jan.kratochvil@redhat.com>
163
164 * strace.c [LINUX] (droptcb): Recurse on TCP->parent if it is a
165 TCB_EXITING zombie group leader.
166 * test/childthread.c: New file.
167 * test/.cvsignore, test/Makefile: Add it.
168 Code advisory: Roland McGrath
169 Fixes RH#354261.
170
Roland McGrathecdfe0f2007-11-03 23:58:11 +00001712007-11-03 Roland McGrath <roland@redhat.com>
172
173 * process.c (prctl_options): Add numerous constants.
174 From Sami Farin <safari@u.safari.iki.fi>.
175 Fixes RH#364401.
176
Roland McGrathdb63f102007-11-03 23:34:17 +00001772007-11-03 Jan Kratochvil <jan.kratochvil@redhat.com>
178
179 * strace.c (main): Move the STARTUP_CHILD call before setting up the
180 signal handlers. New comment about the valid internal states.
181
Roland McGrath36d00422008-05-20 05:51:21 +00001822007-11-02 Thiemo Seufer <ths@networkno.de>
Roland McGrathf189d6d2007-11-04 00:00:08 +0000183
184 * signal.c (m_siginfo_t): Add for MIPS.
185 (sys_sigreturn): struct sigcontext on MIPS has no sigset_t member,
186 acquire the signal mask with the same trick as on Sparc.
187 Fixes Debian#448802.
188
Roland McGrathe0201382007-11-01 21:54:17 +00001892007-11-01 Roland McGrath <roland@redhat.com>
190
Roland McGrath78118592007-11-01 23:54:24 +0000191 * util.c (string_quote): Return nonzero if the string was unterminated.
192 (printstr): Use that value instead of just our own test.
193 (printpathn): Likewise.
194 Fixes RH#358241.
195
196 * linux/mips/syscallent.h: Fix argument count for fadvise64_64.
197 From Paul Mundt <lethal@linux-sh.org>.
198
199 * linux/mips/syscallent.h: Fix argument count for lookup_dcookie.
200 From Paul Mundt <lethal@linux-sh.org>.
201
Roland McGrathe0201382007-11-01 21:54:17 +0000202 * linux/sh64/syscallent.h: Fix SYS_socket_subcall check.
203 From Paul Mundt <lethal@linux-sh.org>.
204
205 * linux/sh/syscallent.h: Update numerous calls.
206 From Paul Mundt <lethal@linux-sh.org>.
207
Roland McGrathd017e342007-11-01 21:50:58 +00002082007-09-22 Dmitry V. Levin <ldv@altlinux.org>
209
Roland McGrathe0201382007-11-01 21:54:17 +0000210 * desc.c (sys_pselect6): Decode signal mask when entering syscall.
211 Relax signal mask size check.
212
Roland McGrathd017e342007-11-01 21:50:58 +0000213 * time.c (print_timespec, sprint_timespec): New functions.
214 * defs.h (print_timespec, sprint_timespec): Declare them.
215 * desc.c (sys_io_getevents): Use print_timespec.
216 * stream.c (sys_ppoll): Likewise.
217 (decode_poll): Use sprint_timespec.
218
2192007-09-22 Alan Curry <pacman@world.std.com>
220 Dmitry V. Levin <ldv@altlinux.org>
221
222 * stream.c (decode_poll): Rearrange so that arguments are decoded
223 and printed on syscall entry, except for revents and the output
224 timespec which are now printed in the auxstr.
225 (sys_poll): Print the input timeout argument on syscall entry.
226 [LINUX] (sys_ppoll): Likewise.
227 Fixes Debian#369651.
228
2292007-09-22 Dmitry V. Levin <ldv@altlinux.org>
230
231 * desc.c (sprintflags): Remove static qualifier, add "prefix"
232 argument, move function to ...
233 * util.c (sprintflags): ... here.
234 * defs.h (sprintflags): Declare it.
235
Roland McGrath09d52282007-11-01 21:32:52 +00002362007-11-01 Roland McGrath <roland@redhat.com>
237
Roland McGrathc210f422007-11-01 21:42:29 +0000238 * syscall.c (get_scno) [ARM]: Check TCB_WAITEXECVE.
239 Reported by Bernhard Fischer <rep.dot.nop@gmail.com>.
240
Roland McGrath436d5182007-11-01 21:37:36 +0000241 * net.c (sockpacketoptions): Make PACKET_ADD_MEMBERSHIP and
242 PACKET_DROP_MEMBERSHIP conditional.
243 From Bernhard Fischer <rep.dot.nop@gmail.com>.
244
Roland McGrath09d52282007-11-01 21:32:52 +0000245 * configure.ac: Match sh64* for SH64, sh* for SH.
246 Reported by Bernhard Fischer <rep.dot.nop@gmail.com>.
247
Dmitry V. Levinbea02032007-10-08 21:48:01 +00002482007-10-01 Dmitry V. Levin <ldv@altlinux.org>
249
Dmitry V. Levinb6c32f42007-10-08 23:31:19 +0000250 * net.c (printsock): Output AF_UNIX socket address using
251 printpathn() to avoid unprintable characters in output.
252 Suggested by Neil Campbell.
253
2542007-10-01 Dmitry V. Levin <ldv@altlinux.org>
255
Dmitry V. Levinbea02032007-10-08 21:48:01 +0000256 * util.c (string_quote): Move quoting code from ...
257 (printstr) ... here. Use string_quote.
258 (printpathn): Update for new string_quote interface.
259 (printpath): Use printpathn.
260
Dmitry V. Levin08b623e2007-10-08 21:04:41 +00002612007-09-25 Dmitry V. Levin <ldv@altlinux.org>
262
Dmitry V. Levin19bab502007-10-08 21:28:18 +0000263 * strace.c (main): Use calloc for tcbtab allocation.
Dmitry V. Levin08b623e2007-10-08 21:04:41 +0000264 Check calloc return value.
265 Reported by Bai Weidong.
266
Roland McGrath4df814f2007-09-12 01:26:48 +00002672007-09-11 Roland McGrath <roland@redhat.com>
268
269 * linux/sparc/syscall.h: Add missing decls.
270 * linux/sparc/syscallent.h: Correct entries for setgroups32,
271 getgroups32, sys_getdents64.
272 From Jakub Bogusz <qboosh@pld-linux.org>.
273
274 * linux/alpha/syscallent.h: Correct entries for madvise, setresgid,
275 getresgid, pivot_root, mincore, pciconfig_iobase, getdents64.
276 From Jakub Bogusz <qboosh@pld-linux.org>.
277
278 * linux/syscallent.h: Fix getegid32 entry.
279 From Jakub Bogusz <qboosh@pld-linux.org>.
280
281 * defs.h [LINUXSPARC]: Use asm/psrcompat.h for [SPARC64], not asm/psr.h.
282 From Jakub Bogusz <qboosh@pld-linux.org>.
283
284 * mem.c (sys_getpagesize): Define for [SPARC || SPARC64] too.
285 From Jakub Bogusz <qboosh@pld-linux.org>.
286
Dmitry V. Levinc18c7032007-08-22 21:43:30 +00002872007-08-20 Dmitry V. Levin <ldv@altlinux.org>
288
289 * syscall.c (qual_syscall, qualify): Fix nsyscalls and MAX_QUALS misuse.
290 Reported by Xiaoning Ding.
291
Roland McGrath2f33e912007-08-07 01:23:08 +00002922007-08-06 Jan Kratochvil <jan.kratochvil@redhat.com>
293 Roland McGrath <roland@redhat.com>
294
295 * file.c [!HAVE_STAT64 && LINUX && X86_64] (struct stat64): Define it.
296 [!HAVE_STAT64 && LINUX && X86_64] (HAVE_STAT64, STAT64_SIZE): Define.
297 [HAVE_STAT64] (printstat64) [STAT64_SIZE]: Add compile-time assertion.
298 Fixes RH#222275.
Roland McGrath6f694b22007-08-07 01:05:22 +0000299
300 * file.c (printstat64): Test [HAVE_LONG_LONG] for st_size printing
301 and cast to widest type available.
302
Roland McGrathf76fca52007-08-07 01:00:32 +00003032007-08-03 Ulrich Drepper <drepper@redhat.com>
304
305 * file.c (open_mode_flags): Add O_CLOEXEC.
306 * net.c (msg_flags): Add MSG_CMSG_CLOEXEC.
Roland McGrathb8152c12007-11-19 22:23:25 +0000307 Fixes RH#365781.
Roland McGrathf76fca52007-08-07 01:00:32 +0000308
Roland McGrath7b5dd1e2007-08-03 09:59:13 +00003092007-08-03 Roland McGrath <roland@redhat.com>
310
Roland McGrathf30de7e2007-08-03 10:28:59 +0000311 * configure.ac, NEWS: Version 4.5.16.
312 * debian/changelog, strace.spec: 4.5.16-1.
313
Roland McGrath7b5dd1e2007-08-03 09:59:13 +0000314 * debian/control (Build-Depends): Replace libc6-dev-s390x and
315 libc6-dev-sparc64 with gcc-multilib.
316 * debian/rules: Replace sparc-linux, s390-linux conditionals with
317 general "arch64_map" hair, handle x86_64 and powerpc64 too.
318 From Matthias Klose <doko@cs.tu-berlin.de>.
319 Fixes Debian#435303.
320
Roland McGrath328c2352007-08-03 10:04:52 +00003212007-08-02 Jan Kratochvil <jan.kratochvil@redhat.com>
322
323 * strace.c (detach): Moved the resume notification code to ...
324 (resume_from_tcp): ... a new function here.
325 (handle_group_exit): No longer detach also the thread group leader.
326 (trace): Fixed panic on exit of the TCB_GROUP_EXITING leader itself.
327 Fixes RH#247907.
328
329 * test/leaderkill.c (start): Renamed to ...
330 (start0): ... here.
331 (start1): New function.
332 (main): Created a new spare thread.
333
Roland McGrathe36e4ca2007-08-02 01:13:36 +00003342007-08-01 Roland McGrath <roland@redhat.com>
335
Roland McGrath1dee3a82007-08-02 02:22:10 +0000336 * util.c (umoven): Don't perror for EIO.
337 (umovestr): Likewise.
338
Roland McGrath8e7174f2007-08-02 02:13:08 +0000339 * process.c (printargv): Handle boundary cases correctly.
340 Handle biarch fetching correctly.
341
342 * util.c (printstr): Don't print ... if the string matches the length
343 limit exactly.
344
Roland McGrathdd519cc2007-08-02 01:47:12 +0000345 * linux/sparc64/syscallent.h: Just #include the sparc file.
346 * linux/sparc64/syscallent1.h: Likewise.
347 * linux/sparc64/syscallent2.h: Likewise.
348
Roland McGrathd9ac0252007-08-02 01:44:20 +0000349 * linux/arm/syscallent.h: Add entry for getcpu.
350 * linux/hppa/syscallent.h: Likewise.
351 * linux/ia64/syscallent.h: Likewise.
352 * linux/mips/syscallent.h: Likewise.
353 * linux/powerpc/syscallent.h: Likewise.
354 * linux/s390/syscallent.h: Likewise.
355 * linux/s390x/syscallent.h: Likewise.
356 * linux/sh/syscallent.h: Likewise.
357 * linux/sh64/syscallent.h: Likewise.
358 * linux/sparc/syscallent.h: Likewise.
359 * linux/sparc64/syscallent.h: Likewise.
360
Roland McGrathe9fcf732007-08-02 01:37:07 +0000361 * linux/arm/syscallent.h: Add entry for eventfd.
362 * linux/ia64/syscallent.h: Likewise.
363 * linux/mips/syscallent.h: Likewise.
364 * linux/powerpc/syscallent.h: Likewise.
365 * linux/s390/syscallent.h: Likewise.
366 * linux/s390x/syscallent.h: Likewise.
367 * linux/sh/syscallent.h: Likewise.
368 * linux/sh64/syscallent.h: Likewise.
369 * linux/sparc/syscallent.h: Likewise.
370 * linux/sparc64/syscallent.h: Likewise.
371
Roland McGrath5d465792007-08-02 01:31:21 +0000372 * linux/arm/syscallent.h: Add entry for timerfd.
Roland McGrath488a1402007-08-02 01:23:52 +0000373 * linux/ia64/syscallent.h: Likewise.
Roland McGrath5d465792007-08-02 01:31:21 +0000374 * linux/mips/syscallent.h: Likewise.
375 * linux/powerpc/syscallent.h: Likewise.
376 * linux/s390/syscallent.h: Likewise.
377 * linux/s390x/syscallent.h: Likewise.
378 * linux/sh/syscallent.h: Likewise.
379 * linux/sh64/syscallent.h: Likewise.
380 * linux/sparc/syscallent.h: Likewise.
381 * linux/sparc64/syscallent.h: Likewise.
382
383 * linux/arm/syscallent.h: Add entry for signalfd.
384 * linux/ia64/syscallent.h: Likewise.
385 * linux/mips/syscallent.h: Likewise.
386 * linux/powerpc/syscallent.h: Likewise.
387 * linux/s390/syscallent.h: Likewise.
388 * linux/s390x/syscallent.h: Likewise.
389 * linux/sh/syscallent.h: Likewise.
390 * linux/sh64/syscallent.h: Likewise.
391 * linux/sparc/syscallent.h: Likewise.
392 * linux/sparc64/syscallent.h: Likewise.
Roland McGrath488a1402007-08-02 01:23:52 +0000393
Roland McGrathe36e4ca2007-08-02 01:13:36 +0000394 * linux/hppa/syscallent.h: Add entry for epoll_pwait.
395 * linux/ia64/syscallent.h: Likewise.
396 * linux/mips/syscallent.h: Likewise.
397 * linux/powerpc/syscallent.h: Likewise.
398 * linux/s390/syscallent.h: Likewise.
399 * linux/s390x/syscallent.h: Likewise.
400 * linux/sh/syscallent.h: Likewise.
401 * linux/sh64/syscallent.h: Likewise.
402 * linux/sparc/syscallent.h: Likewise.
403 * linux/sparc64/syscallent.h: Likewise.
404
Roland McGrathe9fcf732007-08-02 01:37:07 +00004052007-07-23 Ulrich Drepper <drepper@redhat.com>
406
Roland McGrathb8c91632007-08-02 01:38:01 +0000407 * process.c (sys_getcpu): New function.
408 * linux/syscall.h: Declare sys_getcpu.
409 * linux/syscallent.h: Add entry for getcpu.
410
Roland McGrathe9fcf732007-08-02 01:37:07 +0000411 * desc.c (sys_eventfd): New function.
412 * linux/syscall.h: Declare sys_eventfd.
413 * linux/syscallent.h: Add entry for eventfd.
414 * linux/x86_64/syscallent.h: Likewise.
Roland McGrath5d465792007-08-02 01:31:21 +0000415
416 * time.c (printitv_bitness): Add missing braces to enclose
417 conditional code.
418 (TDF_TIMER_ABSTIME): Define if not already.
419 (timerfdflags): New variable.
420 (sys_timerfd): New function.
421 * linux/syscall.h: Declare sys_timerfd.
422 * linux/syscallent.h: Add timerfd entry.
423 * linux/x86_64/syscallent.h: Likewise.
Roland McGrathe36e4ca2007-08-02 01:13:36 +0000424
Roland McGrath488a1402007-08-02 01:23:52 +0000425 * linux/syscall.h: Declare sys_signalfd.
426 * linux/syscallent.h: Add entry for signalfd.
427 * linux/x86_64/syscallent.h: Likewise.
428 * signal.c (sys_signalfd): New function.
429
Roland McGrathe36e4ca2007-08-02 01:13:36 +0000430 * desc.c (sys_epoll_wait): Move body of function to ...
431 (epoll_wait_common): ...here. New function.
432 (sys_epoll_pwait): New function.
433 * linux/syscall.h: Declare sys_epoll_pwait.
434 * linux/syscallent.h: Add entry for epoll_pwait.
435 * linux/x86_64/syscallent.h: Likewise.
436
Roland McGrath2149fc02007-07-24 01:38:31 +00004372007-07-23 Roland McGrath <roland@redhat.com>
438
Roland McGrathb2c4f502007-07-24 01:59:02 +0000439 * time.c (printtv_bitness): SPECIAL only counts when tv_sec == 0.
440
Roland McGrathb912ffe2007-07-24 01:53:09 +0000441 * linux/arm/syscallent.h: Add move_pages.
442 * linux/hppa/syscallent.h: Likewise.
443 * linux/ia64/syscallent.h: Likewise.
444 * linux/m68k/syscallent.h: Likewise.
445 * linux/mips/syscallent.h: Likewise.
446 * linux/powerpc/syscallent.h: Likewise.
447 * linux/s390/syscallent.h: Likewise.
448 * linux/s390x/syscallent.h: Likewise.
449 * linux/sh/syscallent.h: Likewise.
450 * linux/sh64/syscallent.h: Likewise.
451 * linux/sparc/syscallent.h: Likewise.
452 * linux/sparc64/syscallent.h: Likewise.
453
454 * linux/syscallent.h: move_pages takes 6 args, not 5.
455 * linux/x86_64/syscallent.h: Likewise.
456
4572007-07-23 Ulrich Drepper <drepper@redhat.com>
458
Roland McGrathb2c4f502007-07-24 01:59:02 +0000459 * defs.h: Add new parameter to printtv_bitness prototype.
460 (printttv): Pass zero for the new parameter.
461 (printtv_special): New macro.
462 * desc.c (decode_select): Pass zero for the new parameter of
463 printtv_bitness.
464 * file.c (utimensatflags): New macro.
465 (sys_osf_utimes): Pass zero for the new parameter of
466 printtv_bitness.
467 (sys_utimes): Likewise.
468 (sys_futimesat): Likewise.
469 (decode_utimes): Add new parameter. Pass it to the
470 printtv_bitness calls. Fix printing of time values.
471 (sys_utimensat): New function.
472 * time.c (UTIME_NOW, UTIME_OMIT): Define if not already
473 happened.
474 (printtv_bitness): Add new parameter. Print special UTIME_*
475 values as strings if set.
476 (sys_osf_gettimeofday): Pass zero for the new parameter of
477 printtv_bitness.
478 (sys_osf_settimeofday): Likewise.
479 * linux/syscall.h: Declare sys_utimensat.
480 * linux/syscallent.h: Add utimensat entry.
481 * linux/x86_64/syscallent.h: Likewise.
482
Roland McGrathb912ffe2007-07-24 01:53:09 +0000483 * mem.c (move_pages_flags): New variable.
484 (sys_move_pages): New function.
485 * linux/syscall.h: Declare sys_move_pages.
486 * linux/syscallent.h: Add entry for sys_move_pages.
487 * linux/x86_64/syscallent.h: Likewise.
488
489 * mem.c (MPOL_MF_MOVE, MPOL_MF_MOVE_ALL): Define.
490 (mbindflags): Add MPOL_MF_MOVE and MPOL_MF_MOVE_ALL entries.
491
4922007-07-23 Roland McGrath <roland@redhat.com>
493
Roland McGrath2149fc02007-07-24 01:38:31 +0000494 * util.c (tv_add): Fix rounding comparison.
495 Reported by Bai Weidong <baiwd@cn.fujitsu.com>.
496
Roland McGrathcbf40602007-07-11 07:11:24 +00004972007-07-11 Roland McGrath <roland@redhat.com>
498
Roland McGratha7f34142007-07-11 09:04:26 +0000499 * count.c (call_summary_pers): Use tv_float conversion for output of
500 cumulative time, in case it is negative from bogus -O value.
501 From Lai JiangShan <laijs@cn.fujitsu.com>.
502
Roland McGrath0adfb522007-07-11 08:35:15 +0000503 * strace.c (handle_group_exit): Detach TCP before LEADER.
504 Don't use PTRACE_KILL on LEADER.
505
Roland McGrath70b2f0a2007-07-11 07:23:44 +0000506 * util.c (printstr): Fix size calculation for outstr allocation.
507
Roland McGrathcbf40602007-07-11 07:11:24 +0000508 * configure.ac (struct sigcontext.sc_hi2): Use #ifdef around
509 <asm/sigcontext.h> to match signal.c include conditions.
510
Roland McGrath02687832007-07-05 19:09:14 +00005112007-07-05 Roland McGrath <roland@redhat.com>
512
Roland McGrath96affab2007-07-05 20:55:15 +0000513 * debian/rules: Use debian/$(package) instead of debian/tmp as temp dir.
514
Roland McGrathb3205c82007-07-05 20:50:56 +0000515 * configure.ac: Use <stddef.h> before <linux/socket.h>.
516
517 * debian/changelog: Harmonize with debian version.
518 * debian/control (Uploaders): Fix surname spelling.
519 (Build-Depends): Make debhelper requirement (>= 5.0.0).
520 (Standards-Version): Update to 3.7.2.
521
Roland McGrath1be68c42007-07-05 20:34:43 +0000522 * .cvsignore: Add some automake-created files.
523
Roland McGrathf9fe6452007-07-05 20:32:19 +0000524 * file.c (sys_utime): Use personality_wordsize to handle biarch.
525 Fixes RH#247185.
526
527 * signal.c (sys_sigreturn) [MIPS]: Pass 3rd arg to sprintsigmask.
528 From Zhang Le <zhilg@users.sourceforge.net>.
529
Roland McGrath4acaaa12007-07-05 20:03:21 +0000530 * strace.c (strace_fopen): [_LFS64_LARGEFILE]: Use fopen64.
531 Fixes Debian#385310.
532
Roland McGrath6176a1a2007-07-05 19:31:52 +0000533 * strace.c (main): Fix error message for unfound -u user.
534 From Srinivasa Ds <srinivasa@in.ibm.com>.
Roland McGrath599df142007-07-05 19:37:07 +0000535 Fixes RH#247170.
Roland McGrath6176a1a2007-07-05 19:31:52 +0000536
537 * debian/control (Architecture): Add armel.
538
Roland McGratha41eb902007-07-05 19:28:52 +0000539 * linux/syscallent.h: Fix sys_delete_module arg count.
540 * linux/alpha/syscallent.h: Likewise.
541 * linux/arm/syscallent.h: Likewise.
542 * linux/hppa/syscallent.h: Likewise.
543 * linux/ia64/syscallent.h: Likewise.
544 * linux/m68k/syscallent.h: Likewise.
545 * linux/mips/syscallent.h: Likewise.
546 * linux/powerpc/syscallent.h: Likewise.
547 * linux/s390/syscallent.h: Likewise.
548 * linux/s390x/syscallent.h: Likewise.
549 * linux/sh/syscallent.h: Likewise.
550 * linux/sh64/syscallent.h: Likewise.
551 * linux/sparc/syscallent.h: Likewise.
552 * linux/sparc64/syscallent.h: Likewise.
553 * linux/sparc64/syscallent2.h: Likewise.
554 * linux/x86_64/syscallent.h: Likewise.
555 * linux/dummy.h (sys_delete_module): Use sys_open.
556 From Johannes Stezenbach <js@linuxtv.org>.
557
Roland McGrath02687832007-07-05 19:09:14 +0000558 * configure.ac: Check for struct sigcontext.sc_hi2.
559 * signal.c (sys_sigreturn) [MIPS]: Use sc_hi2 vs sc_sigset if found.
Roland McGrathc219f7c2007-07-05 18:59:16 +0000560
561 * process.c [LINUX] (futexops): Add many new values.
562 [LINUX] (futexwakeops, futexwakecmps): New tables.
563 [LINUX] (sys_futex): Use them.
564 From Ulrich Drepper <drepper@redhat.com>.
565 Fixes RH#241467.
566
Roland McGrath70e4b462007-07-05 18:43:24 +00005672007-07-05 Jan Kratochvil <jan.kratochvil@redhat.com>
568
569 * strace.c (detach): New prototype. Extended the function comment.
570 [LINUX] (detach): Call droptcb() instead of the wrongly parametrized
571 detach() call.
572 (handle_group_exit): Call droptcb() instead of the wrongly parametrized
573 detach() call. Always call detach() only once from the group leader.
574 Comment the leader killing known bug tested by `test/leaderkill.c'.
575 Code advisory: Roland McGrath
576 Fixes RH#240961.
577
578 * test/leaderkill.c: New file.
579 * test/.cvsignore, test/Makefile: Add it.
580
Roland McGratha7b4e0a2007-07-05 19:01:39 +00005812007-03-21 Andreas Schwab <schwab@suse.de>
582
583 * file.c (sys_newfstatat): Don't use printstat64 on ppc64.
584
Dmitry V. Levinb011af52007-06-30 11:37:09 +00005852007-03-29 Vladimir Nadvornik <nadvornik@suse.cz>
586 Dmitry V. Levin <ldv@altlinux.org>
587
588 Trace linux SG_IO ioctl arguments and results.
589 * scsi.c: New file.
Roland McGrath70e4b462007-07-05 18:43:24 +0000590 * Makefile.am (strace_SOURCES): Add it.
Dmitry V. Levinb011af52007-06-30 11:37:09 +0000591 * defs.h (scsi_ioctl): New function.
592 * ioctl.c (ioctl_decode): Use scsi_ioctl().
593
Dmitry V. Levinfefdd972007-06-29 21:25:56 +00005942007-06-28 Dmitry V. Levin <ldv@altlinux.org>
595
596 * util.c (tv_mul): Multiply tv_usec properly.
597 Patch from Cai Fei <caifei@cn.fujitsu.com>.
598
Roland McGrath8a483d82007-06-11 22:06:37 +00005992007-06-11 Jan Kratochvil <jan.kratochvil@redhat.com>
600
601 Never interrupt when the attached traced process would be left stopped.
602 * strace.c (main): `-p' attaching moved to ...
603 (startup_attach): ... a new function, renamed a variable C to TCBI.
604 Block interrupting signals since the first tracee has been attached.
605 New comment about INTERRUPTED in the nonthreaded case.
606 [LINUX] (startup_attach): Check INTERRUPTED after each attached thread.
607 (main): Command spawning moved to ...
608 (startup_child): ... a new function, replaced RETURN with EXIT.
609 [LINUX] (detach): New variable CATCH_SIGSTOP, do not signal
610 new SIGSTOP for processes still in TCB_STARTUP.
611 (main): Move signals and BLOCKED_SET init before the tracees attaching,
612 [SUNOS4] (trace): Removed fixvfork () call as a dead code, SIGSTOP must
613 have been already caught before clearing TCB_STARTUP.
614 (trace): Removed the `!WIFSTOPPED(status)' dead code.
615 Clear TCB_STARTUP only in the case the received signal was SIGSTOP.
616 New comment when `TCB_BPTSET && TCB_STARTUP' combination can be set.
617 Code advisory: Roland McGrath
618 Fixes RH#240986.
619
Roland McGrath625c9982007-06-02 00:07:38 +00006202007-05-24 Jan Kratochvil <jan.kratochvil@redhat.com>
621
622 * strace.c [LINUX] (my_tgkill): New macro.
623 [LINUX] (detach): Use my_tgkill () instead of kill(2).
624 Fixes RH#240962.
625
Dmitry V. Levin71f1a132007-03-29 23:30:09 +00006262007-03-30 Dmitry V. Levin <ldv@altlinux.org>
627
628 * mem.c (mmap_flags): Add MAP_32BIT.
629 Reported by Kirill A. Shutemov.
630
Dmitry V. Levin40284242007-03-21 13:52:14 +00006312007-01-12 Dmitry V. Levin <ldv@altlinux.org>
632
Dmitry V. Levin652e4482007-03-21 14:18:17 +0000633 * sock.c (sock_ioctl): Check umove() return code.
Roland McGrathf30de7e2007-08-03 10:28:59 +0000634 [LINUX]: Handle SIOCGIFTXQLEN and SIOCGIFMAP.
Dmitry V. Levin40284242007-03-21 13:52:14 +0000635
Roland McGrath9f825d32007-03-16 21:56:17 +00006362007-03-16 Roland McGrath <roland@redhat.com>
637
638 * linux/s390/syscallent.h: Use sys_restart_syscall for 7.
639 * linux/s390x/syscallent.h: Likewise.
640
Roland McGrathc6696f52007-02-18 22:56:46 +00006412007-02-18 Roland McGrath <roland@redhat.com>
642
643 * strace.spec (Summary): Remove trailing period.
644 (%files): Add %doc files.
645 (%changelog): Double %s in text.
646 (BuildRoot): Change to Fedora canonical.
647 (%install): Don't use %makeinstall macro.
648 (%build): Use %{?_smp_mflags}.
649
Roland McGrath0a45fae2007-01-16 23:25:34 +00006502007-01-16 Roland McGrath <roland@redhat.com>
651
652 * configure.ac, NEWS: Version 4.5.15.
653 * debian/changelog, strace.spec: 4.5.15-1.
654
Dmitry V. Levin817b7082007-01-16 15:10:07 +00006552007-01-16 Dmitry V. Levin <ldv@altlinux.org>
656
657 Update mount parser to match kernel behaviour.
658 * system.c [LINUX] (MS_VERBOSE): Rename to MS_SILENT.
659 [LINUX] (MS_UNBINDABLE, MS_PRIVATE, MS_SLAVE, MS_SHARED):
660 New macros.
661 [LINUX] (mount_flags): Add them.
662 [LINUX] (MS_MGC_MSK): New macro.
663 [LINUX] (sys_mount): Update parser to match kernel behaviour:
664 discard MS_MGC_VAL magic, do not decode type and/or data
665 strings when specified flags do not imply valid strings.
666
Dmitry V. Levin71d70892007-01-13 11:17:38 +00006672007-01-12 Dmitry V. Levin <ldv@altlinux.org>
668
669 * time.c [LINUX] (tprint_timex32, tprint_timex): Decode adjtimex
670 modes as flags.
671
Dmitry V. Levin9b5b67e2007-01-11 23:19:55 +00006722007-01-11 Dmitry V. Levin <ldv@altlinux.org>
673
Dmitry V. Levin5c7ad8c2007-01-13 11:15:48 +0000674 Update umount parser.
675 * system.c [LINUX] (MNT_FORCE, MNT_DETACH, MNT_EXPIRE): New macros.
676 [LINUX] (umount_flags): New xlat structure with MNT_* entries.
677 [LINUX] (sys_umount2): Use umount_flags.
678
Dmitry V. Levin9b5b67e2007-01-11 23:19:55 +0000679 Fix open(2) flags parser.
680 * defs.h (tprint_open_modes): New function.
681 * desc.c (sprint_open_modes): New function.
682 (sys_fcntl): Use tprint_open_modes() and sprint_open_modes().
683 * file.c (openmodes): Split xlat into open_access_modes and
684 open_mode_flags.
685 (tprint_open_modes): New function.
686 (decode_open): Use it.
687 * ipc.c (sys_mq_open, printmqattr): Likewise.
688 Fixes RH#222385.
689
Roland McGratha9e32242007-01-11 22:22:54 +00006902007-01-11 Roland McGrath <roland@redhat.com>
691
692 * configure.ac, NEWS: Version 4.5.15.
693 * debian/changelog, strace.spec: 4.5.15-1.
694
Roland McGrath7a399402007-01-11 22:42:45 +0000695 * debian/control (Uploaders): Add Frederik Schueler <fs@debian.org>.
696
Roland McGratha9e32242007-01-11 22:22:54 +0000697 * strace.spec (Release): Use %{?dist}.
698
Roland McGrath4724f3b2007-01-11 22:26:04 +0000699 * system.c [LINUX] (CTL_CPU): Define in case header is missing it.
700
Dmitry V. Levinab9008b2007-01-11 22:05:04 +00007012006-12-27 Dmitry V. Levin <ldv@altlinux.org>
702
Roland McGratha9e32242007-01-11 22:22:54 +0000703 Add const qualifier to xlookup() return value.
Dmitry V. Levinab9008b2007-01-11 22:05:04 +0000704 * defs.h (xlookup): Add const qualifier to return value.
705 * desc.c (sprintflags): Likewise.
706 * process.c (printpriv): Update xlookup() use.
Roland McGratha9e32242007-01-11 22:22:54 +0000707 * signal.c (sprintsigmask): Add const qualifier to first argument and
708 return value.
Dmitry V. Levinab9008b2007-01-11 22:05:04 +0000709 * util.c (xlookup): Add const qualifier to return value.
710 (printxval): Update xlookup() use.
711
Dmitry V. Levin7d61ff12006-12-21 21:15:04 +00007122006-12-21 Dmitry V. Levin <ldv@altlinux.org>
713
714 Move counts code to separate file.
715 * count.c: New file.
716 * Makefile.am (strace_SOURCES): Add count.c.
717 * syscall.c (call_counts, countv, counts, shortest, time_cmp,
718 syscall_cmp, count_cmp, sortfun, overhead, set_sortby,
719 set_overhead, call_summary_pers, call_summary): Move to count.c
720 * count.c (count_syscall): New function.
721 * defs.h (count_syscall): Declare it.
722 * syscall.c (trace_syscall): Use it.
723
Dmitry V. Levin3abe8b22006-12-20 22:37:21 +00007242006-12-20 Dmitry V. Levin <ldv@altlinux.org>
725
Dmitry V. Levinb2f86992006-12-21 11:44:28 +0000726 * syscall.c (internal_syscall): Change conditions for internal_exit,
727 internal_fork, internal_clone, internal_exec and internal_wait
728 calls from switching on known scno values to switching on known
729 sysent[tcp->scno].sys_func values.
730 Fixes RH#179740.
731
Dmitry V. Levin3abe8b22006-12-20 22:37:21 +0000732 Show system call summary for each personality.
733 * syscall.c (countv): New call_counts pointers array.
734 (counts): Convert to macro wrapper around countv.
735 (call_summary_pers): New function.
736 (call_summary): Use it for each personality.
737 Fixes RH#192193.
738
Dmitry V. Levin10de62b2006-12-13 21:45:31 +00007392006-12-12 Dmitry V. Levin <ldv@altlinux.org>
740
741 Fix -ff -o behaviour. Fix piping trace output.
742 * defs.h (newoutf): Remove.
743 (alloctcb): Rename to alloc_tcb. Add alloctcb() macro wrapper
744 around alloc_tcb().
745 * process.c [!USE_PROCFS] (internal_clone, internal_fork):
746 Remove newoutf() call.
747 * strace.c (set_cloexec_flag, strace_fopen, strace_popen,
748 swap_uid): New functions.
749 (popen_pid): New variable.
750 (newoutf): Make static, use strace_fopen().
751 (main): Use strace_fopen() and strace_popen(), remove uids
752 swapping. Do not open outfname when followfork > 1.
753 Reinitialize tcp->outf properly.
754 (alloctcb): Rename to alloc_tcb. Use newoutf().
755 (trace): Check popen_pid. Remove newoutf() call.
756 [USE_PROCFS] (proc_open, proc_poll_open): Use set_cloexec_flag().
Dmitry V. Levin16f27942006-12-21 21:00:34 +0000757 Fixes RH#204950, RH#218435, Debian#353935.
Dmitry V. Levin10de62b2006-12-13 21:45:31 +0000758
Dmitry V. Levinb9fe0112006-12-13 16:59:44 +00007592006-12-10 Dmitry V. Levin <ldv@altlinux.org>
760
Dmitry V. Levind3cb3922006-12-13 17:45:02 +0000761 Add biarch support for "struct sigevent".
762 * time.c [LINUX && SUPPORTED_PERSONALITIES > 1] (printsigevent32):
763 New function.
764 [LINUX] (printsigevent): [SUPPORTED_PERSONALITIES > 1]
765 Handle 32-bit personality.
766
Dmitry V. Levin165b15d2006-12-13 17:43:45 +0000767 Add biarch support for "struct timex".
768 * time.c [LINUX && SUPPORTED_PERSONALITIES > 1] (tprint_timex32):
769 New function.
770 [LINUX] (tprint_timex): New function.
771 [LINUX] (sys_adjtimex): Use it.
772
Dmitry V. Levin1a684d62006-12-13 17:42:32 +0000773 Enhance adjtimex parser.
774 * time.c [LINUX] (adjtimex_modes, adjtimex_status,
775 adjtimex_state): New xlat structures.
776 [LINUX] (sys_adjtimex): Print the whole struct timex.
777 Decode modes, status and return code.
778
Dmitry V. Levin1cad25d2006-12-13 17:14:36 +0000779 Add biarch support for "struct itimerval".
780 * time.c (printitv): Rename to printitv_bitness().
781 Add printitv() macro wrapper around printitv_bitness().
782 (printitv_bitness): Handle 32-bit personality.
783 [ALPHA] (sys_osf_getitimer, sys_osf_setitimer):
784 Use printitv_bitness().
785 (tprint_timeval, tprint_timeval32): New functions.
786 (printtv_bitness, printitv_bitness, sys_adjtimex): Use them.
787 (printitv32): Remove.
788
789 Add biarch support for "struct timeval".
790 * defs.h (bitness_t): New enum type.
791 (printtv_bitness, sprinttv): New function prototypes.
792 (printtv): Convert to macro wrapper around printtv_bitness().
793 (printtv32): Remove.
794 * desc.c (decode_select): Use printtv_bitness() and sprinttv().
795 (sys_oldselect, sys_osf_select, sys_select, sys_pselect6):
796 Update decode_select() use.
797 * file.c [ALPHA] (sys_osf_utimes): Use printtv_bitness().
798 * time.c (printtv_bitness, sprinttv): New functions.
799 (printtv, printtv32): Remove.
800 [ALPHA] (sys_osf_settimeofday, sys_osf_settimeofday):
801 Use printtv_bitness().
802 Fixes RH#171626, RH#173050.
803
Dmitry V. Levin4ebb4e32006-12-13 17:08:08 +0000804 Add biarch support for "struct iovec".
805 * defs.h (personality_wordsize): Add.
806 * io.c [HAVE_SYS_UIO_H] (tprint_iov): [LINUX &&
807 SUPPORTED_PERSONALITIES > 1] Handle 32-bit personality.
808 * util.c [HAVE_SYS_UIO_H] (dumpiov): [LINUX &&
809 SUPPORTED_PERSONALITIES > 1] Likewise.
810 Patch from Jakub Jelinek.
811 Fixes RH#218433.
812
Dmitry V. Levinac518d12006-12-13 17:03:02 +0000813 * time.c (sys_timer_create): Check umove() return code.
814
Dmitry V. Levinb9fe0112006-12-13 16:59:44 +0000815 Make several global variables static.
816 #ifdef definitions of rarely unused functions.
817 * defs.h (rflag, tflag, outfname): Remove.
818 * strace.c (iflag, interactive, pflag_seen, rflag, tflag,
819 outfname, username): Make static.
820 * desc.c (sys_getdtablesize): Define only for
821 ALPHA || FREEBSD || SUNOS4.
822 * file.c (sys_fchroot): Define only for SUNOS4 || SVR4.
823 (sys_mkfifo): Define only for FREEBSD.
824 * mem.c (sys_sbrk): Define only for FREEBSD || SUNOS4.
825 (sys_getpagesize): Define only for
826 ALPHA || FREEBSD || IA64 || SUNOS4 || SVR4.
827 * net.c (sys_so_socket): Define only for SVR4.
828 * process.c (sys_gethostid): Define only for
829 FREEBSD || SUNOS4 || SVR4.
830 (sys_gethostname): Define only for
831 ALPHA || FREEBSD || SUNOS4 || SVR4.
832 (sys_setpgrp): Define only for ALPHA || SUNOS4 || SVR4.
833 (sys_execv): Define only for SPARC || SPARC64 || SUNOS4.
834 * signal.c (sys_sigblock): Define only for FREEBSD || SUNOS4.
835 (sys_sighold, sys_sigwait): Define only for SVR4.
836 (sys_killpg): Define only for FREEBSD || SUNOS4.
837 * stream.c (sys_getmsg): Define only for
838 SPARC || SPARC64 || SUNOS4 || SVR4.
839 * syscall.c (sys_indir): Define only for SUNOS4.
840
Dmitry V. Levin35a55782006-12-04 13:48:10 +00008412006-11-27 Dmitry V. Levin <ldv@altlinux.org>
842
843 * system.c [LINUX]: Define CTL_PROC, since Linux 2.6.18+ headers
844 removed CTL_PROC enum. Patch from Jakub Jelinek.
845 [LINUX] (sysctl_root): Add CTL_BUS, CTL_ABI and CTL_CPU.
846
Dmitry V. Levina6946662006-12-04 13:46:28 +00008472006-11-20 Jakub Jelinek <jakub@redhat.com>
848
849 * linux/ia64/syscallent.h: Add #if check to make sure that
850 SYS_socket_subcall adjustment isn't forgotten again.
851
Dmitry V. Levinef5c3d62006-10-16 00:26:47 +00008522006-10-16 Dmitry V. Levin <ldv@altlinux.org>
853
854 Implement comprehensive quotactl(2) parser for Linux.
855 * Makefile.am (strace_SOURCES): Add quota.c.
856 * quota.c: New file.
857 * resource.c: Remove old quotactl(2) parser.
858 Fixes RH#118696.
859
Dmitry V. Levincbd470f2006-10-14 14:23:57 +00008602006-10-14 Dmitry V. Levin <ldv@altlinux.org>
861
Roland McGratha0de7c12007-01-16 01:02:38 +0000862 * configure.ac (AC_CHECK_HEADERS): Add inttypes.h.
Dmitry V. Levin1f336e52006-10-14 20:20:46 +0000863 * file.c [_LFS64_LARGEFILE && (LINUX || SVR4)]:
864 Include <inttypes.h>.
865 (sys_getdents64): Use PRIu64/PRId64 to avoid gcc warnings on
866 64-bit platforms.
867
Dmitry V. Levincbd470f2006-10-14 14:23:57 +0000868 * strace.c (main): Check getcwd() return code.
869
Dmitry V. Levin95ebf5a2006-10-13 20:25:12 +00008702006-10-13 Ulrich Drepper <drepper@redhat.com>
871 Bernhard Kaindl <bk@suse.de>
872 Dmitry V. Levin <ldv@altlinux.org>
873 Michael Holzheu <holzheu@de.ibm.com>
874
875 Add hooks for new syscalls. Add decoders for *at, inotify*,
876 pselect6, ppoll and unshare syscalls.
877
878 * defs.h: Declare print_sigset.
879 * desc.c (sys_pselect6): New function.
880 * file.c (decode_open, decode_access, decode_mkdir,
881 decode_readlink, decode_chmod, decode_utimes, decode_mknod):
882 New functions.
883 (sys_open, sys_access, sys_mkdir, sys_readlink, sys_chmod,
884 sys_utimes, sys_mknod): Use them.
885 [LINUX] (fstatatflags, unlinkatflags, inotify_modes): New
886 variables.
887 [LINUX] (print_dirfd, sys_openat, sys_faccessat,
888 sys_newfstatat, sys_mkdirat, sys_linkat, sys_unlinkat,
889 sys_symlinkat, sys_readlinkat, sys_renameat, sys_fchownat,
890 sys_fchmodat, sys_futimesat, sys_mknodat, sys_inotify_add_watch,
891 sys_inotify_rm_watch): New functions.
892 * process.c [LINUX] (sys_unshare): New function.
893 * signal.c (print_sigset): New function.
894 (sys_sigprocmask): Use it.
895 * stream.c (decode_poll): New function.
896 (sys_poll): Use it.
897 [LINUX] (sys_ppoll): New function.
898 * linux/syscall.h: Delcare new syscall handlers.
899 * linux/syscallent.h: Hook up new syscalls.
900 * linux/alpha/syscallent.h: Likewise.
901 * linux/hppa/syscallent.h: Likewise.
902 * linux/ia64/syscallent.h: Likewise.
903 * linux/mips/syscallent.h: Likewise.
904 * linux/powerpc/syscallent.h: Likewise.
905 * linux/s390/syscallent.h: Likewise.
906 * linux/s390x/syscallent.h: Likewise.
907 * linux/sparc/syscallent.h: Likewise.
908 * linux/sparc64/syscallent.h: Likewise.
909 * linux/x86_64/syscallent.h: Likewise.
910 Fixes RH#178633.
911
Dmitry V. Levin96339422006-10-11 23:11:43 +00009122006-10-06 Dmitry V. Levin <ldv@altlinux.org>
913
914 * strace.c [!USE_PROCFS] (trace): Presence of PT_GETSIGINFO
915 macro does not mean that PT_CR_IPSR and PT_CR_IIP macros are
916 also defined, so check them along with PT_GETSIGINFO.
917 Fixes RH#209856.
918
Dmitry V. Levin504eb0b2006-10-11 22:58:31 +00009192006-09-01 Dmitry V. Levin <ldv@altlinux.org>
920
921 * file.c (print_xattr_val): Fix memory corruption bug reported
922 by James Antill.
923 Fixes RH#200621.
924
Dmitry V. Levinaca9a742006-10-11 22:56:49 +00009252006-04-21 Dmitry V. Levin <ldv@altlinux.org>
926
927 * defs.h [LINUX && X86_64 && !__NR_exit_group]: Define
928 __NR_exit_group.
929
Dmitry V. Levin76860f62006-10-11 22:55:25 +00009302006-03-29 Dmitry V. Levin <ldv@altlinux.org>
931
932 Fix race conditions in tcb allocation.
933 * process.c (fork_tcb): Return error code as documented. Do not
934 print "tcb table full" error message.
935 [USE_PROCFS] (internal_fork): Do not print "tcb table full"
936 error message.
937 [SYS_clone || SYS_clone2] (internal_clone, internal_fork): Call
938 fork_tcb() before alloctcb(). Do not print "tcb table full"
939 error message.
940 * strace.c (main): Do not print "tcb table full" error message.
941 (expand_tcbtab): Print error message in case of memory allocation
942 failure.
943 (alloctcb): Print error message when tcb table is full.
944 (trace): Expand tcb table if necessary prior to allocating
945 entry there. Do not print "tcb table full" error message.
946 Fixes RH#180293.
947
Roland McGrathff87ae22006-08-22 07:37:00 +00009482006-08-22 Roland McGrath <roland@redhat.com>
949
950 * ipc.c (sys_msgget, sys_semget, sys_shmget): Show key values in hex.
951 Fixes RH#198179.
952
Roland McGrath6ef291b2006-08-22 06:06:24 +00009532006-08-21 Roland McGrath <roland@redhat.com>
954
955 * linux/syscall.h (SYS_socket_subcall): Bump to 400.
956 * linux/syscallent.h: Update table.
957 * linux/arm/syscallent.h: Likewise.
958 * linux/m68k/syscallent.h: Likewise.
959 * linux/s390/syscallent.h: Likewise.
960 * linux/s390x/syscallent.h: Likewise.
Roland McGrath71030012006-08-22 06:33:45 +0000961 * linux/powerpc/syscallent.h: Likewise.
962 * linux/sh/syscallent.h: Likewise.
963 * linux/sh64/syscallent.h: Likewise.
Roland McGrathfd52f8d2006-10-10 00:57:30 +0000964 Fixes RH#201462.
Roland McGrath6ef291b2006-08-22 06:06:24 +0000965
Roland McGrath23777062006-04-25 07:22:04 +00009662006-04-25 Roland McGrath <roland@redhat.com>
967
Roland McGrathde170102006-04-25 07:48:06 +0000968 * strace.c (main): Fail when -c is given with -ff.
969 * strace.1: Note their incompatibility.
970 Fixes RH#187847.
971
Roland McGrath5b97ae32006-04-25 07:39:48 +0000972 * strace.c (main): Fail when nonoption args follow -p switches.
973 Fixes Debian#361302.
974
Roland McGrath9d19e162006-04-25 07:33:26 +0000975 * Makefile.am (EXTRA_DIST): Add xlate.el.
976
977 * linux/mips/Makefile.in: File removed, unused cruft.
978 * linux/sparc/Makefile.in: Likewise.
979
Roland McGrath23777062006-04-25 07:22:04 +0000980 * strace.spec (Source0): Use http://dl.sourceforge.net URL.
981
982 * ipc.c (sys_semtimedop): Fixed inverted indirect_ipccall test.
983 * linux/hppa/syscallent.h: Fixed semtimedop entry.
984 From Mike Stroyan <mike.stroyan@hp.com>.
985 Fixes Debian#340239.
986
Roland McGrath9216ba72006-04-25 07:34:44 +00009872006-03-30 Daniel Jacobowitz <dan@codesourcery.com>
988
Roland McGrath5b97ae32006-04-25 07:39:48 +0000989 * linux/arm/syscallent.h: Correct the name of exit. Remove
990 M68K conditionals and sys_security. Correct syscalls 243-282.
991 Fixes Debian#360154.
992
Roland McGrath9216ba72006-04-25 07:34:44 +0000993 * process.c (change_syscall): Add ARM support.
994 * syscall.c (get_scno): Handle ARM EABI.
995 Fixes Debian#360152.
996
Roland McGrath074a8e12006-01-17 06:23:01 +00009972006-01-16 Roland McGrath <roland@redhat.com>
998
999 * configure.ac, NEWS: Version 4.5.14.
1000 * debian/changelog, strace.spec: 4.5.14-1.
1001
Roland McGrathef6b8bf2006-01-14 00:20:26 +000010022006-01-13 Roland McGrath <roland@redhat.com>
1003
1004 * debian/control (Build-Depends): Add debhelper.
1005
Roland McGrath97a932b2006-01-12 10:19:01 +000010062006-01-12 Roland McGrath <roland@redhat.com>
1007
Roland McGrath402c9d12006-01-12 22:35:02 +00001008 * signal.c [LINUX] (sys_restart_syscall): New function.
1009 * linux/syscall.h: Declare sys_restart_syscall.
1010 * linux/sparc/syscall.h: Likewise.
1011 * linux/syscallent.h: Call 0 is restart_syscall.
1012 * linux/arm/syscallent.h: Likewise.
1013 * linux/powerpc/syscallent.h: Likewise.
1014 * linux/m68k/syscallent.h: Likewise.
1015 * linux/hppa/syscallent.h: Likewise.
1016 * linux/sh/syscallent.h: Likewise.
1017 * linux/sparc/syscallent.h: Likewise.
1018 * linux/sparc64/syscallent.h: Likewise.
1019 * linux/alpha/syscallent.h: Use sys_restart_syscall.
1020 * linux/ia64/syscallent.h: Likewise.
1021 * linux/mips/syscallent.h: Likewise.
1022 * linux/x86_64/syscallent.h: Likewise.
Dmitry V. Levin16f27942006-12-21 21:00:34 +00001023 Fixes RH#165469, Debian#350641.
Roland McGrath402c9d12006-01-12 22:35:02 +00001024
10252005-08-08 Dmitry V. Levin <ldv@altlinux.org>
1026
1027 * system.c [LINUX] (MS_MGC_VAL): New macro.
1028 [LINUX] (mount_flags): Add it.
1029 [LINUX] (sys_mount): If neither MS_BIND nor MS_MOVE bits are
1030 set in the flags argument, try to fetch data string.
1031 Fixes RH#165377.
1032
10332006-01-12 Roland McGrath <roland@redhat.com>
1034
Roland McGrath9ee476f2006-01-12 11:03:48 +00001035 * system.c (sys_sysctl): Don't read off end of NAME when max_strlen
1036 exceeds INFO.nlen.
1037 From Timo Lindfors <timo.lindfors@iki.fi>.
1038 Fixes Debian#339117.
1039
1040 * debian/rules (binary-arch): Don't pass -s to install. Use dh_strip.
1041 Fixes Debian#325132.
1042
1043 * debian/control (Standards-Version): Update to 3.6.2.
1044
Roland McGrath97a932b2006-01-12 10:19:01 +00001045 * defs.h [LINUXSPARC] (PERSONALITY0_WORDSIZE, PERSONALITY1_WORDSIZE):
1046 New macros.
1047 [SPARC64] (PERSONALITY2_WORDSIZE): New macro.
1048 [X86_64] (PERSONALITY0_WORDSIZE, PERSONALITY1_WORDSIZE): New macros.
1049 * syscall.c (PERSONALITY0_WORDSIZE): New macro if undefined.
1050 (personality_wordsize): New variable.
1051 (decode_subcall): Use it for size of argument words.
1052 Fixes RH#174354.
1053
Roland McGrath49355302006-01-12 09:51:03 +000010542005-11-17 Dmitry V. Levin <ldv@altlinux.org>
1055
1056 Implement qual_flags support for each personality.
1057 * strace.c (main): Move qualify calls after set_personality call.
1058 * syscall.c (qual_flags0): New variable..
1059 [SUPPORTED_PERSONALITIES >= 2] (qual_flags1): New variable.
1060 [SUPPORTED_PERSONALITIES >= 3] (qual_flags2): New variable.
1061 (qual_flags): Change variable definition from array to pointer.
1062 (set_personality): Initialize qual_flags variable.
1063 (qualify_one): Add "pers" argument to specify personality.
1064 [SUPPORTED_PERSONALITIES >= 2]: Set qual_flags1 if requested.
1065 [SUPPORTED_PERSONALITIES >= 3]: Set qual_flags2 if requested.
1066 (qual_syscall): Pass personality to qualify_one.
1067 [SUPPORTED_PERSONALITIES >= 2]: Look for syscall also in sysent1
1068 table.
1069 [SUPPORTED_PERSONALITIES >= 3]: Look for syscall also in sysent2
1070 table.
1071 (qual_signal): Pass personality to qualify_one.
1072 (qual_desc): Likewise.
1073 (qualify): Use qualify_one instead of manual qual_flags
1074 manipulations.
1075 [SUPPORTED_PERSONALITIES >= 2]: Look for syscall also in sysent1
1076 table.
1077 [SUPPORTED_PERSONALITIES >= 3]: Look for syscall also in sysent2
1078 table.
1079 * defs.h: Update qual_flags declaration.
1080 Fixes RH#173986.
1081
Roland McGrath7c061b22006-01-12 09:45:59 +000010822005-11-14 Dmitry V. Levin <ldv@altlinux.org>
1083
1084 * syscall.c (qual_syscall): Handle numeric syscall specification.
1085 Fixes RH#174798.
1086
1087 * syscall.c (qual_signal, qual_options): Remove redundant argument
1088 check.
1089
Roland McGrath52f70f72005-12-02 04:34:25 +000010902005-12-01 Roland McGrath <roland@redhat.com>
1091
1092 * ipc.c (indirect_ipccall) [MIPS || HPPA]: Return false.
1093 Fixes Debian#340239.
1094
1095 * Makefile.am (EXTRA_DIST): Add linux/arm/syscallent.h
1096 and linux/m68k/syscallent.h.
1097 Fixes Debian#336197.
1098
1099 * debian/control (Architecture): Add armeb.
1100 Fixes Debian#335681.
1101
11022005-11-02 Michal Marek <mmarek@suse.cz>
1103
1104 * strace-graph (handle_trace): follow clone() and vfork() calls.
1105
Roland McGrath362f1c32005-12-02 04:23:50 +000011062005-10-25 Heiko Carstens <heiko.carstens@de.ibm.com>
1107
1108 * linux/s390/syscallent.h: Added ioprio_set, ioprio_get,
1109 inotify_init, inotify_add_watch, inotify_rm_watch.
1110 Corrected number of arguments for request_key.
1111 * linux/s390x/syscallent.h: Likewise.
1112
11132005-12-01 Roland McGrath <roland@redhat.com>
1114
1115 * ipc.c (indirect_ipccall) [IA64]: Return false unless the syscall
1116 number is in the low range of IA32 syscalls.
1117
11182005-10-07 Andreas Schwab <schwab@suse.de>
1119
1120 * linux/ia64/syscallent.h: Syscall 1105 is gettid, not ioperm.
1121
Roland McGrath89e94ff2005-12-02 03:57:20 +000011222005-12-01 Roland McGrath <roland@redhat.com>
1123
Roland McGrath8e5ca842005-12-02 04:08:39 +00001124 * resource.c (resources): Add RLIMIT_NICE, RLIMIT_RTPRIO.
1125 Reported by Scott Tsai <scottt958@yahoo.com.tw>.
1126
Roland McGrath89e94ff2005-12-02 03:57:20 +00001127 * ipc.c (indirect_ipccall): New function.
1128 (sys_msgctl, sys_msgsnd, sys_msgrcv, sys_semop): Use that predicate
1129 instead of #ifdef LINUX test.
1130 [LINUX] (sys_semtimedop): Likewise.
1131 (sys_shmctl, sys_shmat, sys_shmdt): Likewise.
1132 Fixes RH#164755.
1133
Roland McGrath61b675e2005-12-02 03:44:20 +000011342005-07-31 Ulrich Drepper <drepper@redhat.com>
1135
Roland McGrath89e94ff2005-12-02 03:57:20 +00001136 * linux/x86_64/syscallent.h: Fix syscall parameter count for msgrcv and
1137 msgctl.
1138
Roland McGrath61b675e2005-12-02 03:44:20 +00001139 * ipc.c (sys_msgrcv): Add entering handling and print first parameter
1140 there.
1141 Fixes RH#164757.
1142
Roland McGrathbc38ae72005-12-02 03:59:47 +000011432005-08-08 Dmitry V. Levin <ldv@altlinux.org>
1144
1145 * strace.1: Update "SEE ALSO" links to reference to valid
1146 manpages.
1147 Patch from Michail Litvak <mci@owl.openwall.com>.
1148 Fixes RH#165375.
1149
Roland McGrath68565782005-10-21 22:06:58 +000011502005-10-21 Roland McGrath <roland@redhat.com>
1151
1152 * util.c (printpathn): Cap N at sizeof path - 1.
1153
Roland McGrath0c26d342005-08-03 11:43:03 +000011542005-08-03 Roland McGrath <roland@redhat.com>
1155
1156 * configure.ac, NEWS: Version 4.5.13.
1157 * debian/changelog, strace.spec: 4.5.13-1.
1158
Roland McGrath03c3d752005-08-03 12:18:37 +00001159 * configure.ac: Check for struct dqblk.dqb_curblocks field.
Roland McGrath7e946762005-08-03 12:02:14 +00001160 * resource.c [LINUX] (OLD_CMD): New macro.
1161 (quotacmds): Use it to hard-wire old O_* values, don't use macros.
Roland McGrath03c3d752005-08-03 12:18:37 +00001162 (sys_quotactl): If dqb_curblocks is not there, it's called
1163 dqb_curspace instead. Print dqb_* fields as unsigned long long.
Roland McGrath7e946762005-08-03 12:02:14 +00001164
Roland McGrath9554a482005-08-03 11:29:26 +000011652005-07-19 Michael Schmitz <schmitz@debian.org>
1166
1167 Long overdue m68k cleanup.
1168 * linux/syscallent.h: remove m68k declarations.
1169 * linux/m68k/syscallent.h: new file, fixed up declarations
1170 to match kernel version 2.6.11. Newer syscalls are sufficiently
1171 different from i386 to merit a separate file.
1172
11732005-08-03 Roland McGrath <roland@redhat.com>
1174
1175 * linux/x86_64/syscallent.h: Update init_module argument count.
1176 * linux/sparc/syscallent.h: Likewise.
1177 * linux/sparc64/syscallent2.h: Likewise.
1178 * linux/sparc64/syscallent.h: Likewise.
1179 * linux/sh/syscallent.h: Likewise.
1180 * linux/sh64/syscallent.h: Likewise.
1181 * linux/s390/syscallent.h: Likewise.
1182 * linux/s390x/syscallent.h: Likewise.
1183 * linux/powerpc/syscallent.h: Likewise.
1184 * linux/arm/syscallent.h: Likewise.
1185
11862005-07-22 James Lentini <jlentini@gmail.com>
1187
1188 * bjm.c (sys_init_module): Display all three arguments.
1189 * linux/syscallent.h: Update argument count.
1190
Roland McGrathe0f6bb02005-08-03 11:23:50 +000011912005-08-03 Roland McGrath <roland@redhat.com>
1192
1193 * process.c (internal_wait): Don't suspend when known child is known
1194 to be exiting already.
1195
1196 * strace.c (detach): If detaching the last live thread in a group with
1197 a zombie leader, then detach the leader too.
1198 (handle_group_exit): Use detach, not droptcb, for predeceased thread.
1199 Mark process about to take a signal with TCB_GROUP_EXITING flag.
1200 Fixes RH#161919.
1201
Roland McGrath30afb792005-07-19 07:42:24 +000012022005-07-19 Roland McGrath <roland@redhat.com>
1203
1204 * defs.h [LINUX] [M68K] (__NR_exit_group): Define it if missing.
1205 Fixes Debian#315500.
1206
Roland McGrath387d0e52005-07-19 07:13:34 +000012072005-07-14 Heiko Carstens <heiko.carstens@de.ibm.com>
1208
1209 * linux/s390/syscallent.h (sys_tgkill, vserver, fadvise64_64)
1210 (statfs64, fstatfs64, remap_file_pages, mbind, get_mempolicy)
1211 (set_mempolicy, mq_open, mq_unlink, mq_timedsend, mq_timedreceive)
1212 (mq_notify, mq_getsetattr, sys_kexec_load, add_key, request_key)
1213 (keyctl, waitid): Added.
1214 * linux/s390x/syscallent.h: Likewise and added missing _llseek.
1215 * linux/s390/errnoent.h (ECANCELED, ENOKEY, EKEYEXPIRED)
1216 (EKEYREVOKED, EKEYREJECTED, EOWNERDEAD, ENOTRECOVERABLE): Added.
1217 * linux/s390x/errnoent.h: Likewise.
1218
Roland McGrath415a7d62005-07-05 09:50:40 +000012192005-07-05 Roland McGrath <roland@redhat.com>
1220
1221 * mem.c [LINUX] (sys_old_mmap) [X86_64]: Extract 32-bit values if
1222 child is 32-bit.
1223 Fixes RH#162467.
1224
Roland McGrathfd583f62005-07-05 03:22:50 +000012252005-06-08 Dmitry V. Levin <ldv@altlinux.org>
1226
Roland McGrathe10dc512005-07-05 03:26:03 +00001227 Introduce "-e trace=desc".
1228 * defs.h (TRACE_DESC): New flag.
1229 * syscall.c: Define TD macro before include of syscallent files
1230 and undefine it afterwards.
1231 (lookup_class): Recognize "desc" keyword.
1232 * strace.1: Document "-e trace=desc".
1233 * freebsd/i386/syscallent.h: Mark those syscalls which take a
1234 file descriptor as an argument or return a file descriptor with
1235 TD flag.
1236 * linux/alpha/syscallent.h: Likewise.
1237 * linux/hppa/syscallent.h: Likewise.
1238 * linux/ia64/syscallent.h: Likewise.
1239 * linux/mips/syscallent.h: Likewise.
1240 * linux/powerpc/syscallent.h: Likewise.
1241 * linux/s390/syscallent.h: Likewise.
1242 * linux/s390x/syscallent.h: Likewise.
1243 * linux/sh/syscallent.h: Likewise.
1244 * linux/sh64/syscallent.h: Likewise.
1245 * linux/sparc/syscallent.h: Likewise.
1246 * linux/sparc64/syscallent2.h: Likewise.
1247 * linux/sparc64/syscallent.h: Likewise.
1248 * linux/syscallent.h: Likewise.
1249 * linux/x86_64/syscallent.h: Likewise.
1250 * sunos4/syscallent.h: Likewise.
1251 * svr4/syscallent.h: Likewise.
1252 Fixes RH#159400.
1253
Roland McGrathfd583f62005-07-05 03:22:50 +00001254 Remove TF flag from those syscalls which have no filename argument.
1255 * freebsd/i386/syscallent.h: Remove TF flag from fstat, pread,
1256 pwrite, fstat, sendfile.
1257 * linux/alpha/syscallent.h: Remove TF flag from read, write,
1258 pread, pwrite, sendfile.
1259 * linux/hppa/syscallent.h: Remove TF flag from read, write,
1260 pread, pwrite, fstat64, sendfile, ftruncate64.
1261 * linux/ia64/syscallent.h: Remove TF flag from read, write,
1262 sendfile, fstat, fadvise64.
1263 * linux/mips/syscallent.h: Remove TF flag from read, write,
1264 fstatfs, fstat, pread, pwrite, sendfile, ftruncate64, fstat64,
1265 sendfile64, fadvise64, fstatfs64.
1266 * linux/powerpc/syscallent.h: Remove TF flag from read, write,
1267 fstat, pread, pwrite, sendfile, ftruncate64, fstat64, sendfile64,
1268 fadvise64, fstatfs64, fadvise64_64.
1269 * linux/s390/syscallent.h: Remove TF flag from pread, pwrite,
1270 sendfile, ftruncate64, fstat64, sendfile64.
1271 * linux/s390x/syscallent.h: Remove TF flag from pread, pwrite,
1272 sendfile, sendfile64.
1273 * linux/sh/syscallent.h: Remove TF flag from pread, pwrite,
1274 sendfile, fstat64.
1275 * linux/sh64/syscallent.h: Remove TF flag from pread, pwrite,
1276 sendfile, ftruncate64, fstat64.
1277 * linux/sparc/syscallent.h: Remove TF flag from sendfile, fstat64,
1278 pread, pwrite, sendfile64.
1279 * linux/sparc64/syscallent2.h: Likewise.
1280 * linux/sparc64/syscallent.h: Likewise.
1281 * linux/syscallent.h: Remove TF flag from pread, pwrite, sendfile,
1282 ftruncate64, fstat64, sendfile64, fadvise64, fadvise64, fstatfs64,
1283 fadvise64_64.
1284 * linux/x86_64/syscallent.h: Remove TF flag from pread, pwrite,
1285 sendfile, fadvise64_64.
1286 * svr4/syscallent.h: Remove TF flag from pread, pwrite, ftruncate,
1287 fstatvfs64, ftruncate64.
1288 Fixes RH#159340.
1289
Roland McGrath012ffdf2005-07-04 23:30:30 +000012902005-07-04 Roland McGrath <roland@redhat.com>
1291
Roland McGrathbfacc262005-07-04 23:33:42 +00001292 * net.c (sockipv6options): Add IPV6_ADD_MEMBERSHIP,
1293 IPV6_DROP_MEMBERSHIP, IPV6_ROUTER_ALERT.
1294 From Ulrich Drepper <drepper@redhat.com>.
1295 Fixes RH#162450.
1296
Roland McGrath012ffdf2005-07-04 23:30:30 +00001297 * net.c (sockipoptions): Fix typos.
1298 From Ulrich Drepper <drepper@redhat.com>.
1299 Fixes RH#161578.
1300
1301 * util.c (printnum_int): New function, printnum with s/long/int/.
1302 * defs.h: Declare it.
1303 * net.c (printsockopt): Use it for int-sized option.
1304 Fixes RH#162449.
1305 Reported by Ulrich Drepper <drepper@redhat.com>.
1306
Roland McGrath43cb21f2005-06-10 03:56:19 +000013072005-06-09 Roland McGrath <roland@redhat.com>
1308
1309 * configure.ac, NEWS: Version 4.5.12.
1310 * debian/changelog, strace.spec: 4.5.12-1.
1311
Roland McGrath59a611b2005-06-08 20:45:52 +000013122005-06-08 Dmitry V. Levin <ldv@altlinux.org>
1313
1314 Minor namespace cleanup.
1315 * defs.h (string_quote): Remove declaration.
1316 * file.c (openmodessol) [LINUXSPARC]: Make static.
1317 (fileflags): Likewise.
1318 (aclcmds, aclipc) [HAVE_SYS_ACL_H]: Likewise.
1319 (direnttypes) [FREEBSD || LINUX]: Likewise.
1320 (xattrflags): Likewise.
1321 * process.c (unalignctl_string): Make static.
1322 (setarg): Disable.
1323 * syscall.c (subcalls_table): Make static.
1324 (socket_map) [!(LINUX && (ALPHA || MIPS))]: Likewise.
1325 (sparc_socket_decode): Make static, define for [SPARC || SPARC64] only.
1326 (decode_subcall): Make static.
1327 (syscall_fixup): Likewise.
1328 (get_error): Likewise.
1329 (syscall_enter): Likewise.
1330 * util.c (tv_tv): Disable.
1331 (getpc): Likewise.
1332 (string_quote): Make static.
1333 Fixes RH#159688.
1334
Roland McGrathd40a3932005-06-08 18:06:27 +000013352005-05-12 Philippe De Muyter <phdm@macqel.be>
1336
1337 * util.c (getpc, printcall): Check #if defined(M68K), not M68k.
1338 Enables `-i' on m68k machines.
1339
Roland McGrath5d731702005-06-07 23:22:26 +000013402005-06-06 Roland McGrath <roland@redhat.com>
1341
1342 * process.c (struct_user_offsets) [X86_64]: Reorder elements so
1343 matching works right.
1344 Fixes RH#159787.
1345
1346 * linux/syscall.h (SYS_socket, SYS_bind, SYS_connect, SYS_listen)
1347 (SYS_accept, SYS_getsockname, SYS_getpeername, SYS_socketpair)
1348 (SYS_send, SYS_recv, SYS_sendto, SYS_recvfrom, SYS_shutdown)
1349 (SYS_setsockopt, SYS_getsockopt, SYS_sendmsg, SYS_recvmsg)
1350 (SYS_getsockname, SYS_semop, SYS_semgsub_et, SYS_semget, SYS_semctl)
1351 (SYS_semtimedop, SYS_msgsnd, SYS_msgrcv, SYS_msgget)
1352 (SYS_msgctl, SYS_shmat, SYS_shmdt, SYS_shmget)
1353 (SYS_shmctl): Macros renamed to SYS_sub_*.
1354 * syscall.c (dumpio): Match SYS_sub_* if defined instead of SYS_*.
1355
1356 * linux/syscall.h (SYS_waitid): Define if not defined.
1357
1358 * linux/syscallent.h: Fix pread/pwrite names to pread64/pwrite64.
1359
1360 * defs.h (struct sysent): New member `native_scno'.
1361 (known_scno): Declare new function.
1362 * linux/syscallent.h: Add new final field to interesting syscalls.
1363 * syscall.c (known_scno): New function.
1364 (dumpio, internal_syscall, syscall_fixup, trace_syscall): Use it.
1365 * process.c (internal_fork, internal_exit): Likewise.
1366 [IA64] (ARG_STACKSIZE, ARG_PTID, ARG_CTID, ARG_TLS): Likewise.
1367 * strace.c (proc_open): Likewise.
1368 * util.c [LINUX] (setbpt): Likewise.
1369 * linux/syscall.h: Remove [!defined(X86_64)] from conditional
1370 for defining SYS_socket_subcall et al.
1371 * linux/syscallent.h: Likewise for #error check.
1372 * syscall.c (trace_syscall): Likewise for SYS_{socketcall,ipc} cases.
1373 Fixes RH#158934.
1374
Roland McGrath6286f662005-06-03 02:40:43 +000013752005-06-02 Roland McGrath <roland@redhat.com>
1376
1377 * file.c (printstatfs64): Cast values to unsigned long long and use
1378 %llu formats.
1379 Fixes RH#158243.
1380
Roland McGrathe8c6eec2005-06-01 18:56:03 +000013812005-05-31 Dmitry V. Levin <ldv@altlinux.org>
1382
Roland McGrath712a6bf2005-06-01 19:22:30 +00001383 Deal with memory management issues.
1384 * defs.h (tprint_iov): Update prototype.
1385 * desc.c (sys_epoll_wait) [HAVE_SYS_EPOLL_H]: Do not allocate
1386 epoll_event array of arbitrary size on the stack, to avoid
1387 stack overflow.
1388 * file.c (print_xattr_val): Check for integer overflow during
1389 malloc size calculation, to avoid heap corruption.
1390 * io.c (tprint_iov) [HAVE_SYS_UIO_H]: Check for integer overflow
1391 during malloc size calculation, to avoid heap corruption.
1392 Change iovec array handling to avoid heap memory allocation.
1393 * mem.c (get_nodes) [LINUX]: Check for integer overflow during
1394 size calculation and do not allocate array of arbitrary size on
1395 the stack, to avoid stack overflow.
1396 * net.c (printcmsghdr) [HAVE_SENDMSG]: Do not allocate array of
1397 arbitrary size on the stack, to avoid stack overflow. Do not
1398 trust cmsg.cmsg_len to avoid read beyond the end of allocated
1399 object.
1400 (printmsghdr) [HAVE_SENDMSG]: Update tprint_iov() usage.
1401 * process.c (sys_setgroups): Check for integer overflow during
1402 malloc size calculation, to avoid heap corruption. Change gid_t
1403 array handling to avoid heap memory allocation.
1404 (sys_getgroups): Likewise.
1405 (sys_setgroups32) [LINUX]: Likewise.
1406 (sys_getgroups32) [LINUX]: Likewise.
1407 * stream.c (sys_poll) [HAVE_SYS_POLL_H]: Check for integer
1408 overflow during malloc size calculation, to avoid heap corruption.
1409 Change pollfd array handling to avoid heap memory allocation.
1410 * system.c (sys_sysctl) [LINUX]: Check for integer overflow
1411 during malloc size calculation, to avoid heap corruption.
1412 * util.c (dumpiov) [HAVE_SYS_UIO_H]: Check for integer overflow
1413 during malloc size calculation, to avoid heap corruption.
1414 Fixes RH#159196.
1415
Roland McGrathb422e0d2005-06-01 19:03:30 +00001416 * util.c (printxval): Change third argument from "char *" to
1417 "const char *".
1418 (printflags): Add third argument, "const char *", with similar
1419 meaning to the third argument of printxval().
1420 * defs.h (printxval): Change third argument from "char *" to
1421 "const char *".
1422 (printflags): Add third argument.
1423 * bjm.c (sys_query_module) [LINUX]: Pass third argument to
1424 printflags().
1425 * desc.c (sys_fcntl): Likewise.
1426 (sys_flock) [LOCK_SH]: Likewise.
1427 (print_epoll_event) [HAVE_SYS_EPOLL_H]: Likewise.
1428 * file.c (sys_open): Likewise.
1429 (solaris_open) [LINUXSPARC]: Likewise.
1430 (sys_access): Likewise.
1431 (sys_chflags, sys_fchflags) [FREEBSD]: Likewise.
1432 (realprintstat) [HAVE_LONG_LONG_OFF_T &&
1433 HAVE_STRUCT_STAT_ST_FLAGS]: Likewise.
1434 (printstat64) [HAVE_STAT64 &&
1435 HAVE_STRUCT_STAT_ST_FLAGS]: Likewise.
1436 (sys_setxattr, sys_fsetxattr): Likewise.
1437 * ipc.c (sys_msgget, sys_msgsnd, sys_msgrcv, sys_semget,
1438 sys_shmget, sys_shmat) [LINUX || SUNOS4 || FREEBSD]: Likewise.
1439 (sys_mq_open) [LINUX]: Likewise.
1440 (printmqattr) [HAVE_MQUEUE_H]: Likewise.
1441 * mem.c (print_mmap) [!HAVE_LONG_LONG_OFF_T]: Likewise.
1442 (sys_mmap64) [_LFS64_LARGEFILE || HAVE_LONG_LONG_OFF_T]: Likewise.
1443 (sys_mprotect): Likewise.
1444 (sys_mremap, sys_madvise, sys_mlockall) [LINUX]: Likewise.
1445 (sys_msync) [MS_ASYNC]: Likewise.
1446 (sys_mctl) [MC_SYNC]: Likewise.
1447 (sys_remap_file_pages, sys_mbind, sys_get_mempolicy) [LINUX]:
1448 Likewise.
1449 * net.c (printmsghdr) [HAVE_STRUCT_MSGHDR_MSG_CONTROL]: Likewise.
1450 (sys_send, sys_sendto): Likewise.
1451 (sys_sendmsg) [HAVE_SENDMSG]: Likewise.
1452 (sys_recv, sys_recvfrom): Likewise.
1453 (sys_recvmsg) [HAVE_SENDMSG]: Likewise.
1454 (printicmpfilter) [ICMP_FILTER]: Likewise.
1455 * proc.c (proc_ioctl) [SVR4 && !HAVE_MP_PROCFS || FREEBSD]: Likewise.
1456 * process.c (sys_clone) [LINUX]: Likewise.
1457 (printwaitn): Likewise.
1458 (sys_waitid) [SVR4 || LINUX]: Likewise.
1459 * signal.c (sys_sigvec) [SUNOS4 || FREEBSD]: Likewise.
1460 (sys_sigaction): Likewise.
1461 (printcontext) [SVR4]: Likewise.
1462 (print_stack_t) [LINUX) || FREEBSD]: Likewise.
1463 (sys_rt_sigaction) [LINUX]: Likewise.
1464 * sock.c (sock_ioctl) [LINUX]: Likewise.
1465 * stream.c (sys_putmsg, sys_getmsg): Likewise.
1466 (sys_putpmsg) [SYS_putpmsg]: Likewise.
1467 (sys_getpmsg) [SYS_getpmsg]: Likewise.
1468 (sys_poll): Likewise.
1469 (print_transport_message) [TI_BIND]: Likewise.
1470 (stream_ioctl): Likewise.
1471 * system.c (sys_mount, sys_reboot): Likewise.
1472 (sys_cacheflush) [LINUX && M68K]: Likewise.
1473 (sys_capget, sys_capset) [SYS_capget]: Likewise.
1474 * term.c (term_ioctl) [TIOCMGET]: Likewise.
1475 * time.c (sys_clock_nanosleep, sys_timer_settime) [LINUX]:
1476 Likewise.
1477 Fixes RH#159310.
1478
Roland McGrathe8c6eec2005-06-01 18:56:03 +00001479 * bjm.c (sys_query_module) [LINUX]: Unitize "out of memory"
1480 errors reporting style.
1481 * strace.c (rebuild_pollv) [USE_PROCFS]: Likewise.
1482 * system.c (sys_capget, sys_capset) [SYS_capget]: Likewise.
1483 * util.c (printstr): Likewise.
1484 (dumpiov) [HAVE_SYS_UIO_H]: Likewise.
1485 (fixvfork) [SUNOS4]: Likewise.
1486 * desc.c (decode_select): Continue to decode syscall arguments
1487 in case of OOM condition.
1488 * file.c (sys_getdents): Likewise.
1489 (sys_getdents64) [_LFS64_LARGEFILE]: Likewise.
1490 (sys_getdirentries) [FREEBSD]: Likewise.
1491 * mem.c (sys_mincore): Changed type of variables which deal with
1492 malloc size from int to unsigned long.
Roland McGrathe35109a2005-06-08 18:03:12 +00001493 Fixes RH#159308.
Roland McGrathe8c6eec2005-06-01 18:56:03 +00001494
Roland McGratha6ef1a32005-06-01 18:57:27 +000014952005-05-22 Dmitry V. Levin <ldv@altlinux.org>
1496
1497 * bjm.c [LINUX]: Do not include <linux/linkage.h>. It is not
1498 safe to include kernel headers, and this one is not used anyway.
1499 Fixes RH#158488.
1500
Roland McGrathe776e3e2005-05-26 23:21:13 +000015012005-05-26 Roland McGrath <roland@redhat.com>
1502
1503 * system.c (sys_sysctl): Check for errors accessing user pointers.
1504 Use malloc instead of alloca in case size is insane.
1505
Roland McGrath682291e2005-05-09 08:03:06 +000015062005-05-09 Roland McGrath <roland@redhat.com>
1507
1508 * configure.ac: Check for libaio.h.
1509 * desc.c (sys_io_setup, sys_io_submit, sys_io_cancel,
1510 sys_io_getevents, sys_io_destroy): New functions.
1511 * linux/syscall.h: Declare them.
1512 * linux/syscallent.h: Use those for io_* syscalls.
1513 * linux/alpha/syscallent.h: Likewise.
1514 * linux/hppa/syscallent.h: Likewise.
1515 * linux/ia64/syscallent.h: Likewise.
1516 * linux/mips/syscallent.h: Likewise.
1517 * linux/powerpc/syscallent.h: Likewise.
1518 * linux/s390/syscallent.h: Likewise.
1519 * linux/s390x/syscallent.h: Likewise.
1520 * linux/x86_64/syscallent.h: Likewise.
1521 From Zach Brown <zach.brown@oracle.com>.
1522 Fixes RH#155065.
1523
1524 * debian/control (Architecture): Add ppc64.
1525 Fixes Debian bug #301089.
1526
Roland McGrath05a017b2005-05-09 07:46:07 +000015272005-05-05 Anton Blanchard <anton@samba.org>
1528
1529 * process.c (ptrace_cmds): Add PTRACE_GETVRREGS and PTRACE_SETVRREGS
1530 if defined.
1531
15322005-05-09 Roland McGrath <roland@redhat.com>
1533
1534 * strace.c (main): Refuse negative -s argument value.
1535 Fixes Debian bug #303256.
1536
Roland McGrathf3b565b2005-05-09 07:40:41 +000015372005-04-25 Anton Blanchard <anton@samba.org>
1538
1539 * file.c (openmodes): Add O_NOATIME flag if defined.
1540
15412005-04-05 Anton Blanchard <anton@samba.org>
1542
1543 * linux/powerpc/ioctlent.h: Regenerated.
1544
1545 * signal.c (signame): Don't try and dereference negative index.
1546
1547 * linux/powerpc/syscallent.h: Add debug_setcontext, vserver,
1548 mbind, *_mempolicy, mq_*, sys_kexec_load, add_key, request_key,
1549 keyctl, waitid, sys_semtimedop. Fix various other syscalls.
1550
1551 * ipc.c (shm_resource_flags): New variable, table has SHM_HUGETLB
1552 but not IPC_NOWAIT, which have the same value.
1553 (sys_shmget): Use that instead of resource_flags.
1554
Roland McGratha3734a92005-03-22 23:13:24 +000015552005-03-22 Roland McGrath <roland@redhat.com>
1556
Roland McGrathe1f1e572005-03-23 03:19:02 +00001557 * desc.c (decode_select): Increase local buffer size.
1558 Fixes RH#151570.
1559
Roland McGratha3734a92005-03-22 23:13:24 +00001560 * configure.ac, NEWS: Version 4.5.11.
1561 * debian/changelog, strace.spec: 4.5.11-1.
1562
1563 * linux/arm/syscallent.h: Fix 113 entry (syscall, not vm86old).
1564
Roland McGrath3181c512005-03-15 02:40:23 +000015652005-03-14 Roland McGrath <roland@redhat.com>
1566
1567 * configure.ac, NEWS: Version 4.5.10.
1568 * debian/changelog, strace.spec: 4.5.10-1.
1569
Roland McGrath0495c932005-03-15 02:17:23 +000015702005-02-26 GOTO Masanori <gotom@debian.or.jp>
1571
1572 * linux/alpha/syscallent.h: Fix the reversed order of lstat64 and
1573 fstat64. Clean up osf_nrecvmsg and osf_ngetsockname.
1574
Roland McGrath391a4e72005-03-15 02:16:21 +000015752005-02-28 Andreas Schwab <schwab@suse.de>
1576
1577 * syscall.c (getrval2): Move #ifdef IA64 inside #ifdef LINUX.
1578
15792005-03-14 Roland McGrath <roland@redhat.com>
1580
1581 * linux/mips/syscallent.h: Update various calls.
1582 From Thiemo Seufer <ths@networkno.de>.
1583 Fixes Debian bug #256684.
1584
1585 * debian/control (Architecture): Add s390.
1586 Fixes Debian bug #294172.
1587
Roland McGrathbfb49e52005-03-06 22:24:52 +000015882005-03-06 Roland McGrath <roland@redhat.com>
1589
1590 * strace.c (trace) [PTRACE_GETSIGINFO]: Fetch siginfo_t for SIGSEGV
1591 and SIGBUS signals, use si_addr in output.
1592
Roland McGrath4859f6c2005-03-01 23:03:11 +000015932005-03-01 Roland McGrath <roland@redhat.com>
1594
1595 * file.c (print_xattr_val): Add a cast.
1596
Roland McGrath854694b2005-02-06 01:16:47 +000015972005-02-05 Roland McGrath <roland@redhat.com>
1598
Roland McGrathb0a3d4e2005-02-06 01:55:16 +00001599 * desc.c (decode_select): Calculate size of passed fd_set vectors and
1600 copy in the user's size rather than the standard sizeof(fd_set).
Roland McGrath391a4e72005-03-15 02:16:21 +00001601 Fixes Debian bug #65654, #284290.
Roland McGrathb0a3d4e2005-02-06 01:55:16 +00001602
1603 * util.c (printpath, printpathn): Print NULL and don't try any fetch
1604 when ADDR is zero.
1605 Fixes Debian bug #63093.
1606
Roland McGrath854694b2005-02-06 01:16:47 +00001607 * debian/control (Build-Depends): Fix for s390 and sparc.
1608 From Bastian Blank <waldi@debian.org>.
1609 Fixes Debian bug #293564.
1610
16112004-12-19 Dmitry V. Levin <ldv@altlinux.org>
1612
1613 * strace.c (main) [!USE_PROCFS]: In child process, raise SIGSTOP
1614 right before execv() call. Remove fake_execve() call.
1615 * defs.h (fake_execve): Remove unused declaration.
1616 * process.c (fake_execve): Remove unused function.
1617 Fixes RH#143365.
1618
Roland McGrath55f23e72005-02-04 09:29:11 +000016192005-02-04 Roland McGrath <roland@redhat.com>
1620
1621 * configure.ac, NEWS: Version 4.5.9.
Roland McGrath0c6c17b2005-02-04 09:54:16 +00001622 * debian/changelog, strace.spec: 4.5.9-2.
Roland McGrath55f23e72005-02-04 09:29:11 +00001623
Roland McGrath1e834482005-02-04 09:50:24 +00001624 * file.c (O_LARGEFILE): Omit when #undef'd because it was zero.
1625
Roland McGrath94098ef2005-02-02 20:25:36 +000016262005-02-02 Roland McGrath <roland@redhat.com>
1627
Roland McGrath026bdab2005-02-03 03:19:43 +00001628 * debian/control: Add strace-udeb package for installer debugging.
1629 * debian/rules (binary-arch): Build it.
1630 From Joshua Kwan <joshk@triplehelix.org>.
1631 Fixes Debian bug #268294.
1632
Roland McGrathd08b2f02005-02-02 22:11:37 +00001633 * file.c (openmodes) [O_LARGEFILE] [O_LARGEFILE == 0]: Redefine to
1634 known values for Linux.
1635
Roland McGrath84219e12005-02-02 20:55:27 +00001636 * util.c (printcall): Print 16 ?s when long is 8 bytes.
1637 Fixes RH#146932.
1638
Roland McGrath3cad4a62005-02-02 20:32:37 +00001639 * linux/sparc/syscall.h: Declare sys_epoll_create, sys_epoll_ctl,
1640 sys_epoll_wait.
1641 * linux/sparc64/syscall.h: Just #include "../sparc/syscall.h" here.
1642 * ioctl.c (nioctlents2): Add const to type.
1643 Fixes Debian bug #278449.
1644
Roland McGrath94098ef2005-02-02 20:25:36 +00001645 * sock.c (iffflags): New variable, table of IFF_* values.
1646 (print_addr): New function.
1647 (sock_ioctl): Handle SIOCGIFADDR, SIOCGIFDSTADDR, SIOCGIFBRDADDR,
1648 SIOCGIFNETMASK, SIOCGIFFLAGS, SIOCGIFMETRIC, SIOCGIFMTU, SIOCGIFSLAVE,
1649 SIOCGIFHWADDR. Use print_addr for SIOCGIFCONF, SIOCGIFNAME, and
1650 SIOCGIFINDEX, and fix their output.
1651 From Ulrich Drepper <drepper@redhat.com>.
1652 Fixes RH#138223.
Roland McGrath1967a132005-02-02 20:45:37 +00001653 Fixes Debian bug #192164.
Roland McGrath94098ef2005-02-02 20:25:36 +00001654
Roland McGrathac6b7bb2005-02-02 04:42:56 +000016552004-12-20 Dmitry V. Levin <ldv@altlinux.org>
1656
Roland McGrath9d721f22005-02-02 04:45:09 +00001657 * configure.ac: Use AC_GNU_SOURCE macro instead of changing CFLAGS.
1658 * defs.h [HAVE_CONFIG_H]: Include config.h first.
1659 * strace.c: Include "defs.h" first.
1660 Fixes RH#143370.
1661
Roland McGrathac6b7bb2005-02-02 04:42:56 +00001662 * syscall.c (call_summary): Fix potential NULL dereference.
1663 Fixes RH#143369.
1664
Roland McGrathdd9efd82005-02-02 04:40:36 +000016652004-12-19 Dmitry V. Levin <ldv@altlinux.org>
1666
1667 * syscall.c (qual_signal): Check bounds for numeric signal names.
1668 Fix parser of symbolic signal names.
1669 Fix return code, as required by qualify() function.
1670 * syscall.c (qual_desc): Check bounds for descriptor number.
1671 * syscall.c (qual_syscall): Correct return code, to be consistent
1672 with qualify() and other qual_* functions.
1673 Fixes RH#143362.
1674
Roland McGrath1b3ca102005-02-02 02:49:03 +000016752005-02-01 Roland McGrath <roland@redhat.com>
1676
Roland McGrath0dfeed62005-02-02 04:36:38 +00001677 * system.c [LINUX] (MS_MANDLOCK, MS_NOATIME, MS_NODIRATIME, MS_BIND,
1678 MS_MOVE, MS_REC, MS_VERBOSE, MS_POSIXACL, MS_ACTIVE, MS_NOUSER):
1679 New macros.
1680 [LINUX] (mount_flags): Add them.
1681 [LINUX] (sys_mount): If any of (MS_BIND|MS_MOVE|MS_REMOUNT) bits are
1682 set in the flags argument, don't try to fetch the filesystem string.
1683 Fixes RH#141932.
1684
Roland McGrathdc26fff2005-02-02 04:19:19 +00001685 * config.guess: Update from canonical version, timestamp 2004-11-12.
1686 * config.sub: Likewise, timestamp 2004-11-30.
1687
Roland McGrathb2ba50b2005-02-02 04:16:58 +00001688 * process.c [LINUX] [X86_64] (sys_arch_prctl): New function.
1689 * linux/syscall.h: Declare it.
1690 * linux/x86_64/syscallent.h: Use it.
1691 Part of RH#142667.
1692
1693 * process.c (sys_sched_setscheduler): Use %#lx format for bad pointer.
1694 (sys_sched_getparam, sys_sched_setparam): Likewise.
1695 Part of RH#142667.
1696
1697 * signal.c [HAVE_SIGACTION] [LINUX && X86_64] (SA_RESTORER): Define
1698 here too.
1699 Part of RH#142667.
1700
1701 * linux/syscallent.h: Use sys_mincore instead of printargs.
1702 * linux/x86_64/syscallent.h: Likewise. Also use sys_getrlimit,
1703 sys_semtimedop, sys_umount2.
1704 Part of RH#142667.
1705
Roland McGrath28eace82005-02-02 03:51:22 +00001706 * syscall.c (qual_signal): Fix inverted return value and bogus
1707 argument to qualify_one in the named case.
1708
Roland McGrath5f221c32005-02-02 03:38:49 +00001709 * file.c (print_xattr_val): Don't use auto array sized by syscall
1710 argument. Use malloc instead, so it can fail for insane values.
1711 Fixes Debian bug #283704.
1712
Roland McGrath53962332005-02-02 03:11:43 +00001713 * net.c (sys_getsockopt): Fix a format %ld -> %d.
1714
1715 * linux/syscall.h [IA64] (SYS_semtimedop): #undef it.
1716
Roland McGrathbc484bd2005-02-02 03:07:24 +00001717 * syscall.c (syscall_enter) [X86_64]: Fix 32-bit argument register map
1718 not to double the middle entry!
1719 Fixes RH#146093.
1720
Roland McGrath6722dcf2005-02-02 02:54:35 +00001721 * linux/x86_64/syscallent.h: Fix exit_group entry.
1722
Roland McGrath1b3ca102005-02-02 02:49:03 +00001723 * util.c (getpc) [S390 || S390X]: Implement it.
1724 Patch by David Wilder <wilder@us.ibm.com>.
1725
1726 * linux/ia64/syscallent.h: Add fadvise64, fstatfs64, statfs64, mbind,
1727 [gs]et_mempolicy, mq_*, sys_kexec_load, vserver, and waitid.
1728 Fixes RH#146245.
1729
17302005-01-22 Andreas Schwab <schwab@suse.de>
1731
1732 * net.c (sys_getsockopt): Change type of len to int.
1733
Roland McGrath914f3aa2004-10-19 23:00:14 +000017342004-10-19 Roland McGrath <roland@redhat.com>
1735
Roland McGrathb0756892004-10-20 02:17:58 +00001736 * configure.ac, NEWS: Version 4.5.8.
1737 * debian/changelog, strace.spec: 4.5.8-1.
1738
Roland McGrathbe4eeb92004-10-20 02:24:28 +00001739 * file.c (sys_fadvise64): Conditionalize just on [LINUX].
1740
Roland McGrathb0756892004-10-20 02:17:58 +00001741 * configure.ac: Check for sys/epoll.h.
1742 * desc.c: Protect #include <sys/epoll.h> with [HAVE_SYS_EPOLL_H].
1743 (epollctls, epollevents): Protect each entry with #ifdef on its macro.
1744
Roland McGrathe26a3782004-10-20 02:04:19 +00001745 * strace.c (handle_group_exit): Don't detach leader that wasn't
1746 TCB_ATTACHED. Instead mark it with TCB_GROUP_EXITING.
1747 Remove droptcb loop at end, no longer required since 2.6 reports each
1748 thread death.
1749 Fixes RH#135254.
1750
Roland McGrath712bc7a2004-10-20 01:00:45 +00001751 * strace.c (trace): Use handle_group_exit for non-TCB_ATTACHED child
1752 taking signal when it has nclone_threads > 0.
1753
Roland McGrath712bc7a2004-10-20 01:00:45 +00001754 * strace.c (handle_group_exit, trace): Mark leader with
1755 TCB_GROUP_EXITING and don't be surprised at child deaths when their
1756 leader has it set.
1757 Fixes RH#132150.
1758
Roland McGrath223a3ff2004-10-19 23:33:53 +00001759 * process.c (WCOREFLAG): Define if not defined.
1760 (W_STOPCODE, W_EXITCODE): Likewise.
1761 Reported by Marty Leisner <mleisner@eng.mc.xerox.com>.
1762
1763 * sock.c [! LINUX]: Include <sys/socket.h> before <sys/sockio.h>.
1764 Reported by Marty Leisner <mleisner@eng.mc.xerox.com>.
1765
1766 * debian/rules: Make strace64.1.gz symlink to strace.1.gz instead of
1767 strace64.1 to strace.1, which doesn't exist.
1768 Fixes Debian bug #269220.
1769
17702004-09-05 Phil Blundell <pb@nexus.co.uk>
1771
1772 * linux/arm/syscallent.h: New file.
1773
17742004-10-19 Roland McGrath <roland@redhat.com>
1775
1776 * debian/rules (DEB_BUILD_GNU_TYPE, CONFIG_OPTS): New variables.
1777 [$(DEB_HOST_GNU_TYPE) == s390-linux] (build64, HOST64, CC64): Set them.
1778 (build/Makefile): Use $(CONFIG_OPTS).
1779 (build64/Makefile): Pass --host as well as --build.
1780 From Bastian Blank <waldi@debian.org>.
1781 Fixes Debian bug #271500.
1782
1783 * linux/hppa/syscallent.h: Update for 2.6.9 syscalls.
1784 From Randolph Chung <tausq@debian.org>
1785 Fixes Debian bug #273887.
1786
Roland McGrath914f3aa2004-10-19 23:00:14 +00001787 * file.c (sys_llseek): Revert last change.
1788
Roland McGrath223a3ff2004-10-19 23:33:53 +000017892004-09-14 Richard Henderson <rth@twiddle.net>
1790
1791 * linux/alpha/syscallent.h: Add tgkill, *stat64, vserver, mbind,
1792 [gs]et_mempolicy, mq_*, waitid.
1793
Roland McGrath51f9ac02004-10-07 18:51:22 +000017942004-10-07 Roland McGrath <roland@redhat.com>
1795
Roland McGrath0aa53f62004-10-07 19:09:23 +00001796 * file.c (sys_llssek, sys_readahead, sys_fadvise64, sys_fadvise64_64):
1797 Use LONG_LONG macro.
1798 * io.c (sys_pread, sys_pwrite, sys_sendfile): Likewise.
1799
Roland McGrath61b324b2004-10-07 18:59:13 +00001800 * linux/x86_64/syscallent.h: Fix botched table entries.
1801 From Ulrich Drepper <drepper@redhat.com>.
1802
Roland McGrathaa08d712004-10-07 18:53:17 +00001803 * mem.c [LINUX] (sys_mbind, sys_set_mempolicy, sys_get_mempolicy):
1804 New functions.
1805 * linux/syscall.h: Declare them.
1806 * linux/x86_64/syscallent.h: Likewise.
Roland McGrath61b324b2004-10-07 18:59:13 +00001807 From Ulrich Drepper <drepper@redhat.com>.
1808
Roland McGrathaa08d712004-10-07 18:53:17 +00001809 * linux/syscallent.h: Handle mbind, set_mempolicy, get_mempolicy.
1810 From Ulrich Drepper <drepper@redhat.com>.
1811
Roland McGrath51f9ac02004-10-07 18:51:22 +00001812 * file.c [LINUX && (I386 || X86_64)] (sys_fadvise64, sys_fadvise64_64):
1813 New functions.
1814 * linux/syscall.h: Declare them.
1815 * linux/syscallent.h: Handle fadvise64 and fadvise64_64 using those.
Roland McGrathaa08d712004-10-07 18:53:17 +00001816 * linux/x86_64/syscallent.h: Likewise.
Roland McGrath51f9ac02004-10-07 18:51:22 +00001817 From Ulrich Drepper <drepper@redhat.com>.
1818
Roland McGrath2af128b2004-10-06 22:32:04 +000018192004-09-13 Dmitry V. Levin <ldv@altlinux.org>
1820
1821 * linux/ioctlsort.c (main): Omit duplicate lines
1822 (with same name and code) from output.
1823 * linux/ioctlent.sh: Build the list of ioctls defined in
1824 scsi/sg.h (0x22..), scsi/scsi.h and scsi/scsi_ioctl.h (0x53..),
1825 as suggested by Peter Jones <pjones@redhat.com>
1826 * linux/ioctlent.h: Regenerated.
1827 Fixes RH#129808.
1828
Roland McGrath79367f82004-10-06 22:28:17 +000018292004-09-13 Ulrich Drepper <drepper@redhat.com>
1830 Dmitry V. Levin <ldv@altlinux.org>
1831
1832 * time.c [LINUX] (print_rtc): New function, for printing rtc_time
1833 structure.
1834 [LINUX] (rtc_ioctl): New function, for parsing RTC_* ioctls.
1835 * ioctl.c [LINUX] (ioctl_decode): Call rtc_ioctl.
1836 * defs.h [LINUX]: Declare rtc_ioctl.
1837 Fixes RH#58606.
1838
Roland McGrath288a3a02004-10-06 22:12:09 +000018392004-10-06 Roland McGrath <roland@redhat.com>
1840
Roland McGrathd2553bb2004-10-06 22:23:55 +00001841 * desc.c [LINUX] (sys_epoll_create, sys_epoll_ctl, sys_epoll_wait):
1842 New functions.
1843 * linux/syscall.h: Declare them.
1844 * linux/syscallent.h: Use those for epoll_* syscalls.
1845 * linux/alpha/syscallent.h: Likewise.
1846 * linux/hppa/syscallent.h: Likewise.
1847 * linux/ia64/syscallent.h: Likewise.
1848 * linux/powerpc/syscallent.h: Likewise.
1849 * linux/s390/syscallent.h: Likewise.
1850 * linux/s390x/syscallent.h: Likewise.
1851 * linux/sparc/syscallent.h: Likewise.
1852 * linux/sparc64/syscallent.h: Likewise.
1853 * linux/sparc64/syscallent2.h: Likewise.
1854 * linux/x86_64/syscallent.h: Likewise.
1855 From Ulrich Drepper <drepper@redhat.com>.
1856 Fixes RH#134463.
1857
Roland McGrath2803d102004-10-06 22:15:18 +00001858 * resource.c (resources): Add RLIMIT_LOCKS, RLIMIT_SIGPENDING,
1859 and RLIMIT_MSGQUEUE, if defined.
1860 From Ulrich Drepper <drepper@redhat.com>.
1861 Fixes RH#133594.
1862
Roland McGrath288a3a02004-10-06 22:12:09 +00001863 * net.c [HAVE_SENDMSG] (printcmsghdr): New function.
1864 (printmsghdr): Use it.
Roland McGrath2803d102004-10-06 22:15:18 +00001865 From Ulrich Drepper <drepper@redhat.com>.
1866 Fixes RH#131689.
Roland McGrath288a3a02004-10-06 22:12:09 +00001867
1868 * file.c (sprintmode): Add const to return type.
1869 (sprintfstype): Likewise.
1870 * signal.c (printsiginfo): Add a const.
1871
Roland McGrath4455b1d2004-10-06 22:03:22 +000018722004-09-15 Roland McGrath <roland@redhat.com>
1873
1874 * linux/x86_64/syscallent.h: Use sys_waitid.
1875
1876 * linux/syscallent.h: waitid takes 5 arguments, and is in TP category.
1877 * process.c (sys_waitid): Handle fifth argument (struct rusage *).
1878
Roland McGrath813b8af2004-09-11 08:13:27 +000018792004-09-11 Roland McGrath <roland@redhat.com>
1880
1881 * time.c (sys_clock_nanosleep): Print zero flags arg correctly.
1882 (sys_timer_settime): Likewise.
1883 (printsigevent): Print signals by name for SIGEV_SIGNAL.
1884 (sys_timer_create): Print clock ID symbolically.
1885 From Ulrich Drepper <drepper@redhat.com>.
1886 Fixes RH#131420.
1887
Michal Ludvig51d1ebc2004-09-07 14:06:03 +000018882004-09-07 Michal Ludvig <mludvig@suse.cz>
1889
1890 * defs.h (nioctlents1, nsignals2): Fix typos in decls.
1891
Roland McGrath4ee6e692004-09-04 03:39:26 +000018922004-09-03 Roland McGrath <roland@redhat.com>
1893
Roland McGrathce361382004-09-04 04:20:49 +00001894 * syscall.c (qual_options): Add const to defn.
1895 Update all uses.
1896 (call_count, error_count, tv_count): Variables removed.
1897 (struct call_counts, counts): New type and variable.
1898 Update all users of the old three to use the new array of structs.
1899 (trace_syscall): Allocate counts on first use.
1900 (sorted_count): Variable removed.
1901 (call_summary): Allocate locally.
1902
Roland McGrath77019f72004-09-04 03:53:18 +00001903 * syscall.c (sysent0, sysent1, sysent2, sysent): Add const to defn.
1904 (nsyscalls0, nsyscalls1, nsyscalls2): Likewise.
1905 (errnoent0, errnoent1, errnoent2, errnoent): Likewise.
1906 (nerrnos0, nerrnos1, nerrnos2): Likewise.
1907 * signal.c (signalent0, signalent1, signalent2): Likewise.
1908 (nsignals0, nsignals1, nsignals2): Likewise.
1909 (signame): LIkewise.
1910 * ioctl.c (ioctlent0, ioctlent1, ioctlent2): Likewise.
1911 (nioctlents0, nioctlents1, nioctlents2): Likewise.
1912 (ioctl_lookup, ioctl_next_match): Likewise.
1913 * defs.h: Update decls.
1914 * io.c (sys_ioctl): Update users.
1915
Roland McGrath4ee6e692004-09-04 03:39:26 +00001916 * util.c (xlookup, printxval, addflags, printflags): Use const for
1917 struct xlat * argument.
1918 * defs.h (xlookup, printxval, addflags, printflags): Update decls.
1919 * bjm.c: Add const to all struct xlat defns.
1920 * desc.c: Likewise.
1921 * file.c: Likewise.
1922 * ipc.c: Likewise.
1923 * mem.c: Likewise.
1924 * net.c: Likewise.
1925 * proc.c: Likewise.
1926 * process.c: Likewise.
1927 * resource.c: Likewise.
1928 * signal.c: Likewise.
1929 * sock.c: Likewise.
1930 * stream.c: Likewise.
1931 * system.c: Likewise.
1932 * term.c: Likewise.
1933 * time.c: Likewise.
1934 * util.c: Likewise.
1935
Roland McGrathb036f582004-09-01 19:39:59 +000019362004-09-01 Roland McGrath <roland@redhat.com>
1937
1938 * linux/x86_64/syscallent.h: Add new entries for timer_*, clock_*, and
1939 mq_* syscalls, and names only for new calls up to 252.
1940 * linux/syscallent.h: Add waitid.
1941 * linux/x86_64/syscallent.h: Likewise.
1942 * linux/syscall.h: Declare sys_waitid.
1943
1944 * process.c (internal_wait): Take second arg giving index of flags
1945 argument.
1946 * defs.h: Update prototype.
1947 * syscall.c (internal_syscall): Update caller.
1948 Also use internal_wait for SYS_waitid.
1949 * process.c (sys_waitid): Define for [LINUX] as well.
1950 Don't tweak TCB_SUSPENDED--internal_wait does that.
1951 (waitid_types): Conditionalize use of nonstandard P_* macros.
1952
Roland McGrath1651c1c2004-08-31 07:16:21 +000019532004-08-31 Roland McGrath <roland@redhat.com>
1954
Roland McGrath0ef93b72004-08-31 08:17:26 +00001955 * configure.ac, NEWS: Version 4.5.7.
Roland McGrathb036f582004-09-01 19:39:59 +00001956 * debian/changelog: 4.5.7-1.
1957 * strace.spec: 4.5.7-2.
Roland McGrath0ef93b72004-08-31 08:17:26 +00001958
Roland McGrathf5fcbc12004-08-31 08:41:59 +00001959 * debian/rules: Rewrite sparc64 change of 2004-07-12.
1960 Always do each build in a separate build directory.
Roland McGrath0ef93b72004-08-31 08:17:26 +00001961 Fixes Debian bug #254728.
1962
Roland McGrathf5fcbc12004-08-31 08:41:59 +00001963 * time.c (clocknames): Use #ifdef around CLOCK_* uses.
1964
Roland McGrathdc025fa2004-08-31 07:48:03 +00001965 * strace.1: Say that -c shows system CPU time, not real time.
1966 Fixes Debian bug #254438.
1967
1968 * syscall.c (dumpio): Match pread and pwrite system calls too.
1969 Fixes Debian bug #239947.
1970
Roland McGrath1651c1c2004-08-31 07:16:21 +00001971 * net.c (sockoptions): Add all SO_* macros known in Linux 2.6.9.
1972 Fixes Debian bug #171653.
1973
Roland McGrath8e593d22004-08-31 07:03:43 +000019742004-07-12 Dmitry V. Levin <ldv@altlinux.org>
1975
1976 * signal.c [LINUX] (parse_sigset_t): Fix hex strings parser.
1977 Fixes RH#128091.
1978
Roland McGratha0b9ef12004-08-31 06:30:51 +000019792004-08-30 Roland McGrath <roland@redhat.com>
1980
Roland McGrath0a053252004-08-31 07:02:00 +00001981 * strace.c (main): Don't call fake_execve under -c.
1982 From Ulrich Drepper <drepper@redhat.com>.
1983 Fixes RH#129166.
1984
1985 * net.c (sockipoptions): Add some options.
1986 [SOL_IPV6] (sockipv6options): New variable.
1987 (sys_getsockopt, printsockopt): Use it for SOL_IPV6 level.
1988 From Ulrich Drepper <drepper@redhat.com>.
1989 Fixes RH#128391.
1990
Roland McGrath7fbbf022004-08-31 06:52:49 +00001991 * time.c (clocknames): New variable, symbolic names for clock_t.
1992 (sys_clock_settime, sys_clock_gettime, sys_clock_nanosleep): Use it.
1993 From Ulrich Drepper <drepper@redhat.com>.
1994 Fixes RH#129378.
1995
Roland McGrath3a71f192004-08-31 06:49:09 +00001996 * system.c (personality_options): Hard-code values here.
1997 Don't #include <linux/personality.h> at all.
Roland McGrath1651c1c2004-08-31 07:16:21 +00001998 Fixes RH#130965 and Debian bug #40588.
Roland McGrath3a71f192004-08-31 06:49:09 +00001999
Roland McGratha0b9ef12004-08-31 06:30:51 +00002000 * file.c (print_xattr_val): New function to show attribute values.
2001 (sys_setxattr, sys_fsetxattr, sys_getxattr, sys_fgetxattr): Use it.
2002 From Ulrich Drepper <drepper@redhat.com>.
2003 Fixes RH#131177.
2004
Roland McGrath90a5a942004-07-12 07:04:55 +000020052004-07-12 Roland McGrath <roland@redhat.com>
2006
Roland McGrathd51619a2004-07-12 07:56:00 +00002007 * configure.ac, NEWS: Version 4.5.6.
2008 * strace.spec, debian/changelog: 4.5.6-1.
2009
Roland McGrath05cf2952004-07-12 07:54:09 +00002010 * Makefile.am (EXTRA_DIST): Add linux/sparc64 files.
2011
2012 * debian/rules: On sparc-linux, build strace64 as well.
2013 From Ben Collins <bcollins@debian.org>.
2014 Fixes Debian bug #254728.
2015
20162004-07-07 David S. Miller <davem@nuts.davemloft.net>
2017
2018 * linux/sparc/syscallent.h: Sync with reality.
2019 * linux/sparc/syscall.h (sys_sendfile64, sys_futex, sys_gettid,
2020 sys_sched_setaffinity, sys_sched_getaffinity, sys_setxattr,
2021 sys_lsetxattr, sys_fsetxattr, sys_getxattr, sys_lgetxattr,
2022 sys_fgetxattr, sys_listxattr, sys_llistxattr, sys_flistxattr,
2023 sys_removexattr, sys_lremovexattr, sys_fremovexattr,
2024 sys_remap_file_pages, sys_readahead, sys_tgkill, sys_statfs64,
2025 sys_fstatfs64, sys_clock_settime, sys_clock_gettime,
2026 sys_clock_getres, sys_clock_nanosleep, sys_timer_create,
2027 sys_timer_settime, sys_timer_gettime): New declarations.
2028 * linux/sparc64/dummy2.h, linux/sparc64/syscallent2.h,
2029 linux/sparc64/syscall.h, linux/sparc64/errnoent.h,
2030 linux/sparc64/errnoent1.h, linux/sparc64/errnoent2.h,
2031 linux/sparc64/ioctlent.h, linux/sparc64/ioctlent1.h,
2032 linux/sparc64/ioctlent2.h, linux/sparc64/signalent.h,
2033 linux/sparc64/signalent.h, linux/sparc64/signalent.h,
2034 linux/sparc64/signalent1.h, linux/sparc64/signalent2.h,
2035 linux/sparc64/syscall1.h, linux/sparc64/syscallent.h,
2036 linux/sparc64/syscallent1.h: New files.
2037 * defs.h (LINUXSPARC): Define also when SPARC64.
2038 (LINUX && SPARC64): Set SUPPORTED_PERSONALITIES to 3.
2039 Ignore SIGTRAP after execve by defining TCB_WAITEXECVE.
2040 Define possibly missing __NR_exit_group. Declare getrval2.
2041 * configure.ac (sparc64): New architecture case.
2042 * file.c (stat_sparc64): New structure.
2043 (printstat_sparc64): New output routine for that.
2044 (printstat): Call it, if personality is 2.
2045 (printstat64): Likewise.
2046 * util.c: Conditionalize ptrace defines on LINUXSPARC
2047 not LINUX && SPARC.
2048 (SPARC64 && LINUX): Define r_pc to r_tpc, and PTRACE_FOOREGS
2049 to PTRACE_FOOREGS64 so that more sparc code can be shared
2050 between 64-bit and 32-bit.
2051 (_hack_syscall5): Correct trap number when SPARC64.
2052 (PTRACE_WRITE{TEXT,DATA}): Add SPARC64 to ifdef guard.
2053 (getpc): Handle SPARC64 && LINUX.
2054 (printcall): Likewise.
2055 (arg fetching/setting): Use same code for SPARC64 LINUX
2056 as for SPARC.
2057 (setbpt): Handle SPARC64 && LINUX.
2058 (clearbpt): Likewise.
2059 * signal.c: Conditionalize ptrace defines on SPARC and
2060 SPARC64.
2061 (SPARC64 && LINUX): Define r_pc to r_tpc, and PTRACE_FOOREGS
2062 to PTRACE_FOOREGS64 so that more sparc code can be shared
2063 between 64-bit and 32-bit.
2064 (m_siginfo): Use same definition on SPARC64 as SPARC.
2065 (sys_sigreturn): Handle LINUX && SPARC64.
2066 * syscall.c: Conditionalize ptrace defines on SPARC and
2067 SPARC64.
2068 (SPARC64 && LINUX): Define r_pc to r_tpc, and PTRACE_FOOREGS
2069 to PTRACE_FOOREGS64 so that more sparc code can be shared
2070 between 64-bit and 32-bit.
2071 (getscno): Use same static state on SPARC64 as SPARC,
2072 and add SPARC64 handling.
2073 (get_error): Handle LINUX && SPARC64.
2074 (force_result): Likewise.
2075 (syscall_enter): Likewise.
2076 (trace_syscall): Handle sys_socketcall and sys_ipc on SPARC64
2077 just like SPARC.
2078 (getrval2): Handle LINUX && SPARC64.
2079 * process.c: Conditionalize ptrace defines on SPARC and
2080 SPARC64.
2081 (SPARC64 && LINUX): Define r_pc to r_tpc, and PTRACE_FOOREGS
2082 to PTRACE_FOOREGS64 so that more sparc code can be shared
2083 between 64-bit and 32-bit.
2084 (change_syscall): Handle LINUX && SPARC64.
2085 (struct_user_offsets): Ifdef out those which do not exist
2086 on SPARC64.
2087 * net.c (sys_pipe): Handle LINUX && SPARC64.
2088 * ioctl.c: Fix initializer typo for nioctlents2, was
2089 nioctlents1 by accident.
2090
20912004-06-28 Andreas Schwab <schwab@suse.de>
2092
2093 * process.c (internal_exec): Move TCB_WAITEXECVE handling here.
2094 (sys_execve): Remove it here.
2095
20962004-07-12 Roland McGrath <roland@redhat.com>
2097
2098 * Makefile.am (EXTRA_DIST): Add linux/sh64/syscallent.h.
2099
2100 * debian/control (Section): Move to utils, matching Debian override.
2101
Roland McGrath23e86d62004-07-12 07:13:12 +00002102 * net.c (addrfams): Make variable global.
2103 * sock.c (sock_ioctl): Decode the arguments for SIOCGIFNAME,
2104 SIOCGIFINDEX, and SIOCGIFCONF.
2105 From Ulrich Drepper <drepper@redhat.com>.
2106 Fixes RH#126917.
2107
Roland McGrath90a5a942004-07-12 07:04:55 +00002108 * linux/ioctlsort.c: Add some #includes.
2109 [POWERPC]: Kludge out high bits.
2110 * linux/ia64/ioctlent.h: Regenerated using RHEL3 headers.
2111 * linux/powerpc/ioctlent.h: Likewise.
2112
Roland McGrath16110b22004-07-12 05:45:26 +000021132004-07-11 Roland McGrath <roland@redhat.com>
2114
Roland McGrath90a5a942004-07-12 07:04:55 +00002115 * linux/ioctlent.sh: Replace asm with $asm in all places.
2116
Roland McGrath16110b22004-07-12 05:45:26 +00002117 * configure.ac: Add I386 as AM_CONDITIONAL.
2118 * Makefile.am [LINUX]: Add maintainer-mode rules to regenerate
2119 the ioctlent.h file.
2120
Roland McGrath533e52a2004-07-08 19:00:25 +000021212004-07-08 Roland McGrath <roland@redhat.com>
2122
2123 * resource.c (sys_quotactl): Truncate first argument to 32 bits, since
2124 that's what the kernel will do.
2125
21262004-07-07 Roland McGrath <roland@redhat.com>
2127
2128 * linux/ioctlent.sh: Take optional second argument to use as directory
2129 name in place of `asm'.
2130
Roland McGrath2c72f3c2004-06-28 05:24:40 +000021312004-06-27 Roland McGrath <roland@redhat.com>
2132
2133 * configure.ac, NEWS: Version 4.5.5.
2134 * strace.spec, debian/changelog: 4.5.5-1.
2135
Roland McGratha2dec922004-06-23 01:40:57 +000021362004-06-22 Roland McGrath <roland@redhat.com>
2137
2138 * syscall.c (syscall_fixup) [LINUX && X86_64]: For 32-bit process,
2139 sign extend the low 32 bits of RAX to 64 bits.
Roland McGrath7a391df2004-06-23 01:41:30 +00002140 Fixes RH#126547.
Roland McGratha2dec922004-06-23 01:40:57 +00002141
2142 * syscall.c (force_result): [LINUX && X86_64]: Fix RAX*4 -> RAX*8.
2143
Roland McGrath0c542de2004-06-04 02:25:12 +000021442004-06-03 Roland McGrath <roland@redhat.com>
2145
Roland McGrath66a77f12004-06-04 02:36:03 +00002146 * configure.ac, NEWS: Version 4.5.4.
2147 * strace.spec, debian/changelog: 4.5.4-1.
2148
Roland McGrath0c542de2004-06-04 02:25:12 +00002149 * net.c (domains): Add many PF_* values #ifdef PF_*.
2150 (addrfams): Add many AF_* values #ifdef AF_*.
2151 Fixes Debian bug #250506.
2152
Roland McGrath337d3912004-06-04 02:03:15 +000021532004-05-02 Dmitry V. Levin <ldv@altlinux.org>
2154
2155 * linux/ioctlsort.c (compare): When ioctl codes equal, compare
2156 names.
2157 (main): Print a note that program output is generated by
2158 ioctlsort.
2159 * linux/ioctlent.sh: Build the list of ioctls defined in
2160 linux/fb.h (0x46..), linux/kd.h (0x4B..), linux/cdrom.h (0x53..),
2161 asm/ioctls.h (0x54..), linux/vt.h (0x56..), linux/videotext.h
2162 (0x71..), linux/videotext.h (0x72..), asm/sockios.h (0x89..),
2163 linux/sockios.h (0x89..), linux/wireless.h (0x8B..).
2164 * linux/ioctlent.h: Regenerated from linux-2.6.5.
2165 Fixes RH#122257.
2166
Roland McGrath6d52da62004-06-04 01:50:53 +000021672004-06-03 Roland McGrath <roland@redhat.com>
2168
Roland McGrathe01b8ce2004-06-04 02:01:54 +00002169 * debian/control (Architecture): Add amd64.
2170 Fixes Debian bug #246568.
2171
Roland McGrath6d52da62004-06-04 01:50:53 +00002172 * strace.c (main) [LINUX]: Expand TCBTAB as necessary for threads
2173 attached. Attach threads only under -f. Set TCB_FOLLOWFORK in them.
2174 (expand_tcbtab): New function, broken out of ...
2175 * process.c (fork_tcb): ... here, call that.
2176 * defs.h: Declare expand_tcbtab.
2177
Roland McGrath25e82592004-06-04 01:24:12 +000021782004-04-19 Roland McGrath <roland@redhat.com>
2179
2180 * process.c (printstatus): Add a space before | in output.
2181
Roland McGrathea2402e2004-04-16 22:28:48 +000021822004-04-16 Roland McGrath <roland@redhat.com>
2183
2184 * configure.ac: Version 4.5.3.
2185 * strace.spec, debian/changelog: 4.5.3-1.
2186
Roland McGrath025442c2004-04-16 21:59:05 +000021872004-03-18 Dmitry V. Levin <ldv@altlinux.org>
2188
2189 * resource.c (sys_quotactl) [LINUX]: Cast arithmetic shift operand
2190 from long to unsigned long, to fix output of the quotactl command
2191 parser.
Roland McGrathea2402e2004-04-16 22:28:48 +00002192 Fixes RH#118694.
Roland McGrath025442c2004-04-16 21:59:05 +00002193
Roland McGrath8d1bf3c2004-04-16 21:48:43 +000021942004-04-16 Roland McGrath <roland@redhat.com>
2195
Roland McGrath025442c2004-04-16 21:59:05 +00002196 * linux/s390/ioctlent.h, linux/s390x/ioctlent.h: Update DASD ioctls.
2197 From Maxim Shchetynin <maxim@de.ibm.com>.
2198
Roland McGrath8d1bf3c2004-04-16 21:48:43 +00002199 * configure.ac: Check for <mqueue.h>.
2200 * ipc.c (sys_mq_open, printmqattr) [! HAVE_MQUEUE_H]: Don't try to
2201 decode struct mq_attr.
Roland McGrath6508d332004-04-16 21:54:59 +00002202 * NEWS: Mention mq support.
Roland McGrath8d1bf3c2004-04-16 21:48:43 +00002203
2204 * linux/syscall.h: Support new mq_* syscalls on Linux.
2205 * linux/syscallent.h: Likewise.
2206 * linux/dummy.h: Likewise.
2207 * ipc.c: Likewise.
2208 * time.c (printsigevent): Handle SIGEV_THREAD.
2209 From Ulrich Drepper <drepper@redhat.com>.
2210 Fixes RH#120701.
2211
Roland McGrath6421d632004-04-14 02:46:35 +000022122004-04-13 Roland McGrath <roland@redhat.com>
2213
Roland McGrath085bae12004-04-14 02:54:02 +00002214 * net.c (msg_flags): Grok MSG_FIX, MSG_SYN, MSG_RST, MSG_NOSIGNAL,
2215 MSG_MORE.
2216 From Ulrich Drepper <drepper@redhat.com>.
2217 Fixes RH#120541.
2218
Roland McGrath6421d632004-04-14 02:46:35 +00002219 * process.c (printstatus): Mask out bits presented symbolically, and
2220 print "| 0xnnn" if the remaining bits are not all zero.
2221 Fixes Debian bug #240062.
2222
2223 * process.c (print_affinitylist): Rewritten to handle indirect values.
2224 (sys_sched_setaffinity, sys_sched_getaffinity): Update callers.
2225 From Ulrich Drepper <drepper@redhat.com>.
2226 Fixes RH#118685.
2227
2228 * acinclude.m4: Quote first argument to AC_DEFUN in all cases.
2229
Roland McGrath74dcbd82004-04-09 00:25:47 +000022302004-04-08 Roland McGrath <roland@redhat.com>
2231
2232 * strace.c (main) [LINUX]: When attaching for -p, look in
2233 /proc/PID/task for all threads and attach them as presumed
2234 CLONE_THREAD children.
2235 * NEWS: Mention the feature.
Roland McGrath085bae12004-04-14 02:54:02 +00002236 Fixes RH#120462.
Roland McGrath74dcbd82004-04-09 00:25:47 +00002237
Roland McGrath2d1ecca2004-03-02 08:07:20 +000022382004-03-02 Roland McGrath <roland@redhat.com>
2239
Roland McGrath6835f232004-03-02 08:50:47 +00002240 * util.c (setbpt): Fix one missed spot to use new arg0_index macro.
2241 From Michael Holzheu <HOLZHEU@de.ibm.com>.
2242
Roland McGrath2d1ecca2004-03-02 08:07:20 +00002243 * debian/control (Standards-Version): Update to 3.6.1.
2244
Roland McGrath861dc142004-03-01 20:57:16 +000022452004-03-01 Roland McGrath <roland@redhat.com>
2246
Roland McGrath801bf1f2004-03-02 06:38:40 +00002247 * configure.ac, NEWS: Version 4.5.2.
Roland McGrathea2402e2004-04-16 22:28:48 +00002248 * strace.spec, debian/changelog: 4.5.2-1.
Roland McGrath801bf1f2004-03-02 06:38:40 +00002249
Roland McGrath30423402004-03-02 06:54:57 +00002250 * strace.c (main): Avoid potential buffer overruns from ludicrous
2251 arguments or PATH values.
2252 * syscall.c (qual_signal): Bail out for too-long string.
2253
Roland McGrath59aea572004-03-02 06:17:11 +00002254 * mem.c [LINUX]: <asm/mman.h> -> <linux/mman.h>
Roland McGrath5586f9a2004-03-02 06:23:08 +00002255 Fixes Debian bug #223207.
Roland McGrath59aea572004-03-02 06:17:11 +00002256
2257 * linux/sparc/syscall.h: Copy linux/syscall.h decls of sys_sched_*.
Roland McGrath8f30c1d2004-03-02 06:09:35 +00002258
Roland McGrath7da8ff72004-03-01 22:10:58 +00002259 * configure.ac: Check for `struct user_desc' in <asm/ldt.h>.
2260 * process.c [HAVE_STRUCT_USER_DESC]: Use struct user_desc in place of
2261 struct modify_ldt_ldt_s.
2262 * mem.c [HAVE_STRUCT_USER_DESC]: Likewise.
2263
2264 * system.c (sysctl_vm): Conditionalize VM_* macro uses, add some more.
2265 From Tim Yamin <plasmaroo@gentoo.org>.
2266
Roland McGrathce238102004-03-01 22:04:09 +00002267 * process.c (sys_execve): Clear instead of set TCB_WAITEXECVE on
2268 erring syscall.
2269
Roland McGrathe58b8a02004-03-01 21:29:31 +00002270 * configure.ac: Check for `struct pt_all_user_regs'
2271 and `struct ia64_fpreg' in <sys/ptrace.h>.
Roland McGrath4695e942004-03-01 21:31:07 +00002272 * util.c, process.c, syscall.c, signal.c: Work around conflicts between
Roland McGrathe58b8a02004-03-01 21:29:31 +00002273 <sys/ptrace.h> and <linux/ptrace.h> for defining those types.
2274
Roland McGrath4695e942004-03-01 21:31:07 +00002275 * process.c (struct_user_offsets) [LINUX && IA64]: Conditionalize
2276 PT_AR_CSD and PT_AR_SSD uses in case of older kernel headers.
2277
Roland McGrath861dc142004-03-01 20:57:16 +00002278 * util.c [LINUX] (arg0_index, arg1_index): New macros.
2279 [S390 || S390X]: Define them with inverted values.
2280 (setbpt): Use them for u_arg indices.
2281
Roland McGrath24e8d312004-03-01 20:30:51 +000022822004-02-26 Andreas Schwab <schwab@suse.de>
2283
2284 * defs.h [LINUX && IA64]: Declare getrval2 also on IA64.
2285 * net.c (sys_pipe) [LINUX && IA64]: For IA64 use the two return values.
2286 * syscall.c (getrval2) [LINUX && IA64]: Implement for IA64.
2287
Roland McGrath176ac322004-03-01 20:28:19 +000022882004-03-01 Roland McGrath <roland@redhat.com>
2289
2290 * linux/dummy.h (sys_sched_getscheduler, sys_sched_setparam,
2291 sys_sched_getparam, sys_sched_setscheduler, sys_sched_getscheduler,
2292 sys_sched_get_priority_max, sys_sched_get_priority_min): Remove macros.
2293 * process.c [LINUX] (sys_sched_getscheduler, sys_sched_setparam,
2294 sys_sched_getparam, sys_sched_setscheduler, sys_sched_getscheduler,
2295 sys_sched_get_priority_min): New functions.
2296 From Ulrich Drepper <drepper@redhat.com>.
2297 Fixes RH#116990.
2298
Roland McGrath3d3f1c92004-02-20 23:21:34 +000022992004-02-20 Roland McGrath <roland@redhat.com>
2300
2301 * linux/hppa/syscallent.h: Update some syscalls.
2302 From Randolph Chung <tausq@debian.org>.
2303 Fixes Debian bug #231632.
2304
Roland McGrathb233c262004-02-20 22:56:55 +000023052003-12-31 David Mosberger <davidm@hpl.hp.com>
2306
2307 * process.c (internal_exit): For ia64, also recognize IA-32 252
2308 as exit_group().
2309 (change_syscall): For IA64, also support changing IA-32 syscalls.
2310 * syscall.c (internal_syscall): For IA64, also recognize IA-32
2311 syscall 252 (exit_group) as an internal_exit() syscall.
2312 * util.c (SYS_fork): For IA64, define them to the IA-32 syscall
2313 number.
2314 (SYS_vfork): Likewise.
2315 (arg_setup): For IA64 version, also support IA-32 syscalls.
2316 (get_arg0): Likewise.
2317 (get_arg1): Likewise.
2318 (set_arg0): Likewise.
2319 (set_arg1): Likewise.
2320
Roland McGrath13aeab32004-02-20 02:25:42 +000023212004-02-15 Anton Blanchard <anton@samba.org>
2322
2323 * linux/powerpc/syscallent.h: Add rtas call.
2324 Shift multiplexed syscalls to start at 300, we are already about
2325 to hit 256 real syscalls.
2326 * linux/syscall.h: SYS_socket_subcall is now 300 for [POWERPC].
2327
23282004-02-19 Roland McGrath <roland@redhat.com>
2329
2330 * strace.c (main): Use TCP->pid, not PID, in -p message.
2331 Fixes Debian bug #229802.
2332
Roland McGrathec0cf0b2004-01-13 10:18:52 +000023332004-01-13 Roland McGrath <roland@redhat.com>
2334
Roland McGrath13aeab32004-02-20 02:25:42 +00002335 * syscall.c (force_result) [LINUX] [S390 || S390X]: Remove bogus upeek
2336 call.
2337
Roland McGrathec0cf0b2004-01-13 10:18:52 +00002338 * stream.c (internal_stream_ioctl): Fix typo strict -> struct.
2339 Reported by Petter Reinholdtsen <pere@hungry.com>.
2340
Roland McGrath135db892004-01-13 10:14:04 +000023412003-12-31 David Mosberger <davidm@hpl.hp.com>
2342
2343 * process.c (struct_user_offsets) [IA64]: Fix up register name list.
2344
Roland McGrath13aeab32004-02-20 02:25:42 +000023452003-12-14 Anton Blanchard <anton@samba.org>
Roland McGrath135db892004-01-13 10:14:04 +00002346
Roland McGrath75155472004-01-13 10:17:00 +00002347 * file.c (sys_getdents64): Don't cast d_ino and d_off to unsigned long.
2348 Use %llu formats for them.
2349
Roland McGrath135db892004-01-13 10:14:04 +00002350 * file.c [LINUX] (fsmagic): Add SYSFS_MAGIC.
2351
2352 * linux/powerpc/syscallent.h: Update to include recently added
2353 syscalls.
2354
2355 * syscall.c (get_error) [POWERPC]: Cast result to unsigned long for
2356 ppc64, we were misreporting syscalls that really succeeded as having
2357 failed.
2358
Roland McGrath5b7aa682004-01-13 09:52:52 +000023592004-01-13 Roland McGrath <roland@redhat.com>
2360
Roland McGrath8950c692004-01-13 10:00:01 +00002361 * strace.1: Remove comment about vfork on Linux.
2362 Fixes Debian bug #223390.
2363
Roland McGrath5b7aa682004-01-13 09:52:52 +00002364 * file.c (direnttypes): Define under [LINUX] as well. Add DT_UNKNOWN.
2365 (sys_getdents64) [LINUX]: Print d_type field.
2366
Roland McGrath13aeab32004-02-20 02:25:42 +000023672003-12-15 Dmitry V. Levin <ldv@altlinux.org>
Roland McGrath8950c692004-01-13 10:00:01 +00002368
2369 * strace.c (trace) [WCOREDUMP]: Show coredump status of the
Roland McGrath135db892004-01-13 10:14:04 +00002370 killed process if available. Fixes RH#112117.
Roland McGrath8950c692004-01-13 10:00:01 +00002371
Roland McGrathcf283032003-11-14 02:57:31 +000023722003-11-13 Roland McGrath <roland@redhat.com>
2373
2374 * configure.ac, NEWS: Version 4.5.1.
2375 * strace.spec, debian/changelog: 4.5.1-1.
2376
Roland McGrath13aeab32004-02-20 02:25:42 +000023772003-09-06 Dmitry V. Levin <ldv@altlinux.org>
Roland McGrath0aac8722003-11-14 02:54:09 +00002378
2379 * defs.h (ioctl_lookup): Prototype change.
2380 * ioctl.c (ioctl_next_match): New function.
2381 * defs.h: Declare it.
2382 * io.c (sys_ioctl): Use it, to display all possible ioctl names
2383 when there's more than one match.
2384 * ioctl.c (ioctl_lookup): Likewise.
2385 * stream.c (internal_stream_ioctl): Likewise.
2386 Patch from Solar Designer <solar@openwall.com>.
2387
Roland McGrath09f7a012003-11-13 22:32:32 +000023882003-11-13 Roland McGrath <roland@redhat.com>
2389
2390 * linux/sh/syscallent.h: Use sys_setgroups32, sys_getgroups32.
2391 * linux/sh64/syscallent.h: Likewise.
2392
Roland McGrath13aeab32004-02-20 02:25:42 +000023932003-09-06 Dmitry V. Levin <ldv@altlinux.org>
Roland McGrath09f7a012003-11-13 22:32:32 +00002394
Roland McGrathf25ef392003-11-13 22:33:48 +00002395 Fixes for RH#105359.
Roland McGrath09f7a012003-11-13 22:32:32 +00002396 * util.c (printuid): New function.
2397 * defs.h: Declare it.
2398 * file.c (sys_chown): Use it.
2399 * file.c (sys_fchown): Likewise.
2400 * process.c (sys_setreuid, sys_setregid, sys_setresuid,
2401 sys_setresgid): Likewise.
Roland McGrath09f7a012003-11-13 22:32:32 +00002402 * linux/syscallent.h: Better handle getgid32, geteuid32, getegid32,
2403 setreuid32, setregid32, getgroups32, setgroups32, fchown32,
2404 setresuid32, getresuid32, setresgid32, getresgid32, chown32,
2405 setuid32, setgid32, setfsuid32, setfsgid32.
2406 * process.c [LINUX]: Define GETGROUPS32_T.
2407 * process.c [LINUX] (sys_setgroups32, sys_getgroups32):
2408 New functions.
2409 * linux/syscall.h (sys_setgroups32, sys_getgroups32):
2410 Declare them.
2411
Roland McGrath730e8c02003-11-11 21:24:28 +000024122003-11-11 Roland McGrath <roland@redhat.com>
2413
2414 * strace.c (main): Bail with usage error for missing command before we
2415 open the -o file or fiddle uids.
2416
Roland McGrathe52919b2003-11-06 23:41:33 +000024172003-11-06 Roland McGrath <roland@redhat.com>
2418
Roland McGratha0f32e02003-11-07 02:36:45 +00002419 * strace.c (main): Treat piped output more like file output.
2420 Disallow -ff with piped output. Fixes RH#105366.
2421 Reported by Dmitry V. Levin <ldv@altlinux.org>
2422
Roland McGrathe52919b2003-11-06 23:41:33 +00002423 * strace.c (tprintf): Check result of vfprintf and use perror when it
2424 fails while not writing to stderr itself. Fixes Debian bug #218762.
2425
2426 * net.c (printsock): Fix typo in #ifdef AF_NETLINK.
2427 From Ulrich Drepper <drepper@redhat.com>.
2428
Roland McGrathb67e8e32003-11-01 22:11:29 +000024292003-11-01 Roland McGrath <roland@redhat.com>
2430
2431 * syscall.c (trace_syscall) [LINUX]: Calculate ONE_TICK once using
2432 setitimer rather than hard-coding a value based on HZ.
Roland McGrathd4897f82003-11-01 22:13:35 +00002433 Fixes RH#108012, reported by Florian La Roche <laroche@redhat.com>.
Roland McGrathb67e8e32003-11-01 22:11:29 +00002434
Roland McGratha9f76da2003-10-22 06:11:36 +000024352003-10-21 Roland McGrath <roland@redhat.com>
2436
Roland McGrath7aa6d202003-10-22 06:16:42 +00002437 * strace.1: Fixed a few spelling errors.
Roland McGrathb67e8e32003-11-01 22:11:29 +00002438 Fixes Debian bug #217008.
Roland McGrath7aa6d202003-10-22 06:16:42 +00002439
Roland McGratha9f76da2003-10-22 06:11:36 +00002440 * syscall.c: Revert last change, was broken.
2441
Roland McGrath8c74bd92003-10-01 07:50:34 +000024422003-10-01 Roland McGrath <roland@redhat.com>
2443
Roland McGrathe7da3502003-10-01 21:59:50 +00002444 * process.c (internal_clone): Don't suspend parent when call requested
2445 a specific PID that is not a traced child.
2446
Roland McGrath8c74bd92003-10-01 07:50:34 +00002447 * signal.c [LINUX] (parse_sigset_t): Rewrite to process hex strings
2448 from right to left so we don't have to presume the size.
Roland McGrathe7da3502003-10-01 21:59:50 +00002449 Reported by David Woodhouse <dwmw2@redhat.com>.
Roland McGrath8c74bd92003-10-01 07:50:34 +00002450
Roland McGrath268e9042003-09-25 23:06:12 +000024512003-09-25 Roland McGrath <roland@redhat.com>
2452
2453 * mem.c (mmap_prot) [PROT_SEM, PROT_GROWSDOWN, PROT_GROWSUP]: Include
2454 these in the table if they are defined.
2455
Roland McGrath4f59bab2003-09-24 22:22:49 +000024562003-09-24 Roland McGrath <roland@redhat.com>
2457
2458 * configure.ac, NEWS: Version 4.5.
2459 * strace.spec, debian/changelog: 4.5-1.
2460
2461 * syscall.c (get_scno) [LINUX] [S390 || S390X]: Bail out of
2462 instruction decoding branch if TCB_INSYSCALL is clear.
2463 Reported by <jochen@penguin-breeder.org>.
2464
2465 * linux/ioctlent.h: Swap order of overloaded TC* and SNDCTL_* values.
2466
Roland McGrath7633f1e2003-09-23 22:19:43 +000024672003-09-23 Roland McGrath <roland@redhat.com>
2468
Roland McGrath4f59bab2003-09-24 22:22:49 +00002469 * strace.spec: On ppc64 (maybe others later), create an strace64
2470 package as well containing just /usr/bin/strace64.
2471
Roland McGrath7633f1e2003-09-23 22:19:43 +00002472 * signal.c (sprintsigmask): Print RT_%u for __SIGRTMIN..__SIGRTMAX.
2473 Fixes RH#104365.
2474
Roland McGrath109f3d32003-08-21 10:09:01 +000024752003-08-21 Roland McGrath <roland@redhat.com>
2476
Roland McGrath7633f1e2003-09-23 22:19:43 +00002477 * linux/syscallent.h: Fix mlock argument count. Fixes RH#101499.
Roland McGrath109f3d32003-08-21 10:09:01 +00002478 * linux/x86_64/syscallent.h: Likewise.
2479 * linux/s390/syscallent.h: Likewise.
2480 * linux/s390x/syscallent.h: Likewise.
2481
Roland McGrath5bc53452003-08-21 09:58:08 +000024822003-07-28 Daniel Jacobowitz <drow@mvista.com>
2483
2484 * defs.h (ALIGN64): Define for MIPS.
2485 * io.c (PREAD_OFFSET_ARG): Define.
2486 (sys_pread, sys_pwrite): Use it.
2487 * process.c (struct_user_offsets) [SH]: Check whether REG_XDREG0
2488 is defined.
2489 * linux/sh/syscallent.h (pread, pwrite): Take six arguments.
2490 (truncate64, ftruncate64): Pretty-print.
2491 * linux/mips/syscallent.h (pread, pwrite): Take six arguments.
2492 (truncate64, ftruncate64): Take four arguments.
2493
Roland McGrath4d8130c2003-07-17 09:24:04 +000024942003-07-17 Roland McGrath <roland@redhat.com>
2495
2496 * configure.ac, NEWS: Version 4.4.99.
2497 * strace.spec, debian/changelog: 4.4.99-1.
2498
Roland McGrath25969ce2003-07-17 09:03:22 +000024992003-07-15 Anton Blanchard <anton@samba.org>
2500
2501 * ipc.c: Add SHM_HUGETLB field.
2502 Mask out permission bits in msgget, semget and shmget before
2503 printing resource_flags.
2504 Mask execute permission bits (even though we dont currently
2505 use them).
2506
25072003-07-17 Roland McGrath <roland@redhat.com>
2508
2509 * linux/powerpc/syscallent.h (tgkill): New at 250.
2510
2511 * linux/syscallent.h: truncate64/ftruncate64 need 3 args.
2512 From Ulrich Drepper <drepper@redhat.com>.
2513
2514 * linux/syscallent.h: Handle statfs64, fstatfs64, utimes.
2515 * file.c (printstatfs): Print f_fsid and f_frsize.
2516 [LINUX] (printstatfs64, sys_statfs64, sys_fstatfs64): New functions.
2517 * linux/syscall.h: Add decls.
2518 From Ulrich Drepper <drepper@redhat.com>.
2519
25202003-07-09 Roland McGrath <roland@redhat.com>
2521
2522 * linux/ia64/syscallent.h (tgkill): New at 1235.
2523
Roland McGrath004d88d2003-07-09 09:48:21 +000025242003-07-05 Richard Henderson <rth@twiddle.net>
2525
2526 * process.c (sys_clone): Order arguments for alpha the same as x86_64.
2527 * syscall.c (ERESTART_RESTARTBLOCK): New.
2528 (trace_syscall): Print it.
2529 * linux/alpha/syscallent.h (osf_syscall): Name properly.
2530 (osf_set_program_attributes): Fix typo.
2531 (osf_nfssvc): Likewise.
2532 (osf_sigsendset): Likewise.
2533 (getdents64, gettid, readahead, tkill, setxattr, lsetxattr, fsetxattr,
2534 getxattr, lgetxattr, fgetxattr, listxattr, llistxattr, flistxattr,
2535 removexattr, lremovexattr, fremovexattr, futex, sched_setaffinity,
2536 sched_getaffinity, tuxcall, io_setup, io_destroy, io_getevents,
2537 io_submit, io_cancel, exit_group, lookup_dcookie, epoll_create,
2538 epoll_ctl, epoll_wait, remap_file_pages, set_tid_address,
2539 restart_syscall, fadvise, timer_create, timer_settime, timer_gettime,
2540 timer_getoverrun, timer_delete, clock_settime, clock_gettime,
2541 clock_getres, clock_nanosleep, semtimedop): New.
2542
25432003-07-08 Roland McGrath <roland@redhat.com>
2544
2545 * signal.c (sys_tgkill): New function.
2546 * linux/syscall.h: Declare it.
2547 * linux/syscallent.h: Add tgkill.
2548
Roland McGratha9a86192003-06-27 21:20:14 +000025492003-06-27 Roland McGrath <roland@redhat.com>
2550
2551 * configure.ac: Check for type `struct __old_kernel_stat'.
2552 * file.c (convertoldstat, printoldstat): Define under
2553 [LINUX && HAVE_STRUCT___OLD_KERNEL_STAT] rather than a list of archs.
2554 (sys_oldstat, sys_oldfstat, sys_oldlstat): Likewise.
2555 * linux/dummy.h [! HAVE_STRUCT___OLD_KERNEL_STAT]
2556 (sys_oldstat, sys_oldfstat, sys_oldlstat): #define to printargs.
2557
Roland McGrath9df23f92003-06-26 22:23:32 +000025582003-06-26 Roland McGrath <roland@redhat.com>
2559
Roland McGrath4fe23b52003-06-26 22:41:02 +00002560 * configure.ac: SHMEDIA -> SH64
2561 * defs.h: Likewise.
2562 * mem.c: Likewise.
2563 * process.c: Likewise.
2564 * sock.c: Likewise.
2565 * syscall.c: Likewise.
2566 * util.c: Likewise.
2567 * linux/shmedia/syscallent.h: Moved to ...
2568 * linux/sh64/syscallent.h: ... here.
2569
2570 * config.guess: Update from canonical version, timestamp 2003-06-17.
2571 * config.sub: Likewise.
2572
Roland McGrath8f340e32003-06-26 22:29:38 +00002573 * syscall.c (force_result) [LINUX] [ARM]: Fix variable usage.
2574 From: Joshua Neal <tinara@netpipeline.net>.
2575
Roland McGrathc2aa8ea2003-06-26 22:27:32 +00002576 * process.c [LINUX] (sys_futex): Grok FUTEX_REQUEUE and print 5th arg.
2577 * linux/syscallent.h: sys_futex argument count is now 5, not 4.
2578 * linux/ia64/syscallent.h: Likewise.
2579 * linux/powerpc/syscallent.h: Likewise.
2580 * linux/s390/syscallent.h: Likewise.
2581 * linux/s390x/syscallent.h: Likewise.
2582 * linux/x86_64/syscallent.h: Likewise.
2583 From Jakub Jelinek <jakub@redhat.com>.
2584
Roland McGrath9df23f92003-06-26 22:23:32 +00002585 * syscall.c (get_scno) [S390 || S390X]: Fix old vs new mode detection.
2586 From Michael Holzheu <HOLZHEU@de.ibm.com>.
2587
Roland McGrathee911632003-06-23 23:40:04 +000025882003-06-23 Roland McGrath <roland@redhat.com>
2589
2590 * net.c (sys_socket): Decode protocol for PF_INET6 same as PF_INET.
2591 From Ulrich Drepper <drepper@redhat.com>.
2592
Roland McGrathe84e6272003-06-11 05:38:01 +000025932003-06-10 Roland McGrath <roland@redhat.com>
2594
2595 * configure.ac, NEWS: Version 4.4.98.
2596 * strace.spec, debian/changelog: 4.4.98-1.
2597
Roland McGrath3634c272003-06-10 03:06:05 +000025982003-06-09 Roland McGrath <roland@redhat.com>
2599
Roland McGrath767b4302003-06-10 03:38:03 +00002600 * linux/s390x/syscallent.h: Update many syscalls.
2601 * linux/syscall.h (SYS_socket_subcall): Update [S390X] value.
2602
Roland McGrathc38d46e2003-06-10 03:31:34 +00002603 * linux/s390/syscallent.h: Update many syscalls.
2604 * linux/syscall.h (SYS_socket_subcall): Update [S390] value.
2605
Roland McGratheef1fde2003-06-10 03:07:47 +00002606 * linux/shmedia/syscallent.h: New file.
2607 From Stephen Thomas <stephen.thomas@superh.com>.
2608
Roland McGrath3634c272003-06-10 03:06:05 +00002609 * strace.c (trace): Print a message and newline for a WIFEXITED report
2610 from the process we just printed an unterminated syscall line for.
2611
Roland McGrathcf99f9c2003-06-03 07:18:28 +000026122003-06-03 Roland McGrath <roland@redhat.com>
2613
Roland McGrath2c1d5342003-06-03 23:28:58 +00002614 * util.c (printcall) [LINUX]: Fix typo [IA62] -> [IA64].
2615
2616 Linux/ARM improvements from Russell King <rmk@arm.linux.org.uk>:
2617 * defs.h [LINUX] (TCB_WAITEXECVE): Define for [ARM] too.
2618 * process.c (struct_user_offsets) [LINUX] [ARM]: Add ARM registers.
2619 * signal.c [LINUX] (sys_sigreturn) [ARM]: New case.
2620 * syscall.c (get_scno, syscall_fixup) [LINUX] [ARM]: Case rewritten.
2621 (get_error) [LINUX] [ARM]: Update.
2622 (syscall_enter) [LINUX] [ARM]: New case.
2623 * util.c (printcall) [LINUX] [ARM]: New case.
2624
2625 * debian/control (Standards-Version): Update to 3.5.10.
2626
Roland McGrathcf99f9c2003-06-03 07:18:28 +00002627 * strace.c (main): In PATH search, accept only a regular file with
2628 execute bits set. Fixes Debian bug #137103.
2629
Roland McGratha834fbe2003-06-02 19:37:56 +000026302003-06-02 Roland McGrath <roland@redhat.com>
2631
Roland McGrath454a0242003-06-03 01:35:32 +00002632 * strace.c (main): Set -q when given -o and not -p, and not when not
2633 given -o, to match what the man page always said.
2634 Fixes Debian bug #47113, #153678.
2635
Roland McGratha834fbe2003-06-02 19:37:56 +00002636 * configure.ac, NEWS: Version 4.4.97.
2637 * strace.spec, debian/changelog: 4.4.97-1.
2638
2639 * configure.ac, defs.h, mem.c, process.c, sock.c, syscall.c, util.c:
2640 Merged in SHmedia port from Stephen Thomas <stephen.thomas@superh.com>.
2641
2642 * config.guess: Update from ftp://ftp.gnu.org/pub/gnu/config/,
2643 timestamp 2003-05-22.
2644 * config.sub: Likewise, timestamp 2003-05-24.
2645
Roland McGrath5aae8772003-05-23 00:14:17 +000026462003-05-22 Roland McGrath <roland@redhat.com>
2647
Roland McGrathd0835362003-05-23 02:27:37 +00002648 * defs.h (struct tcb): New member `nzombies'.
2649 * strace.c (alloctcb): Initialize it.
2650 (droptcb): Increment our parent's zombie count.
2651 * process.c (internal_wait): Don't go into TCB_SUSPENDED if the
2652 process has zombies it can reap. On the way out, if we reaped
2653 an untraced process, decrement the zombie count.
2654
Roland McGrath7dfd4ed2003-05-23 01:08:50 +00002655 * process.c (sys_clone): Mask CSIGNAL out of flags and print that
2656 separately using signame.
2657
2658 * process.c (internal_clone) [TCB_CLONE_THREAD]: Use ARG_FLAGS instead
2659 of literal 0 for index. Consult the right flags without clobbering
2660 anything when we reparent the new child to the caller's parent thread.
2661
Roland McGrath031b0d82003-05-23 00:29:11 +00002662 * linux/s390/syscallent.h: Fix sys_clone argument count.
2663 * linux/s390x/syscallent.h: Likewise.
2664 * linux/mips/syscallent.h: Likewise.
2665 * linux/alpha/syscallent.h: Likewise.
2666 * linux/powerpc/syscallent.h: Likewise.
2667 * linux/sh/syscallent.h: Likewise.
2668 * linux/sparc/syscallent.h: Likewise.
2669 * linux/hppa/syscallent.h: Likewise.
2670
2671 * process.c [LINUX] [S390 || S390X] (ARG_CTID, ARG_TLS): Fix swapped
2672 indices. Reported by Jakub Jelinek <jakub@redhat.com>.
2673
2674 * signal.c [LINUX] (SI_SIGIO, SI_TKILL): New macros.
2675 [LINUX || SVR4] (siginfo_codes): Add strings for them.
2676
Roland McGrath5aae8772003-05-23 00:14:17 +00002677 * process.c (print_affinitylist): Fix loop condition.
2678 Reported by Ian Wienand <ianw@gelato.unsw.edu.au>.
2679
Roland McGrath872a4362003-04-10 18:58:33 +000026802003-04-10 Roland McGrath <roland@redhat.com>
2681
2682 * syscall.c (qual_desc): Return zero after parsing number.
2683 From Rob Leslie <rob@mars.org>, fixes Debian bug #188379.
2684
Roland McGrath808a4ba2003-04-08 01:47:02 +000026852003-04-07 Roland McGrath <roland@redhat.com>
2686
2687 * linux/syscallent.h: Handle semtimedop subcall of ipc syscall.
2688 * linux/syscall.h: Likewise.
2689 * ipc.c [LINUX] (sys_semtimedop): New function.
2690 From Ulrich Drepper <drepper@redhat.com>.
2691
2692 * ipc.c (sys_semget): Mask off permission bits for resource_flags.
2693 From Ulrich Drepper <drepper@redhat.com>.
2694
Roland McGrathcf43e902003-04-02 01:10:53 +000026952003-04-01 Philippe De Muyter <phdm@macqel.be>
2696
2697 * sock.c, stream.c: Check #ifdef LINUX, not linux.
2698 * file.c: Always provide sys_*attr, regardless of #ifdef XATTR_CREATE.
2699
Roland McGrath10a56fb2003-03-31 01:21:40 +000027002003-03-30 Roland McGrath <roland@redhat.com>
2701
2702 * configure.ac, NEWS: Version 4.4.96.
2703 * strace.spec, debian/changelog: 4.4.96-1.
2704
Roland McGrath347636f2003-03-31 01:05:16 +000027052003-02-26 Stuart Menefy <stuart.menefy@st.com>
2706
2707 Various fixes for SuperH [SH]:
2708 * mem.c (sys_old_mmap): mmap() parameters passed in registers
2709 * net.c (sys_pipe), syscall.c (getrval2): pipe() results returned
2710 in registers
2711 * process.c (change_syscall): Fixed register which holds system
2712 call number
2713 * util.c (arg0_offset, arg1_offset): provide definition
2714 * Makefile.am: Added new files in linux/sh
2715 * linux/sh/syscallent.h: New file.
2716 * linux/sh/errnoent.h: New file.
2717 * linux/sh/ioctlent.h: New file.
2718 * linux/sh/signalent.h: New file.
2719
2720 * linux/ioctlent.sh: Take an arg for location of header files
2721 * syscallent.sh: Replaced lost $
2722
Roland McGrath5467f262003-03-30 23:52:46 +000027232003-03-30 Roland McGrath <roland@redhat.com>
2724
2725 * time.c [LINUX]: Handle new Linux 2.5 clock/timer syscalls.
2726 * linux/syscall.h, linux/syscallent.h, linux/dummy.h: Likewise.
2727 From Ulrich Drepper <drepper@redhat.com>.
2728
2729 * linux/syscallent.h: Use sys_getrlimit for 191.
2730 Use name "old_getrlimit" for 76.
2731 Reported by Ulrich Drepper <drepper@redhat.com>.
2732
Roland McGrath5755ec52003-03-21 07:33:21 +000027332003-03-18 Roland McGrath <roland@redhat.com>
2734
2735 * process.c [LINUX] (sys_clone): Don't dereference parent_tid argument.
2736
Roland McGrath49bad882003-03-18 07:43:53 +000027372003-03-17 Roland McGrath <roland@redhat.com>
2738
2739 * linux/x86_64/syscallent.h: clone takes 5 args.
2740 * process.c [LINUX] (sys_clone) [X86_64]: Fix argument order.
2741
Roland McGrathf22e0c72003-03-15 21:01:43 +000027422003-03-15 Roland McGrath <roland@redhat.com>
2743
2744 * linux/x86_64/syscallent.h: Add exit_group syscall at 231.
2745
Roland McGrath27cad9a2003-03-14 10:33:06 +000027462003-03-14 Roland McGrath <roland@redhat.com>
2747
2748 * linux/x86_64/syscallent.h: Update and add many 2.5 syscalls.
2749
2750 * linux/ia64/syscallent.h: clone takes 5 arguments.
2751 * process.c [LINUX && IA64] (ARG_*): Update for 2.5 clone calls.
2752
Roland McGrath041900f2003-03-12 08:11:33 +000027532003-03-12 Roland McGrath <roland@redhat.com>
2754
Roland McGrath6fbb4e32003-03-12 09:54:45 +00002755 * linux/ia64/syscallent.h: Fix arg counts for clone and clone2.
2756 Use sys_clone for clone2.
2757 * linux/syscall.h: Don't declare sys_clone2.
2758 * process.c (sys_clone): Rewritten to handle both flavors,
2759 print all extra args depending on flag bits.
2760 (sys_clone2): Function removed.
2761
Roland McGrath041900f2003-03-12 08:11:33 +00002762 * linux/ia64/syscallent.h: Add a bunch of 2.5 syscalls.
2763
Roland McGrathb3f8fd62003-03-05 06:29:11 +000027642003-03-04 Roland McGrath <roland@redhat.com>
2765
2766 * syscall.c (get_scno) [IA64]: Do TCB_WAITEXECVE check only when
2767 TCB_INSYSCALL is clear, like other platforms do.
2768
Roland McGrathd2a6c6b2003-03-05 04:08:07 +000027692003-03-04 Ulrich Drepper <drepper@redhat.com>
2770
2771 * mem.c [LINUX] (sys_remap_file_pages): New function.
2772 * linux/syscall.h: Declare it.
2773 * linux/syscallent.h: Use it.
2774 * linux/powerpc/syscallent.h: Likewise.
2775
2776 * process.c [LINUX] (sys_futex): Omit final if op is not FUTEX_WAIT.
2777
Roland McGratha4187c92003-02-26 20:34:14 +000027782003-02-26 Roland McGrath <roland@redhat.com>
2779
2780 * configure.ac: Fix typo in netinet/in.h check.
2781 Also include <sys/types.h> and <sys/socket.h> before <netinet/in.h>.
2782 Reported by Alex Semenyaka <alexs@snark.rinet.ru>.
2783
Roland McGrath66375f62003-02-24 10:18:11 +000027842003-02-24 Roland McGrath <roland@redhat.com>
2785
Roland McGrath74f905d2003-02-24 10:53:48 +00002786 * configure.ac, NEWS: Version 4.4.95.
2787 * strace.spec, debian/changelog: 4.4.95-1.
2788
Roland McGrath66375f62003-02-24 10:18:11 +00002789 * process.c (sys_getresgid): Fix typos in argument access.
2790
Roland McGrath127f7d22003-02-24 07:13:59 +000027912003-02-23 Roland McGrath <roland@redhat.com>
2792
2793 * process.c (sys_getresuid): Fix typos in argument access.
2794 Reported by Anton Blanchard <anton@samba.org>.
2795
Roland McGrath71522342003-02-20 02:45:34 +000027962003-02-19 Roland McGrath <roland@redhat.com>
2797
Roland McGrath45be9602003-02-20 03:26:58 +00002798 * configure.ac, NEWS: Version 4.4.94.
2799 * strace.spec, debian/changelog: 4.4.94-1.
2800
Roland McGrath44fb0432003-02-20 02:56:50 +00002801 * version.c: Removed.
2802 * Makefile.am (strace_SOURCES): Remove it.
2803 * strace.c: Use PACKAGE_NAME and VERSION macros instead of version var.
2804
Roland McGrath71522342003-02-20 02:45:34 +00002805 FreeBSD rfork support changes from Russ Cox <rsc@plan9.bell-labs.com>:
2806 * syscall.c (internal_syscall): Handle SYS_rfork with internal_fork.
2807 * process.c (internal_fork) [SYS_rfork]: Bail if RFPROC flag not set.
2808
Roland McGrath8d276ff2003-01-24 04:32:36 +000028092003-01-23 Roland McGrath <roland@redhat.com>
2810
Roland McGrathff02c902003-01-30 20:15:35 +00002811 * signal.c: Reorder #ifdefs so HAVE_ASM_SIGCONTEXT_H doesn't matter on
2812 SPARC, which doesn't use the header regardless.
2813
2814 * util.c [LINUX && SPARC]: Do renaming kludges around <asm/reg.h>
2815 like signal.c does.
2816
2817 * linux/sparc/syscall.h: Declare sys_getdents64, sys_llseek.
Roland McGrath6ee7d1f2003-01-24 04:39:50 +00002818
2819 * linux/dummy.h [! SYS_getpmsg] (sys_getpmsg): #define to printargs.
2820 [! SYS_putpmsg] (sys_putpmsg): Likewise.
2821
Roland McGrath8d276ff2003-01-24 04:32:36 +00002822 * process.c: Reorder includes to put sys/reg.h before linux/ptrace.h,
2823 since they can conflict.
2824
Roland McGrath6a39c212003-01-22 02:27:59 +000028252003-01-21 Roland McGrath <roland@redhat.com>
2826
Roland McGrath8d276ff2003-01-24 04:32:36 +00002827 * strace.c (usage): Omit -z, since it has never worked properly.
2828 * NEWS: Likewise.
2829
2830 * strace.c (main): Grok new option `-E var=val' or `-E var' to put
2831 var=val in environ or to remove var, respectively.
2832 (usage): Mention it.
2833 * strace.1, NEWS: Document it.
2834
Roland McGrath6a39c212003-01-22 02:27:59 +00002835 * configure.ac, NEWS: Version 4.4.93.
2836 * strace.spec, debian/changelog: 4.4.93-1.
2837 * strace.spec (Source0): Use strace-VERSION.tar.bz2 now.
2838
Roland McGrath08eee592003-01-20 09:04:42 +000028392003-01-20 Roland McGrath <roland@redhat.com>
2840
Roland McGrathb472e1c2003-01-20 10:23:11 +00002841 * defs.h [LINUX] [S390 || S390X] (TCB_WAITEXECVE): Define it.
2842 * syscall.c (get_scno, syscall_fixup) [LINUX] [S390 || S390X]: Handle
2843 TCB_WAITEXECVE state with special kludges.
2844
Roland McGrath08eee592003-01-20 09:04:42 +00002845 * process.c [LINUX] (sys_clone) [S390 || S390X]: Argument order is
2846 reversed from other architectures.
2847
2848 * process.c (sys_execve) [LINUX]: Make setting TCB_WAITEXECVE flag
2849 conditional on [TCB_WAITEXECVE] instead of list of processors.
2850
2851 * util.c (restore_arg0): Evaluate args in no-op defns.
2852
2853 * util.c [S390 || S390X] (arg0_offset, arg1_offset): Fix definitions
2854 for clone call on S390. From Michael Holzheu <holzheu@de.ibm.com>.
2855
Roland McGrath2b157e72003-01-18 00:19:35 +000028562003-01-17 Anton Blanchard <anton@samba.org>
2857
2858 * util.c [LINUX] (setbpt): Handle SYS_vfork like SYS_fork.
2859
2860 * linux/syscall.h (SYS_socket_subcall): 256 also for POWERPC.
2861
Roland McGrath92999db2003-01-14 09:46:33 +000028622003-01-14 Roland McGrath <roland@redhat.com>
2863
Roland McGrathec4bd132003-01-14 23:41:07 +00002864 * linux/powerpc/errnoent.h: Add missing errnos.
2865 * linux/powerpc/ioctlent.h: Update ioctl values.
2866 From Anton Blanchard <anton@samba.org>.
2867
2868 * io.c [LINUX] (sys_pread, sys_pwrite): Fix last change.
2869 From Anton Blanchard <anton@samba.org>.
2870
2871 * linux/hppa/syscallent.h: Use sys_getdents64, sys_truncate64,
2872 sys_ftruncate64, instead of printargs, for those syscalls.
2873 * linux/mips/syscallent.h: Likewise.
2874 * linux/powerpc/syscallent.h: Likewise.
2875 * linux/s390/syscallent.h: Likewise.
2876 * linux/sparc/syscallent.h: Likewise.
2877
2878 * linux/syscall.h (SYS_socket_subcall): Only 256 for S390, S390X.
2879 All others at the moment use linux/syscallent.h, where it's 300.
2880
2881 * strace.1: Update bug reporting info.
2882
2883 * resource.c [LINUX] (quotacmds): Grok new command encodings.
2884 From Nathan Scott <nathans@debian.org>.
2885
Roland McGrathd7bec502003-01-14 10:10:36 +00002886 * configure.ac, NEWS: Version 4.4.92.
2887 * strace.spec, debian/changelog: 4.4.92-1.
2888
Roland McGrathf775ab32003-01-14 09:59:57 +00002889 * configure.ac: Match powerpc* (includes powerpc64), and don't match
2890 ppc (never comes out of config.sub).
Roland McGrathd7bec502003-01-14 10:10:36 +00002891
Roland McGrathf775ab32003-01-14 09:59:57 +00002892 * process.c (sys_ptrace): Use #lx format for address argument.
2893 [POWERPC]: Use sizeof(unsigned long) in place of 4 for multipliers.
2894 * process.c [POWERPC]: Likewise.
2895 * signal.c (sys_sigreturn) [POWERPC]: Likewise.
2896 * syscall.c (get_scno) [POWERPC]: Likewise.
2897 * util.c [POWERPC]: Likewise.
2898 (printnum): Use long for NUM.
2899 From Anton Blanchard <anton@samba.org>.
2900
Roland McGrath92999db2003-01-14 09:46:33 +00002901 * defs.h (ALIGN64): Fix defn for PPC, same as FreeBSD one.
2902
2903 * util.c [LINUX] (restore_arg0, restore_arg1): New macros, defined
2904 appropriately via set_arg0 or no-ops for each architecture.
2905 (clearbpt): Use those instead of set_arg0 and set_arg1.
2906
2907 * defs.h [_LARGEFILE64_SOURCE] (_LFS64_LARGEFILE): Define it.
2908 * linux/syscallent.h: Use sys_getdents64, sys_truncate64,
2909 sys_ftruncate64, instead of printargs, for those syscalls.
2910
2911 * process.c: Use <linux/ptrace.h> regardless of <sys/reg.h>.
2912 (sys_ptrace): Use printxval.
2913 (ptrace_cmds): Make PTRACE_GETREGS et al conditional on #ifdef PTRACE_*
2914 instead of only #ifdef SUNOS4. Add PTRACE_[GS]ETFPXREGS.
2915
2916 * ipc.c (PRINTCTL): New macro. #ifdef IPC_64, factor out the flag and
2917 print it before using printxval.
2918 (sys_msgctl, sys_semctl, sys_shmctl): Use it.
2919
Roland McGrathda5ad2d2003-01-14 07:53:49 +000029202003-01-13 Roland McGrath <roland@redhat.com>
2921
Roland McGrath4e254592003-01-14 07:58:26 +00002922 * config.guess: Update from ftp://ftp.gnu.org/pub/gnu/config/,
2923 timestamp 2003-01-10.
2924 * config.sub: Likewise, timestamp 2003-01-03.
2925 * install-sh: Update from Automake 1.7.2.
2926
Roland McGrathda5ad2d2003-01-14 07:53:49 +00002927 * linux/powerpc/signalent.h: Add SIGRTMIN.
2928 From Anton Blanchard <anton@samba.org>.
2929
2930 * linux/powerpc/syscallent.h: Add missing system calls.
2931 Decode more system calls, we were just printargs for many things.
2932 Remove some x86-specific system calls.
2933 Remove two syscalls between the socket and ipc syscalls,
2934 it was resulting in all IPC syscalls being off by two.
2935
2936 * ioctl.c (ioctl_decode) [POWERPC]: Decode term ioctls like Alpha.
2937 From Anton Blanchard <anton@samba.org>.
2938
2939 * defs.h [POWERPC] (UESP, EIP, EAX, ORIG_EAX): Remove this cruft.
2940 [LINUX && POWERPC && !__powerpc64__] (ALIGN64): New macro.
2941 * io.c (sys_pread, sys_pwrite): Use ALIGN64.
2942 From Anton Blanchard <anton@samba.org>.
2943
2944 * term.c [LINUX]: Get kernel definition of struct termios.
2945 From Anton Blanchard <anton@samba.org>.
2946
2947 * linux/ioctlent.sh: Look in sound/ directory too.
2948 From Anton Blanchard <anton@samba.org>.
2949
2950 * desc.c (printflock64): Fix ADDR argument type.
2951 From Anton Blanchard <anton@samba.org>.
2952
2953 * strace.c [! HAVE_STRSIGNAL]: Clean up #ifdefs on decls for
2954 sys_siglist and _sys_siglist.
2955 Reported by John Hughes <john@Calva.COM>.
2956
2957 * net.c: HAVE_OPTHDR -> HAVE_STRUCT_OPTHDR
2958 Reported by John Hughes <john@Calva.COM>.
2959
2960 * linux/syscall.h [ARM] (SYS_socket_subcall): Set to 300.
2961
Roland McGrathdcfcaf72003-01-10 10:45:13 +000029622003-01-10 Roland McGrath <roland@redhat.com>
2963
Roland McGrathedcf1b02003-01-10 21:43:33 +00002964 * configure.ac, NEWS: Version 4.4.91.
2965 * strace.spec, debian/changelog: 4.4.91-1
2966
Roland McGrath09b371c2003-01-10 20:51:13 +00002967 * util.c [LINUX && X86_64] (arg0_offset, arg1_offset): Use correct
2968 values for x86-64, conditional on current_personality.
2969
Roland McGrath944d10f2003-01-10 20:14:52 +00002970 * strace.c (droptcb): Clear flags word before calling rebuild_pollv.
2971
Roland McGrath03c5c4d2003-01-10 20:06:01 +00002972 * configure.ac: Check struct T_conn_res for QUEUE_ptr or ACCEPTOR_id.
2973 * stream.c (print_transport_message): Use #ifdefs for those members.
2974
2975 * strace.c (rebuild_pollv): Fix typo: struct poll -> struct pollfd.
2976
Roland McGrath516f3492003-01-10 19:55:42 +00002977 * configure.ac: Fix siginfo_t/sig_atomic_t checks.
2978 Use prerequisite #include <netinet/in.h> for netinet/*.h checks.
2979
2980 * strace.c (pfd2tcb): Fix for new tcbtab type.
2981 (rebuild_pollv): Likewise.
2982 (detach): Put variables used under [LINUX] inside #ifdef.
2983
2984 * process.c (change_syscall) [POWERPC]: Add missing return.
2985 * util.c [POWERPC] (arg0_offset): Set to 4*PT_R3, not 4*PT_ORIG_R3.
2986
Roland McGrathdcfcaf72003-01-10 10:45:13 +00002987 * strace.spec: New file.
2988 * debian/changelog: 4.4.90-1
2989 * debian/rules (binary-arch): Depend on build.
2990 (clean): Don't try to run Makefile.in.
2991 * debian/control (Standards-Version): Now 3.5.8.
2992
2993 * configure.ac: Diddle CFLAGS after AC_PROG_CC, not before.
2994
Roland McGrathea496212003-01-10 07:50:29 +000029952003-01-09 Roland McGrath <roland@redhat.com>
2996
2997 * syscall.c (force_result) [S390 || S390X]: Fix typo.
2998
2999 * debian/control: Update Maintainer: field.
3000
Roland McGrath5694e802003-01-09 06:56:39 +000030012003-01-08 Roland McGrath <roland@redhat.com>
3002
3003 * NEWS: Update for 4.4.90 test release.
3004
3005 Support for new Linux 2.5 thread features.
3006 * defs.h [LINUX]: Define __NR_exit_group if not defined.
3007 (struct tcb): New members nclone_threads, nclone_detached,
3008 and nclone_waiting.
3009 (TCB_CLONE_DETACHED, TCB_CLONE_THREAD, TCB_GROUP_EXITING): New macros.
3010 (waiting_parent): Macro removed.
3011 (pid2tcb): Declare it.
3012 * process.c (internal_clone) [TCB_CLONE_THREAD]: Reparent the new
3013 child to our parent if we are a CLONE_THREAD child ourselves.
3014 Maintain TCB_CLONE_THREAD and TCB_CLONE_DETACHED flags and counts.
3015 (internal_wait) [TCB_CLONE_THREAD]: Factor out detached children when
3016 determining if we have any. If TCB_CLONE_THREAD is set, check
3017 parent's children instead of our own, and bump nclone_waiting count.
3018 (internal_exit) [__NR_exit_group]: Set the TCB_GROUP_EXITING flag if
3019 the syscall was exit_group.
3020 * syscall.c (internal_syscall): Use internal_exit for exit_group.
3021 * strace.c (pid2tcb): No longer static.
3022 (alloctcb) [TCB_CLONE_THREAD]: Initialize new fields.
3023 (droptcb) [TCB_CLONE_THREAD]: Maintain new fields.
3024 If we have thread children, set TCB_EXITING and don't clear the TCB.
3025 (resume) [TCB_CLONE_THREAD]: Decrement parent's nclone_waiting.
3026 (detach) [TCB_CLONE_THREAD]: When calling resume, check all thread
3027 children of our parent that might be waiting for us too.
3028 [TCB_GROUP_EXITING] (handle_group_exit): New function.
3029 (trace) [TCB_GROUP_EXITING]: Use that in place of detach or droptcb.
3030
3031 Revamp -f support for Linux.
3032 * util.c [LINUX] (setbpt, clearbpt): New implementations that tweak
3033 the system call to be clone with CLONE_PTRACE set. Various new static
3034 helper functions.
3035 * process.c (internal_clone): Define also #ifdef SYS_clone2.
3036 Initialize TCPCHILD->parent field.
3037 [CLONE_PTRACE]: Don't do PTRACE_ATTACH here, because it's preattached.
3038 Check in case the new child is in the tcb already.
3039 (internal_fork) [LINUX]: Just call internal_clone.
3040 * strace.c (trace) [LINUX]: Under -f/-F, grok an unknown pid
3041 reporting to wait, put it in the TCB with TCB_ATTACHED|TCB_SUSPENDED.
3042
3043 * linux/x86_64/syscallent1.h (sys_oldlstat): #define as printargs.
3044
3045 * file.c [LINUX]: #undef st_[amc]time in case they are macros.
3046
3047 * Makefile.am (AM_CFLAGS): New variable, define to $(WARNFLAGS).
3048
3049 * Makefile.am (EXTRA_DIST): Remove debian/postinst and debian/prerm.
3050
Wichert Akkerman5a9b0862003-01-08 23:44:36 +000030512003-01-09 Wichert Akkerman <wichert@deephackmode.org>
3052
3053 * debian/postinst, debian/prerm: removed, /usr/doc symlink is no
3054 longer used
3055 * debian/rules: no longer install postinst and prerm
Wichert Akkerman136bbb12003-01-08 23:46:03 +00003056 * debian/control: do not end summary with full stop (lintian)
Wichert Akkerman5a9b0862003-01-08 23:44:36 +00003057
Roland McGratha83c22f2002-12-30 09:13:30 +000030582002-12-30 Roland McGrath <roland@redhat.com>
3059
Roland McGrath2850c7e2002-12-30 10:46:02 +00003060 * Makefile.am (bin_SCRIPTS): New variable, list strace-graph.
3061 (EXTRA_DIST): Add missing files.
3062
3063 * configure.ac: Fix asm/sigcontext.h check to include prerequisite.
3064
3065 * syscall.c (qualify_one): New function.
3066 (qual_options): Replace lookup field with qualify, update initializer.
3067 (qualify): Update caller.
3068 (qual_signal, qual_fault, qual_desc): Rewritten from lookup_*.
3069 (qual_syscall): Rewritten lookup_syscall, match name more than once.
3070 Fixes RH#70579, bites IA64 -efoo when foo exists on IA32.
3071
Roland McGrath692b68a2002-12-30 09:33:32 +00003072 * version.c (version): Make const, bump to 4.4.90.
3073 * strace.c: Update decl.
3074
3075 * Makefile.am [LINUX && X86_64]: Remove cruft.
3076 * linux/x86_64/errnoent1.h: New file.
3077 * linux/x86_64/ioctlent1.h: New file.
3078 * linux/x86_64/signalent1.h: New file.
3079 * linux/x86_64/syscallent1.h: New file.
3080 * linux/x86_64/i386-headers.diff: File removed.
3081 * linux/x86_64/makeheaders.sh: File removed.
3082 * linux/x86_64/Makefile.in: File removed.
3083
Roland McGratha83c22f2002-12-30 09:13:30 +00003084 * linux/syscallent.h [X86_64]: Disable sanity checks, subcall stuff is
3085 already broken for 32-bit personality on x86-64.
3086
Roland McGrath30d47f12002-12-30 00:51:51 +000030872002-12-29 Roland McGrath <roland@redhat.com>
3088
Roland McGratha83c22f2002-12-30 09:13:30 +00003089 * configure.ac, Makefile.am: Punt subdirs, handle everything here.
3090 * linux/Makefile.am: File removed.
3091 * freebsd/Makefile.am: File removed.
3092 * sunos4/Makefile.in: File removed.
3093 * svr4/Makefile.in: File removed.
3094
Roland McGrath30d47f12002-12-30 00:51:51 +00003095 * linux/alpha/Makefile.in: File removed.
3096 * linux/hppa/Makefile.in: File removed.
3097 * linux/ia64/Makefile.in: File removed.
3098 * linux/powerpc/Makefile.in: File removed.
3099 * linux/s390/Makefile.in: File removed.
3100 * linux/s390x/Makefile.in: File removed.
3101
31022002-12-26 Roland McGrath <roland@redhat.com>
3103
3104 * syscallent.sh: Grok three flavors of #define line, uniquify.
3105 * linux/hppa/syscallent.sh: File removed.
3106 * linux/powerpc/syscallent.sh: File removed.
3107
3108 * linux/Makefile.am: New file.
3109 * linux/Makefile.in: File removed.
3110 * freebsd/Makefile.am: New file.
3111 * freebsd/i386/Makefile.am: New file.
3112 * freebsd/i386/Makefile.in: File removed.
3113
31142002-12-22 Roland McGrath <roland@redhat.com>
3115
3116 Update to Autoconf 2.57, and Automakify with version 1.7.
3117 * Makefile.am: New file.
3118 * Makefile.in: File removed.
3119 * configure.in: Moved to ...
3120 * configure.ac: ... here. Update for Autoconf 2.5x and Automake.
3121 * aclocal.m4: Moved to ...
3122 * acinclude.m4: ... here. Update for Autoconf 2.5x.
Roland McGratha83c22f2002-12-30 09:13:30 +00003123 * acconfig.h: File removed.
Roland McGrath30d47f12002-12-30 00:51:51 +00003124 * AUTHORS: New file, makes automake happy.
3125 * autogen.sh: File removed.
3126 * README-CVS: Update to recommend autoreconf instead.
3127 * file.c: HAVE_ST_* -> HAVE_STRUCT_STAT_ST_*.
3128 * net.c: HAVE_SIN6_SCOPE_ID -> HAVE_STRUCT_SOCKADDR_IN6_SIN6_SCOPE_ID,
3129 HAVE_MSG_CONTROL -> HAVE_STRUCT_MSGHDR_MSG_CONTROL.
3130 * strace.c: *_DECLARED -> HAVE_DECL_*
3131 * stream.c: HAVE_* -> HAVE_STRUCT_*
3132
3133 * linux/Makefile.in (ioctldefs.h ioctls.h): Use $(SHELL) instead of
3134 sh, and use $(srcdir) to find the script.
3135 * linux/powerpc/Makefile.in (ioctlent.raw): Find ioctlent.sh in ../.
3136 (ioctlsort.o): Use ../ioctlsort.c, not ../../ioctlsort.c.
3137 * linux/x86_64/Makefile.in (headers): Renamed to all.
3138 * linux/alpha/Makefile.in: Add empty install target.
3139 * linux/x86_64/Makefile.in: Likewise.
3140 * linux/powerpc/Makefile.in: Likewise.
3141 * linux/Makefile.in: Likewise.
3142
Roland McGrath85960152002-12-30 00:26:24 +000031432002-12-26 Roland McGrath <roland@redhat.com>
3144
3145 * defs.h [LINUX && MIPS] (MAX_QUALS): Set to 5000, not 4999.
3146 From Daniel Jacobowitz <drow@false.org>.
3147
Roland McGrathc25a62f2002-12-21 23:25:26 +000031482002-12-21 Roland McGrath <roland@redhat.com>
3149
Roland McGrathdf211902002-12-22 03:34:55 +00003150 * linux/syscallent.h: Add some new 2.5 syscall names.
3151 Now clone takes 5 args.
3152 * process.c [LINUX] (clone_flags): Update with 2.5 flag bits.
3153 [LINUX] (sys_clone): Print new args.
3154 * mem.c (print_ldt_entry): Make global.
3155
3156 * linux/syscall.h [I386 || IA64] (SYS_socket_subcall): Bump to 300 for
3157 safety, since up to 260 are already used in 2.5 kernels.
3158 * linux/syscallent.h: Update the table.
3159 * linux/ia64/syscallent.h: Likewise.
3160
Roland McGrathc25a62f2002-12-21 23:25:26 +00003161 * syscall.c (force_result): New function.
3162 * process.c (internal_wait): Handle ECHILD exit from wait call with
3163 WNOHANG flag set; force the return value to 0 in the inferior when it
3164 has live children we are tracing.
Roland McGrath044c8d22002-12-22 03:36:03 +00003165 * NEWS: Mention the bug fix.
Roland McGrathc25a62f2002-12-21 23:25:26 +00003166
Roland McGrath13f0b432002-12-17 10:48:09 +000031672002-12-17 Roland McGrath <roland@redhat.com>
3168
Roland McGrathf57204d2002-12-18 04:36:59 +00003169 * linux/ia64/syscallent.h: Remove placeholders 275-298 to catch up
3170 with linux/syscallent.h additions.
3171
Roland McGrath29f554f2002-12-18 04:16:31 +00003172 * strace.c (tcbtab): Make this a pointer to pointers, not an array.
3173 (tcbtabsize): New variable.
3174 (main): Initialize them using dynamic allocation.
3175 (alloctcb, main): Use tcbtabsize in place of MAX_PROCS; indirect.
3176 (pid2tcb, cleanup): Likewise.
3177 [USE_PROCFS] (pollv): Make this a pointer, not an array; make static.
3178 (rebuild_pollv): Dynamically allocate the vector.
3179 * defs.h (tcbtab): Update decls.
3180 (MAX_PROCS): Macro removed, no more static limit on this.
3181 * process.c (fork_tcb): New function.
3182 (internal_clone, internal_fork): Use it instead of checking nprocs.
3183
Roland McGrath13f0b432002-12-17 10:48:09 +00003184 * strace.c (detach) [LINUX]: Use __WALL (or a second try with __WCLONE)
3185 in wait after sending SIGSTOP.
3186
Roland McGrath915742f2002-12-17 04:51:02 +000031872002-12-16 Roland McGrath <roland@redhat.com>
3188
Roland McGratha581c512002-12-17 05:10:47 +00003189 * signal.c (sprintsigmask): Increase static buffer size to account for
3190 worst possible case. Reported by Daniel Jacobowitz <drow@false.org>.
3191
Roland McGrath915742f2002-12-17 04:51:02 +00003192 * process.c [LINUX] (wait4_options): Fix __WCLONE value. Add
3193 __WNOTHREAD and __WALL.
3194
3195 * strace.c (trace) [LINUX]: Only check errno if wait4 actually fails,
3196 so we don't repeat a wait and thus drop a status. Fixes RH#62591.
3197
Roland McGrath36d87c22002-12-15 23:59:13 +000031982002-12-15 Roland McGrath <roland@redhat.com>
3199
Roland McGrath32be5972002-12-16 20:41:34 +00003200 * process.c (setarg) [POWERPC]: Support it.
3201
3202 * util.c [POWERPC] (LOOP): Fix value, now 0x48000000 (0: b 0b).
3203 Old value was bogus, not even a proper instruction.
3204 From Guy M. Streeter <streeter@redhat.com>.
3205
3206 * strace.c (main) [! USE_PROCFS]: Always reset SIGCHLD to SIG_DFL.
3207
3208 * configure.in: Don't check for putpmsg.
3209 * stream.c (sys_getpmsg, sys_putpmsg): Make these conditional on
3210 #ifdef SYS_*, rather than on HAVE_PUTPMSG.
3211
Roland McGrath2fe77222002-12-16 09:54:16 +00003212 * aclocal.m4 (AC_STAT64): Include <linux/types.h> before <asm/stat.h>
3213 in test. Test our own #ifdef LINUX rather than predefined `linux'.
3214
Roland McGrath36d87c22002-12-15 23:59:13 +00003215 * linux/powerpc/syscallent.h: Use sys_llseek for _llseek.
3216 * linux/sparc/syscallent.h: Likewise.
3217 * linux/hppa/syscallent.h: Likewise.
3218
3219 * syscall.c (syscall_enter) [LINUX && POWERPC]: Define PT_ORIG_R3 if
3220 not defined, since <asm/ptrace.h> defines it only #ifdef __KERNEL__.
3221 * process.c: Likewise.
3222
3223 * desc.c (sys_osf_select): Add missing return type.
3224
3225 * syscall.c (trace_syscall): Use strerror, not sys_errlist/sys_nerr.
3226
3227 * linux/ia64/syscallent.h: Remove macros for sys_delete_module,
3228 sys_nanosleep, both already in linux/dummy.h.
3229
3230 * syscall.c (get_scno): Move static `currpers' inside #ifdef X86_64.
3231 (trace_syscall): Fix return without value.
3232
3233 * linux/syscallent.h: Update table with names of new syscalls
3234 io_setup, io_destroy, io_getvents, io_submit, io_cancel.
3235 * linux/ia64/syscallent.h: Likewise.
3236 * linux/powerpc/syscallent.h: Likewise.
3237
3238 * signal.c [LINUX && I386]: Provide SA_RESTORER constant if not
3239 defined. If the bit is set, print the sa_restorer field of sigaction.
3240
3241 * mem.c: Add sys_{get,set}_thread_area.
3242 * linux/syscall.h: Declare them.
3243 * linux/syscallent.h: Update the table for these.
3244 * linux/dummy.h (sys_modify_ldt): Define only #ifndef I386.
3245 (sys_get_thread_area, sys_set_thread_area): New macros #ifndef I386.
3246
3247 * configure.in: Check for linux/xattr.h and linux/futex.h headers.
3248 * linux/syscall.h: Add sys_* decls for new syscalls getpmsg, putpmsg,
3249 readahead, sendfile64, setxattr, fsetxattr, getxattr, fgetxattr, int
3250 listxattr, flistxattr, removexattr, fremovexattr, sched_setaffinity,
3251 sched_getaffinity, futex.
3252 * linux/syscallent.h: Update the table.
3253 * io.c: Add sys_sendfile64.
3254 * file.c: Add sys_readahead, sys_*xattr.
3255 * process.c: Add sys_futex, sys_*affinity.
3256
3257 * linux/syscall.h (SYS_socket_subcall): Define to 256 on all machines.
3258 (SYS_ipc_subcall): Always SYS_socket_subcall + SYS_socket_nsubcalls.
3259 * linux/syscallent.h: Update the table for socket and ipc subcalls.
3260
Michal Ludvig882eda82002-11-11 12:50:47 +000032612002-11-09 Heiko Carstens <heiko.carstens@de.ibm.com>
3262
3263 Bugfix for s390/s390x:
3264 * syscall.c: Fixed scno derivation for s390/s390x.
3265
Michal Ludvig17f8fb32002-11-06 13:17:21 +000032662002-11-06 Michal Ludvig <mludvig@suse.cz>
3267
Michal Ludvig39c0e942002-11-06 14:00:12 +00003268 Merged patch from Steven J. Hill <sjhill@realitydiluted.com>
3269 to allow the compilation of a native MIPS strace.
3270
32712002-11-06 Michal Ludvig <mludvig@suse.cz>
3272
Roland McGrath36d87c22002-12-15 23:59:13 +00003273 From Marty Leisner <leisner@rochester.rr.com>,
Michal Ludvig882eda82002-11-11 12:50:47 +00003274 rewritten by mludvig:
Michal Ludvig17f8fb32002-11-06 13:17:21 +00003275 * strace.c (not_failing_only): New.
3276 (usage): Added -z switch description.
3277 (main): Added -z switch parsing to not_failing_only variable.
3278 * syscall.c (trace_syscall): Added not_failing_only handling.
3279
Michal Ludvigeb818f02002-10-09 09:16:22 +000032802002-10-08 Heiko Carstens <heiko.carstens@de.ibm.com>
3281
3282 Missing complete changelog for 2002-10-07 commit:
3283 * Makefile.in: Added linux/s390, linux/s390x to ALL_SUBDIRS.
3284 * acconfig.h: New define for s390x.
3285 * config.sub: Added missing define for s390 and new one for s390x.
3286 * configure.in: Added new define for s390x.
3287 * file.c: Added missing #undef dirent64 and new defines for s390x.
3288 * linux/s390: New directory.
3289 * linux/s390/Makefile.in: New file.
3290 * linux/s390/errnoent.h: New file.
3291 * linux/s390/ioctlent.h: New file.
3292 * linux/s390/signalent.h: New file.
3293 * linux/s390/syscallent.h: New file.
3294 * linux/s390x: New directoy.
3295 * linux/s390x/Makefile.in: New file.
3296 * linux/s390x/errnoent.h: New file.
3297 * linux/s390x/ioctlent.h: New file.
3298 * linux/s390x/signalent.h: New file.
3299 * linux/s390x/syscallent.h: New file.
3300 * linux/syscall.h: Added sys_mincore() prototype and added new
3301 s390x defines.
3302 * process.c: Added s390x defines.
3303 (change_syscall): Changed handling for s390.
3304 (setarg): Added missing s390/s390x code in setarg().
3305 * signal.c: Added s390x define.
3306 (sys_sigreturn): Bugfix in s390/s390x code (wrong number of
3307 arguments to sprintsigmask()).
3308 * stream.c (internal_stream_ioctl): Changed int cast to long cast,
3309 since printstr() expects a long.
3310 * syscall.c (decode_subcall): Changed several variables to be long
3311 instead of int to match 64 bit requirements. Added s390x defines.
3312 (syscall_enter): Changed upeek() call to match s390 and s390x
3313 requirements.
3314 * util.c: Added s390x defines.
3315
Michal Ludvig10a88d02002-10-07 14:31:00 +000033162002-10-07 Michal Ludvig <mludvig@suse.cz>
3317
3318 Merged s390x port by Heiko Carstens <Heiko.Carstens@de.ibm.com>
3319 and bugfixes to s390 by D.J. Barrow.
3320
Michal Ludvig53b320f2002-09-23 13:30:09 +000033212002-09-23 Michal Ludvig <mludvig@suse.cz>
3322
Roland McGrath36d87c22002-12-15 23:59:13 +00003323 Merged x86-64 port by Andi Kleen <ak@suse.de>
Michal Ludvig0e035502002-09-23 15:41:01 +00003324 and Michal Ludvig <mludvig@suse.cz>
3325 * Makefile.in: New target 'headers'. Failure ignored.
3326 * acconfig.h: New defines for x86-64.
3327 * configure.in: Ditto.
3328 * defs.h: Ditto.
3329 * file.c: Ditto.
3330 * signal.c: Ditto.
3331 * process.c: Added support for x86-64.
3332 * util.c: Ditto.
3333 * syscall.c: Ditto + added automatic personality switching.
3334 * linux/syscall.h: Ditto.
3335 * linux/x86_64: New directory.
3336 * linux/x86_64/Makefile.in: New file.
3337 * linux/x86_64/gentab.pl: Ditto.
3338 * linux/x86_64/i386-headers.diff: Ditto.
3339 * linux/x86_64/makeheaders.sh: Ditto.
3340 * linux/x86_64/syscallent.h: Ditto.
3341 * mem.c (print_mmap): Always print arg[4] as int.
3342
33432002-09-23 Michal Ludvig <mludvig@suse.cz>
3344
Michal Ludvig53b320f2002-09-23 13:30:09 +00003345 * configure.in: Fix regular expressions.
Roland McGrath36d87c22002-12-15 23:59:13 +00003346 * linux/syscall.h: Added missing braces in prototype of
Michal Ludvig53b320f2002-09-23 13:30:09 +00003347 sys_getdents64().
3348 * file.c: Use '#ifdef LINUX' instead of '#ifdef linux'.
3349 (struct fileflags): Made extern to inhibit compiation warnings.
3350 (sys_getdents64): Merged LINUX and SVR4 part.
Roland McGrath36d87c22002-12-15 23:59:13 +00003351 * syscall.c (get_scno): Split multiline string into two distinct
Michal Ludvig53b320f2002-09-23 13:30:09 +00003352 strings.
3353
John Hughes2c4e3a82002-05-24 10:19:44 +000033542002-05-24 John Hughes <john@calva.com>
3355
3356 * stream.h, net.h: Avoid possible infinite loop caused by
3357 unsigned arithmetic in preceeding change.
3358
John Hughesb6643082002-05-23 11:02:22 +000033592002-05-23 John Hughes <john@calva.com>
3360
John Hughes38ae88d2002-05-23 11:48:58 +00003361 * acconfig.h: Add HAVE_OPTHDR and HAVE_T_OPTHDR defines.
3362
3363 * aclocal.m4: Add tests for struct opthdr in sys/socket.h and
3364 struct t_opthdr in sys/tiuser.h, define HAVE_OPTHDR and HAVE_T_OPTHDR
3365 if found.
3366
3367 * configure.in: use tests for struct opthdr and struct t_opthdr.
3368
3369 * defs.h: add new function print_sock_optmgmt.
3370
3371 * io.c: add hack that lets ioctl decode functions set auxilliary
3372 string return.
3373
3374 * stream.c: better decoding for timod ioctls.
3375
3376 * net.c: add function print_sock_optmgmt, used by timod ioctl
3377 decoding functions in stream.c.
3378
33792002-05-23 John Hughes <john@calva.com>
3380
John Hughescde80ab2002-05-23 11:19:05 +00003381 * acconfig.h: Make autoheader happy about Linux/SuperH
3382
33832002-05-23 John Hughes <john@calva.com>
3384
John Hughesb6643082002-05-23 11:02:22 +00003385 * strace.c: Get rid of warning if not using POLL_HACK
3386
John Hughes93f7fcc2002-05-22 15:46:49 +000033872002-05-22 John Hughes <john@calva.com>
3388
3389 * net.c: Simplify {get,set}sockopt, decode SO_LINGER, cope with
3390 options that are not just ints, cope with systems that don't
3391 #define SOL_TCP and so on.
3392
John Hughesd870b3c2002-05-21 11:24:18 +000033932002-05-21 John Hughes <john@calva.com>
3394
3395 * strace.c: Fix warning if POLL_HACK is used.
3396
John Hughesc61eb3d2002-05-17 11:37:50 +000033972002-05-17 John Hughes <john@calva.com>
3398
John Hughes5eb78d52002-05-17 14:04:24 +00003399 * svr4/ioctlent.sh: Some defines on UW come with too many spaces.
3400
34012002-05-17 John Hughes <john@calva.com>
3402
John Hughese9224782002-05-17 13:58:24 +00003403 * svr4/ioctlent.sh: Cope with #defines wrapped in #ifdefs.
3404
34052002-05-17 John Hughes <john@calva.com>
3406
John Hughesfd15cb32002-05-17 11:41:35 +00003407 * stream.c: tidy up output a little.
3408
34092002-05-17 John Hughes <john@calva.com>
3410
John Hughesc61eb3d2002-05-17 11:37:50 +00003411 * process.c, svr4/dummy.h, svr4/syscall.h: decode arguments
3412 to procpriv syscall.
3413
Wichert Akkermanccef6372002-05-01 16:39:22 +000034142002-05-01 Wichert Akkerman <wichert@deephackmode.org>
3415
3416 * configure.in, defs.h, process.c, sock.c, syscall.c, util.c: merge
3417 patch from Greg Banks <gbanks@pocketpenguins.com> for Linux/SuperH
3418 support
3419
Wichert Akkermanb0c598f2002-04-01 12:48:06 +000034202002-04-01 Wichert Akkerman <wichert@deephackmode.org>
3421
Wichert Akkermaneb8ebda2002-04-01 17:48:02 +00003422 * strace.c: close tcp->outf in droptcb()
3423
34242002-04-01 Wichert Akkerman <wichert@deephackmode.org>
3425
Wichert Akkermanb0c598f2002-04-01 12:48:06 +00003426 * net.c: decode packet options
3427
Wichert Akkermand321ff92002-03-31 18:45:45 +000034282002-03-31 Wichert Akkerman <wichert@deephackmode.org>
3429
Wichert Akkermaned2c74d2002-03-31 20:16:02 +00003430 * linux/{alpha,hppa,ia64,mips,powerpc,sparc}/syscallent.h: regenerated
3431
34322002-03-31 Wichert Akkerman <wichert@deephackmode.org>
3433
Wichert Akkermand321ff92002-03-31 18:45:45 +00003434 * debian/*: added
Wichert Akkerman7ab47b62002-03-31 19:00:02 +00003435 * linux/syscallent.h: fix typo and add the reserved stream syscalls
3436 * defs.h, file.c, io.c: fix signed/unsigned issues
Wichert Akkerman4527dae2002-03-31 19:03:29 +00003437 * syscall.c: check for negative u_errors
Wichert Akkerman235b0ff2002-03-31 19:08:04 +00003438 * cvsbuild: renamed to autogen.sh
Wichert Akkermand321ff92002-03-31 18:45:45 +00003439
Wichert Akkerman8b8ff7c2001-12-27 22:27:30 +000034402001-12-17 Wichert Akkerman <wakkerma@debian.org>
3441
3442 * net.c: add new TCP socket options
3443
John Hughesfa519572001-10-26 08:05:49 +000034442001-10-26 John Hughes <john@calva.com>
3445
3446 * svr4/ioctlent.sh: Cope with #define lines containing
3447 comments that terminate on subsequent lines. Used to
3448 comment out subsequent ioctls!
3449
Wichert Akkerman9fbd0dd2001-10-26 05:20:37 +000034502001-10-25 Wichert Akkerman <wakkerma@debian.org>
3451
3452 * linux/ioctlent.h: regenerated using current scripts so
3453 term ioctls are included
3454
John Hughes19e49982001-10-19 08:59:12 +000034552001-10-19 John Hughes <john@Calva.COM>
3456
3457 * strace.c(proc_open): On SVR4 only trace the syscalls,
3458 signals and faults we care about.
3459
John Hughes42162082001-10-18 14:48:26 +000034602001-10-18 John Hughes <john@Calva.COM>
3461
John Hughesc0c5ac82001-10-19 07:32:14 +00003462 * acconfig.h: Add HAS_SIGINFO_T.
3463 * aclocal.m4: add check for siginfo_t in signal.h.
3464 * configure.in: use check for siginfo_t.
3465 * defs.h: if HAVE_SIGINFO_T the declare printsiginfo. On SVR4
3466 allow access to siginfo when signal recieved.
3467 * process.c: Remove SVR4 only version of printsiginfo.
3468 * signal.c: merge SVR4 and LINUX versions of printsiginfo.
3469 * strace.c: on SVR4 print siginfo when signal recieved.
3470
34712001-10-18 John Hughes <john@Calva.COM>
3472
John Hughes2d8b2c52001-10-18 14:52:24 +00003473 * system.c(sys_ssisys): handle return values for ssisys
3474
34752001-10-18 John Hughes <john@Calva.COM>
3476
John Hughes42162082001-10-18 14:48:26 +00003477 * signal.c: handle sigwait
3478 * svr4/dummy.c: Move sigwait to done
3479 * svr4/syscall.h: handle sigwait
3480
John Hughes9cecf7f2001-10-16 10:20:22 +000034812001-10-16 John Hughes <john@Calva.COM>
3482
John Hughes0aadba42001-10-16 18:19:52 +00003483 * system.c(sys_ssisys): decode some args for ssisys.
3484
34852001-10-16 John Hughes <john@Calva.COM>
3486
John Hughesaca07f32001-10-16 18:12:27 +00003487 * mem.c: MS_SYNC is zero, so must be first in xlat list.
3488
3489 * svr4/dummy.h: memcntl is much like mctl.
3490
34912001-10-16 John Hughes <john@Calva.COM>
3492
John Hughes9cecf7f2001-10-16 10:20:22 +00003493 * util.c (umovestr): UnixWare (svr4?) returns 0 when trying
3494 to read unmapped page. Make it possible to strace ksh.
3495
Wichert Akkerman7b3346b2001-10-09 23:47:38 +000034962001-10-03 David Mosberger <davidm@hpl.hp.com>
3497
3498 * process.c (internal_clone): Avoid race condition by clearing
3499 breakpoint after attaching to child.
3500
35012001-10-02 David Mosberger <davidm@hpl.hp.com>
3502
3503 * linux/ia64/syscallent.h: Define ia32 syscall numbers (originally
3504 by Don Dugger, with my refinements).
3505
3506 * linux/ia64/ioctlent.h: Regenerate and manually merge conflicting
3507 ioctls (TCGETS & SNDCTL_TMR_TIMEBASE, etc.).
3508
3509 * linux/ia64/Makefile.in (ioctldefs.h ioctls.h): Update for
3510 new ioctlent.h generation scheme.
3511
3512 * linux/syscall.h (sys_clone2): Declare.
3513 [IA64] Define ia32 socket, ipc, and extra syscall numbers.
3514
3515 * linux/ioctlent.sh (regexp): Also handle <asm/ioctls.h> so we
3516 don't miss the tty ioctls (unfortunately, some of the sound timer
3517 ioctls are in conflict with them!).
3518
3519 * util.c (setbpt) [IA64]: Add ia32 support (by Don Dugger).
3520 (clrbpt) [IA64]: Ditto.
3521
3522 * syscall.c (internal_syscall): Handle SYS_clone2, SYS32_wait4,
3523 and SYS32_exit.
3524 (get_scno): Get ia32 syscall number from r1 (orig eax) instead of
3525 r8 (eax). Handle TCB_WAITEXECVE.
3526 (syscall_fixup): Handle ia64.
3527 (syscall_enter): Fix argument fetching for ia64.
3528
3529 * strace.c [IA64 && LINUX]: Include <asm/ptrace_offsets.h>.
3530 (trace) [PT_GETSIGINFO]: Print signal address and pc if possible.
3531
3532 * process.c (tcp): New function.
3533 (change_syscall): Add support for ia64 linux.
3534 (sys_execve): Turn on TCB_WAITEXECVE for ia64 linux.
3535
3536 * desc.c (getlk): Cast l_len to "long long" to avoid warnings when
3537 type is narrower.
3538 * resource.c (sprintrlim64): Ditto.
3539
3540 * defs.h (TCB_WAITEXECVE) [IA64]: Define.
3541 [IA64]: Declare "ia32" variable.
3542
3543 * bjm.c: Do not include <linux/module.h>. It's not safe to include
3544 kernel headers. Declare the necessary constants and structures
3545 directly instead.
3546
35472001-10-01 David Mosberger <davidm@hpl.hp.com>
3548
3549 * signal.c (parse_sigset_t): New function.
3550 (sigishandled): Fix off-by-one bug by using parse_sigset_t() and
3551 avoiding relying on internal layout of sigset_t datastructure.
3552
35532001-04-26 David Mosberger <davidm@hpl.hp.com>
3554
3555 * linux/ia64/syscallent.h: Add getunwind().
3556
35572001-04-11 David Mosberger <davidm@hpl.hp.com>
3558
3559 * syscall.c (syscall_enter): Use PT_RBS_END instead of deprecated
3560 PT_AR_BSP. Pick up arguments starting with out0, which is not
3561 always the same as r32 (e.g., consider inlined syscalls).
3562
John Hughesa2278142001-09-28 16:21:30 +000035632001-09-28 John Hughes <john@Calva.COM>
3564
3565 * process.c: FreeBSD-CURRENT no longer has PT_READ_U, and anyway we
3566 were showing it as PT_WRITE_U! Fix from Maxime Henrion.
3567
John Hughes1fcb1d62001-09-18 15:56:53 +000035682001-09-18 John Hughes <john@Calva.COM>
3569
3570 * net.c: fix display of sockaddr structures, sometimes too many "}",
3571 sometimes too few. Fix suggested by Richard Kettlewell.
3572
Wichert Akkerman67e3e632001-08-19 11:43:17 +000035732001-08-19 Wichert Akkerman <wakkerma@debian.org>
3574
3575 * signal.c: do not include asm/sigcontext.h on IA64 since it gets
3576 the struct from bits/sigcontext.h already which signal.h includes.
3577
Wichert Akkerman7b96b572001-08-03 11:37:07 +000035782001-08-03 Wichert Akkerman <wakkerma@debian.org>
3579
Wichert Akkerman7c707a72001-08-03 21:54:08 +00003580 * linux/ioctlent.sh: change regexps so we catch sound ioctls as well in
3581 Linux
3582 * linux/Makefile.in: fix a few things so the ioctl list is generated
3583 properly
3584 * ioctl.c: remember to shift ioctl masks as well
3585
35862001-08-03 Wichert Akkerman <wakkerma@debian.org>
3587
Wichert Akkermancd6aefc2001-08-03 12:27:54 +00003588 * Linux/**/syscallent.h: synchronize section for fcntl and use sys_fcntl
3589 for sys_fcntl as well
3590
35912001-08-03 Wichert Akkerman <wakkerma@debian.org>
3592
Wichert Akkerman0b1120a2001-08-03 12:20:38 +00003593 * linux/hppa/syscallent.h: updated from Matthew Wilcox
3594
35952001-08-03 Wichert Akkerman <wakkerma@debian.org>
3596
Wichert Akkerman82b162e2001-08-03 11:51:28 +00003597 * process.c: seems Linux/IA64 changed register names on us, switch to
3598 using new names.
3599
36002001-08-03 Wichert Akkerman <wakkerma@debian.org>
3601
Wichert Akkerman54b4f792001-08-03 11:43:35 +00003602 * strace.c: set CLOEXEC flag for outputfile
3603
36042001-08-03 Wichert Akkerman <wakkerma@debian.org>
3605
Wichert Akkerman7b96b572001-08-03 11:37:07 +00003606 * linux/sparc/syscall.h, linux/sparc/syscallent.h: add some LFS calls
3607
Wichert Akkerman4f1bbbe2001-07-23 14:43:07 +000036082001-07-23 Wichert Akkerman <wakkerma@debian.org>
3609
3610 * configure.in: Support cross-compiling between architectures
3611
Wichert Akkerman0dc4fc92001-07-13 22:09:05 +000036122001-07-13 Wichert Akkerman <wakkerma@debian.org>
3613
3614 * configure.in: add S390 to architecture list
3615
John Hughes1d08dcf2001-07-10 13:48:44 +000036162001-07-10 John Hughes <john@Calva.COM>
3617
3618 * TODO, defs.h, io.h, net.c, strace.c, syscall.c, util.c: Merge fixes
3619 from Richard Kettlewell <rkettlewell@zeus.com> which add I/O dumping
3620 of args to readv/writev. Also gets rid of redundant printiovec
3621 routine from net.c (duplicate of tprint_iov in util.c).
3622
Wichert Akkerman688c7fc2001-07-02 16:53:25 +000036232001-07-02 Wichert Akkerman <wakkerma@debian.org>
3624
3625 * config.{guess,sub}: updated
3626
John Hughesaa09c6b2001-05-15 14:53:43 +000036272001-05-15 John Hughes <john@Calva.COM>
3628
John Hughes70c5e7a2001-05-15 15:09:14 +00003629 * signal.c: pass a pointer to sigmask to printsigmask from printcontext,
3630 it was just passing the sigmask (ucp->uc_sigmask).
3631
36322001-05-15 John Hughes <john@Calva.COM>
3633
John Hughesaa09c6b2001-05-15 14:53:43 +00003634 * util.c: Don't run off the end of valid memory in umovestr when
3635 USE_PROCFS. Important for FREEBSD systems (which seem to have an
3636 unmapped page just after the args/env area).
3637
John Hughes4e36a812001-04-18 15:11:51 +000036382001-04-18 John Hughes <john@Calva.COM>
3639
3640 * configure.in: test for sys/nscsys.h, the non-stop clusters includes.
3641 * process.c: handle rfork{1,all} and rexecve calls on non-stop clusters.
3642 * syscall.c: treat rfork{1,all} and fork{1,all} as fork like calls.
3643 Treat rexecve as an exec.
3644 * system.c: decode arguments to ssisys call on nsc systems.
3645 * svr4/dummy.h, svr4/syscall.h: now we handle rfork{1,all}, ssisys and
3646 rexecve calls.
3647
Wichert Akkerman35254402001-04-12 09:11:04 +000036482001-04-12 Wichert Akkerman <wakkerma@debian.org>
3649
3650 * process.c: fix cast for powerpc code
3651 * linux/powerpc/syscallent.h: update syscall list
3652 * README: fix address for the strace mailinglist
3653 * signal.c: switch to using /proc/<pid>/status on Linux so we can get
3654 the realtime signals as well
3655
Wichert Akkerman4ca31092001-04-10 10:28:43 +000036562001-04-10 Wichert Akkerman <wakkerma@debian.org>
3657
3658 * Merge patches from Maciej W. Rozycki:
3659 + util.c: add code to print PC for MIPS
3660 + linux/mips/syscallent.h: updated
3661 + system.c: formating fixes for sys_sysmips
Wichert Akkerman42080d82001-04-10 10:32:26 +00003662 + configure.in: test for yet more headers
3663 + stream.c: use configure-headertests instead of relying on OS hints
Wichert Akkerman4ca31092001-04-10 10:28:43 +00003664
Wichert Akkermand6b92492001-04-07 21:37:12 +000036652001-04-07 Wichert Akkerman <wakkerma@debian.org>
3666
Wichert Akkermane70bbe52001-04-07 21:47:30 +00003667 * NEWS: start 4.3.1 items
3668 * version.c: updated to say 4.3.1 (was still 4.2, oops!)
3669
36702001-04-07 Wichert Akkerman <wakkerma@debian.org>
3671
Wichert Akkermand6b92492001-04-07 21:37:12 +00003672 * configure.in: test for asm/sysmips.h and linux/utsname.h
3673 * linux/syscall.h: fix a typo for sys_sysmips
3674 * system.c: include asm/sysmips.h and linux/utsname.h if they exist,
3675 fix typo
3676
Wichert Akkerman4f043ec2001-03-31 16:25:58 +000036772001-03-31 Wichert Akkerman <wakkerma@debian.org>
3678
3679 * linux/mips/ioctlent.h: updated using new Linux ioctl setup
3680
36812001-03-31 Wichert Akkerman <wakkerma@debian.org>
Wichert Akkerman8aada672001-03-31 16:20:33 +00003682
3683 * linux/ia64/ioctlent.h: regenerated
3684
Wichert Akkerman29f0d052001-03-31 16:14:55 +000036852001-03-31 Wichert Akkerman <wakkerma@debian.org>
3686
Wichert Akkermancf715672001-03-31 16:16:57 +00003687 * linux/{alpha,ia64,powerpc}/ioctlent.sh: removed, all archs use the
3688 general Linux ioctlent.sh
3689
36902001-03-31 Wichert Akkerman <wakkerma@debian.org>
3691
Wichert Akkerman29f0d052001-03-31 16:14:55 +00003692 * linux/ioctlent.sh: add dir variable for location of kernel headers
3693
Wichert Akkermanbbf59e92001-03-29 17:43:19 +000036942001-03-29 Wichert Akkerman <wakkerma@debian.org>
3695
Wichert Akkerman00cd74c2001-03-30 16:20:27 +00003696 * linux/ia64/ioctlent.h: updated using new Linux ioctl setup
3697
36982001-03-29 Wichert Akkerman <wakkerma@debian.org>
3699
Wichert Akkerman10767782001-03-29 19:04:25 +00003700 * linux/powerpc/ioctlent.h: updated using new Linux ioctl setup
3701
37022001-03-29 Wichert Akkerman <wakkerma@debian.org>
3703
Wichert Akkermand7fb2062001-03-29 18:16:07 +00003704 * linux/hppa/ioctlent.h: updated using new Linux ioctl setup
3705
37062001-03-29 Wichert Akkerman <wakkerma@debian.org>
3707
Wichert Akkermanbbf59e92001-03-29 17:43:19 +00003708 * linux/alpha/ioctlent.h: updated using new Linux ioctl setup
3709
Wichert Akkerman2f1d87e2001-03-28 14:40:14 +000037102001-03-28 Wichert Akkerman <wakkerma@debian.org>
3711
Wichert Akkerman00a82ee2001-03-28 20:29:17 +00003712 * configure.in: use sparc* so we can compile on sparc64 as well
3713 * process.c, syscall.c: work around double define of fpq, fq and fpu
3714 structs on Linux/sparc, and use regs instead of pt_regs
3715 * don't use asm/sigcontext.h on Linux/sparc
3716
37172001-03-28 Wichert Akkerman <wakkerma@debian.org>
3718
Wichert Akkermanfe8f65d2001-03-28 15:10:49 +00003719 * linux/sparc/ioctlent.h: updated using new Linux ioctl setup
3720
37212001-03-28 Wichert Akkerman <wakkerma@debian.org>
3722
Wichert Akkerman2f1d87e2001-03-28 14:40:14 +00003723 * strace.c: use __WALL as wait4 flag if it exists so we can properly
3724 trace threaded programs
3725
John Hughes8e075fb2001-03-27 13:57:48 +000037262001-03-27 John Hughes <john@Calva.COM>
3727
John Hughesb8a85a42001-03-28 08:05:27 +00003728 * aclocal.m4: add check for endianness of long long.
3729 * acconfig.h: add #define for LITTLE_ENDIAN_LONG_LONG.
3730 * configure.in: check for endianness of long long.
Wichert Akkerman8ab1a3c2001-03-28 14:27:23 +00003731 * defs.h: change LONG_LONG macro to work with either endianness of
John Hughesb8a85a42001-03-28 08:05:27 +00003732 long long.
3733
37342001-03-27 John Hughes <john@Calva.COM>
3735
John Hughes61563572001-03-27 16:47:36 +00003736 * net.c: Make compilable by SCO UDK compiler (doesn't like empty
3737 initialisation list for array).
3738
37392001-03-27 John Hughes <john@Calva.COM>
3740
John Hughes8e075fb2001-03-27 13:57:48 +00003741 * svr4/syscallent.h: ntp_adjtime entry was duplicated on Solaris
3742 systems - bad merge of Harald Boehme's patch by me.
3743
Wichert Akkerman072ea8a2001-03-27 14:46:05 +000037442001-03-27 Wichert Akkerman <wakkerma@debian.org>
3745
3746 * lots of files: add Linux/hppa support
3747
Wichert Akkerman407be9a2001-03-19 10:56:49 +000037482001-03-19 Wichert Akkerman <wakkerma@debian.org>
3749
3750 * linux/mips/syscallent.h: we can't have -1 nargs, change to 0
Wichert Akkermane3bf56a2001-03-19 11:05:17 +00003751 * linux/syscallent.h: not that syscalls 220 and 221 are used now
Wichert Akkerman6f2bbe22001-03-19 11:00:29 +00003752 * config.guess: updated
Wichert Akkerman407be9a2001-03-19 10:56:49 +00003753
Wichert Akkermana9667852001-03-17 17:26:34 +000037542001-03-17 Wichert Akkerman <wakkerma@debian.org>
3755
3756 * linux/ioclsort.c: new file
3757 * linux/ioctlent.sh: complete rewrite to use a more sane approach to get
3758 the ioctl list that doesn't involve attempting to #include all kernel
3759 headers
3760 * linux/.cvsignore: added ioctdefs.h and ioctls.h which are generated
3761 by the new ioctlent.sh
3762 * ioctl.c: only look at the number and type bits for linux, since
3763 ioctlent.sh no longer supplies the others
3764
John Hughes70623be2001-03-08 13:59:00 +000037652001-03-08 John Hughes <john@Calva.COM>
3766
John Hughescf1de752001-03-08 17:27:20 +00003767 * freebsd/syscalls.pl: On FreeBSD we must cope with COMPATibility syscalls,
3768 pretend they have names ending with "?" so that -e trace=stat (for
3769 example) will work.
3770 * freebsd/i386/syscallent.h: add ? to compatability syscalls.
3771 * freebsd/i386/syscall.h: consistency.
3772
37732001-03-08 John Hughes <john@Calva.COM>
3774
John Hughesc0fc3fd2001-03-08 16:10:40 +00003775 * acconfig.h: add new ST_xxx defines.
3776 * aclocal.m4: macros to check for more fields in struct stat.
3777 * configure.in: use new macros to check for fields in struct stat.
3778 * file.c: use new defines to replace #ifdef FREEBSD by #if HAVE_ST_xxx.
3779
37802001-03-08 John Hughes <john@Calva.COM>
3781
John Hughes0c79e012001-03-08 14:40:06 +00003782 * defs.h: rename wimpy get64 as powerful new LONG_LONG
3783 * file.c: use LONG_LONG
3784 * io.c: use LONG_LONG
3785 * mem.c use LONG_LONG
3786
37872001-03-08 John Hughes <john@Calva.COM>
3788
John Hughes70623be2001-03-08 13:59:00 +00003789 * acconfig.h: new #defines HAVE_LONG_LONG_OFF_T and HAVE_LONG_LONG_RLIM_T.
3790 * aclocal.m4: routines to check for long long off_t and rlim_t.
3791 * configure.in: check for long long off_t and rlim_t.
3792 * desc.c: if HAVE_LONG_LONG_OFF_T treat flock as flock64
3793 * file.c: if HAVE_LONG_LONG_OFF_T treat stat,lstat,fstat and lseek as 64
3794 bit versions.
3795 * io.c: if HAVE_LONG_LONG_OFF_T use 64 bit versions of pread and pwrite.
3796 * mem.c: if HAVE_LONG_LONG_OFF_T use 64 bit version of mmap
3797 * resource.c: if HAVE_LONG_LONG_OFF_T use 64 bit versions of getrlimit
3798 and setrlimit.
3799 * freebsd/syscalls.print: don't explicitly use 64 bit versions of calls,
3800 now done automaticaly for us.
3801 * freebsd/i386/syscall.h: ditto.
3802 * freebsd/i386/syscallent.h ditto.
3803
John Hughes5a826b82001-03-07 13:21:24 +000038042001-03-07 John Hughes <john@Calva.COM>
3805
John Hughesb8c9f772001-03-07 16:53:07 +00003806 * desc.c: On FreeBSD flock structure uses 64 bit offsets.
3807 * file.c: On FreeBSD use stat64 and pals instead of stat.
3808 * freebsd/syscalls.print: use stat64, lstat64 and fstat64.
3809 * freebsd/i386/syscall.h: ditto.
3810 * freebsd/i386/syscallent.h: ditto.
3811
38122001-03-07 John Hughes <john@Calva.COM>
3813
Roland McGrath90824ca2007-11-21 04:32:24 +00003814 * file.c: merge missing part of Harald Böhme's solaris patches,
John Hughese2f6d872001-03-07 16:03:20 +00003815 was only declaring sys_{stat64,lstat64,fstat64} on linux!
3816
38172001-03-07 John Hughes <john@Calva.COM>
3818
John Hughes9dec06c2001-03-07 14:47:19 +00003819 * svr4/dummy.h: fix multiple define warning on non LFS64 systems.
3820 * svr4/syscallent.h: pread/pwrite are TF calls.
3821
38222001-03-07 John Hughes <john@Calva.COM>
3823
John Hughes5a826b82001-03-07 13:21:24 +00003824 * defs.h: add ALIGN64 macro to cope with FreeBSD's strange insistence
3825 on alignment for off_t (64 bit) arguments. Also simplify get64 so
3826 we don't need to know endianness of long long.
3827 * file.c: FreeBSD now uses 64 bit versions of lseek, truncate,
3828 ftruncate, allows reduction in numvber of horrid #if's
3829 * io.c: FreeBSD now uses 64 bit versions of pread, pwrite.
3830 * mem.c: FreeBSD now uses 64 bit version of mmap.
3831 * freebsd/syscalls.print: use 64 bit versions of various syscalls.
3832 * freebsd/i386/syscall.h: use 64 bit versions of various syscalls.
3833 * freebsd/i386/syscallent.h: use 64 bit versions of various syscalls.
3834
John Hughes95ea9c02001-03-07 10:11:02 +000038352001-03-06 John Hughes <john@Calva.COM>
3836
John Hughes7737c8a2001-03-07 10:41:58 +00003837 * file.c: Implement truncate64 and ftruncate64
3838 * svr4/dummy.h: add dummies for truncate64 and ftruncate64 for non
3839 LFS64 systems.
3840 * svr4/syscall.h: add declarations for truncate64 and ftruncate64.
3841
38422001-03-06 John Hughes <john@Calva.COM>
3843
John Hughesc5249902001-03-07 10:39:06 +00003844 * freebsd/syscalls.pl: fix for FreeBSD 4.1 (new optional field in
3845 syscall master file).
3846
38472001-03-06 John Hughes <john@Calva.COM>
3848
John Hughesbb557232001-03-07 10:37:38 +00003849 * syscall.c: fix for FreeBSD 4.1 (SYS_semconfig has disappeared). Also
3850 zap incorrect syscall subarg range check.
3851
38522001-03-06 John Hughes <john@Calva.COM>
3853
John Hughescb8b69d2001-03-07 10:34:27 +00003854 * configure.in, defs.h, desc.c, file.c, io.c, mem.c, net.c, resource.c,
3855 signal.c, syscall.c, svr4/dummy.h, svr4/syscall.h, svr4/syscallent.h:
Roland McGrath90824ca2007-11-21 04:32:24 +00003856 merge Harald Böhme's solaris patches (_LFS64_LARGEFILE and kernel aio
John Hughescb8b69d2001-03-07 10:34:27 +00003857 mostly).
3858
38592001-03-06 John Hughes <john@Calva.COM>
3860
John Hughesbc4935a2001-03-07 10:28:50 +00003861 * dummy.h: add unimplemented UW sycalls
3862 * syscall.h: we can do settimeofday for UW, whopee!
3863 * syscallent.h: fix unimplemented UW syscalls
3864
38652001-03-06 John Hughes <john@Calva.COM>
3866
John Hughesc8f2e8a2001-03-07 10:26:17 +00003867 * aclocal.m4: look for pr_syscall in pr_lwp if we HAVE_MP_PROCFS
3868 * defs.h: add PR_SYSCALL to allow use of pr_lwp.pr_syscall if it exists.
3869 * syscall.c: use PR_SYSCALL instead of pr_syscall, fix up UnixWare code
3870 so it doesn't try to use pr_sysarg.
3871
38722001-03-06 John Hughes <john@Calva.COM>
3873
John Hughes091fe832001-03-07 10:15:39 +00003874 * aclocal.m4: on systems other than linux look for stat64 in sys/stat.h
3875 * file.c: handle xstat version _STAT64_VER, aka stat64.
3876
38772001-03-06 John Hughes <john@Calva.COM>
3878
John Hughes95ea9c02001-03-07 10:11:02 +00003879 * net.c: make sure SOL_ options are defined before using.
3880 * signal.c: declare sigset variable, only used on linux, inside #ifdef.
3881
Wichert Akkermanfa306182001-02-21 16:42:26 +000038822001-02-21 Wichert Akkerman <wakkerma@debian.org>
3883
3884 * net.c: fix format for printing Unix domain sockets
3885
Wichert Akkerman0cbfb322001-02-19 13:35:53 +000038862001-02-19 Wichert Akkerman <wakkerma@debian.org>
3887
3888 * linux/mips/syscallent.h: use new sys_sysmips
3889 * system.c: add sys_sysmips decoding
3890
Wichert Akkerman8c7122c2001-02-16 19:59:55 +000038912001-02-16 Wichert Akkerman <wakkerma@debian.org>
3892
Wichert Akkermanf1850652001-02-16 20:29:03 +00003893 * CREDITS: add Arkadiusz Miskiewicz <misiek@pld.org.pl> who
3894 submitted the IP6 scope ID updates
3895 * acconfig.h: add HAVE_SIN6_SCOPE_ID and HAVE_SIN6_SCOPE_ID_LINUX
3896 * aclocal.m4: add AC_SIN6_SCOPE_ID to check if sin6_scope_id is
3897 available
3898 * configure.in: check for if_indextoname function and sin6_scope_id
3899 * net.c: teach printsock about IP6 scope ids
3900
39012001-02-16 Wichert Akkerman <wakkerma@debian.org>
3902
Wichert Akkerman8c7122c2001-02-16 19:59:55 +00003903 * configure.in: test for netinet/tcp.h and netinet/udp.h existance
3904 * net.c: include netinet/tcp.h and netinet/udp.h if they exist
Wichert Akkermanedf2dcc2001-02-16 20:14:40 +00003905 * Makefile.in: use @mandir@ and @bindir@
Wichert Akkerman8c7122c2001-02-16 19:59:55 +00003906
Wichert Akkermanefdecac2000-11-26 03:59:21 +000039072000-11-26 Wichert Akkerman <wakkerma@debian.org>
3908
3909 * net.c: fix formating error in sys_setsockopt
3910 * net.c: add list of socketlayers and use that for [gs]etsockopt
3911
Roland McGrath36d87c22002-12-15 23:59:13 +000039122000-10-12 Wichert Akkerman <wakkerma@debian.org>
Wichert Akkermand856b992000-10-13 12:47:12 +00003913
3914 * time.c: use sys/timex.h so things compile with 2.2 kernels
3915 * stream.c: test if MSG_* constants are #defined
3916
Wichert Akkerman9b0c31d2000-09-03 21:56:29 +000039172000-09-03 Wichert Akkerman <wakkerma@debian.org>
3918
Wichert Akkermanefdecac2000-11-26 03:59:21 +00003919 * process.c: perform bpt trick for clone as well so we can get the
3920 pid of the child before it starts doing something
3921 * file.c: rename dirent64 struct to kernel_dirent64 so things compile
3922 again with newer libcs
3923 * test/clone.c: improve our testcase a bit
Roland McGrath90824ca2007-11-21 04:32:24 +00003924 * Merge another patch from Gäel Roualland with FreeBSD updates
Wichert Akkerman9b0c31d2000-09-03 21:56:29 +00003925
Wichert Akkermanbf79f2e2000-09-01 21:03:06 +000039262000-09-01 Wichert Akkerman <wakkerma@debian.org>
3927
Roland McGrath90824ca2007-11-21 04:32:24 +00003928 * lots of files: merge patch from Gaël Roualland to add
Wichert Akkermanefdecac2000-11-26 03:59:21 +00003929 support for FreeBSD.
Wichert Akkermanbf79f2e2000-09-01 21:03:06 +00003930
Wichert Akkerman16a03d22000-08-10 02:14:04 +000039312000-08-09 Wichert Akkerman <wakkerma@debian.org>
3932
Wichert Akkermand077c452000-08-10 18:16:15 +00003933 * file.c: update to reflect that st_ino suddenly became a long long
3934 in the in Linux 2.4.0-test6
3935
39362000-08-09 Wichert Akkerman <wakkerma@debian.org>
3937
Wichert Akkerman16a03d22000-08-10 02:14:04 +00003938 * test/clone.c: minor fixup
3939 * Another bunch of patches from John Hughes merged:
3940 * signal.c:
3941 + SVR4 printcontext(): sigset_t != sigset_t*
3942 + getcontext returns a value, so print on exit of syscall
3943 + add UC_FP to ucontext_flags for OS writers that can't spell
3944 + sys_signal(): special case SIG_{ERR,DFL,IGN}
3945 + decode_subcall(): only do subcall range checking when needed
3946 * bunch of UnixWare updates
3947 * aclocal.m4, acconfig.h, configure.in: add test for long long type
3948
Wichert Akkerman7987cdf2000-07-05 16:05:39 +000039492000-07-04 Wichert Akkerman <wakkerma@debian.org>
3950
3951 * net.c: add SOL_PACKET and SOL_RAW socket options, update
3952 SOL_IP and SOL_TCP
3953
Wichert Akkermanbd4125c2000-06-27 17:28:06 +000039542000-06-23 Wichert Akkerman <wakkerma@debian.org>
3955
3956 * strace.c: close outf before we exec a child process
3957
Wichert Akkerman43a74822000-06-27 17:33:32 +000039582000-06-09 Ulrich Drepper <drepper@redhat.com>
3959
3960 * configure.in: Don't link against libnsl on Linux, it's unnecessary.
3961 * defs.h (struct tcb): Make auxstr member const.
3962 * file.c (fsmagic): And many more magic numbers.
3963 * util.c: Don't include <linux/ptrace.h> for glibc 2.1 and up.
3964
Wichert Akkerman5ae21ea2000-05-01 01:53:59 +000039652000-04-26 Wichert Akkerman <wakkerma@debian.org>
3966
3967 * defs.h: balance #if/#endif again
3968 * system.c: fix return statements in sys_capget()
3969 * Merge updates from Topi Miettinen <Topi.Miettinen@nic.fi>:
3970 + file.c: add F_[SG]ETSIG to fcntl flags
3971 + strace.c: don't setre[gu]id if not needed
3972 + system.c: handle sys_reboot for Linux
3973 + term.c: add baudrate constants up to B4000000
3974 + linux/**/syscallent.h: note that munlockall has no arguments
3975
39762000-04-25 David Mosberger <davidm@hpl.hp.com>
3977
3978 * CREDITS: fix email address
3979 * process.c: handle PR_[GS]ET_UNALIGN and PR_[GS]ET_KEEPCAPS
3980 * signal.c: honour offset of sigconfig in sigframe structure for
3981 Linux/ia64
3982 * linux/ia64/syscallent.h: Add perfmonctl, pivotroot, mincore, and
3983 madvise syscalls.
3984 * syscall.c (syscall_enter): With Kevin's latest ptrace patches,
3985 AR_BSP points to the _end_ of the active register frame, so we need
3986 to adjust bsp by moving it back by the size of the active frame
3987 before using it.
3988
39892000-04-24 Wichert Akkerman <wakkerma@debian.org>
3990
3991 * process.c: add sparc support to change_syscall
3992
Wichert Akkerman10dfa562000-04-22 18:26:56 +000039932000-04-22 Wichert Akkerman <wakkerma@debian.org>
3994
3995 * linux/mips/syscallent.h: fix some typos
3996
Wichert Akkerman481e45b2000-04-17 07:42:31 +000039972000-04-14 Wichert Akkerman <wakkerma@debian.org>
3998
3999 * linux/mips/syscallent.h: added names for SVR4, SYSV, BSD4.3 and POSIX
4000 syscalls
4001
Wichert Akkermanfd89ced2000-04-13 17:06:09 +000040022000-04-13 Wichert Akkerman <wakkerma@debian.org>
4003
4004 * defs.h: Linux/MIPS uses syscalls up to >4k, so set MAX_QUALS to
4005 4999
4006
Wichert Akkermanc7926982000-04-10 22:22:31 +000040072000-04-09 Wichert Akkerman <wakkerma@debian.org>
4008
4009 * README-linux: updated to note that strace might not compile
4010 with development kernels
4011 * bjm.c: sys_query_module: check if malloc succeeds
4012 * system.c: sys_cap[gs]et(): check if malloc succeeds, only malloc once
4013 * linux/syscallent.h: updated for 2.3.99pre3
4014 * linux/alpha/syscallent.h: updated for 2.3.99pre3, add all osf syscalls
4015 even though Linux doesn't implement them
4016 * syscall.c: add global variables for MIPS registers as well
4017 * syscall.c: move global variables to before get_scno since that uses them
4018 * util.c: oops, misspelled defined
4019 * process.c: fix ptrace calls in change_syscall
4020 * mem.c: decode sys_madvise
4021 * Merge patch from Topi Miettinen <Topi.Miettinen@nic.fi>
4022 + add support for quotactl, fdatasync, mlock, mlockall, munlockall & acct
4023 + small fix for RLIMIT_* and RUSAGE_BOTH
4024 + enhace support for capget and capset
4025
Wichert Akkermanfaf72222000-02-19 23:59:03 +000040262000-02-19 Wichert Akkerman <wakkerma@debian.org>
4027
4028 * test/vfork.c: new file to test vfork traces
4029 * test/.cvsignore: new file
4030 * defs.h: Up maximum number of traced processed to 64
Roland McGrath36d87c22002-12-15 23:59:13 +00004031 * strace.c: Disable some debugging code from davidm
Wichert Akkermanfaf72222000-02-19 23:59:03 +00004032 * implement setarg for more architectures
4033 * implement change_syscall
4034
Wichert Akkerman2ee6e452000-02-18 15:36:12 +000040351999-12-27 Morten Welinder <terra@diku.dk>
4036
4037 * syscall.c (lookup_signal, lookup_desc): isdigit requires an
4038 _unsigned_ char parameter.
4039
Wichert Akkerman12f75d12000-02-14 16:23:40 +000040402000-02-14 Wichert Akkerman <wakkerma@debian.org>
4041
4042 * S390 updates
4043
Wichert Akkerman8b1b40c2000-02-03 21:58:30 +000040442000-02-03 Wichert Akkerman <wakkerma@debian.org>
4045
Wichert Akkerman5ae21ea2000-05-01 01:53:59 +00004046 * Merge Linux/ia64 patches
Wichert Akkerman8b1b40c2000-02-03 21:58:30 +00004047
Pavel Machek4dc3b142000-02-01 17:58:41 +000040482000-01-02 Pavel Machek <pavel@ucw.cz>
4049
4050 * probe if sys/poll.h exists in configure + minor cleanups
4051
4052 * syscall.c: split trace_syscall into few pieces to make code readable
4053
Wichert Akkerman30160182000-01-21 20:31:34 +000040542000-01-21 Wichert Akkerman <wakkerma@debian.org>
4055
4056 * Release version 4.2 to get the current updates out and so
4057 we can concentrate in finishing the clone support.
4058
Wichert Akkerman3ed6dc22000-01-11 14:41:09 +000040592000-01-11 Wichert Akkerman <wakkerma@debian.org>
4060
4061 * Add 1900 to tm_year in sprinttime
4062
Wichert Akkerman0396bdc1999-12-24 23:11:57 +000040631999-12-24 Wichert Akkerman <wakkerma@debian.org>
4064
4065 * file.c: protect printstat64 with STAT64 instead of linux so we can
4066 compile on Linux architectures that don't have it
Wichert Akkerman9148a3b1999-12-24 23:13:55 +00004067 * util.c: fix LOOP for ARM
Wichert Akkerman0396bdc1999-12-24 23:11:57 +00004068
4069Fri Dec 24 18:05:00 EST 1999
4070
Ulrich Drepperc921cb21999-12-24 08:03:35 +000040711999-12-23 Ulrich Drepper <drepper@cygnus.com>
4072
4073 * file.c: Use ugly libc_stat trick also for stat64.
4074 Implement sys_stat64, sys_fstat64, sys_lstat64, and printstat64.
4075 * process.c (internal_clone): Fix a few typos and add definitions to make
4076 it at least compile.
4077 * linux/syscall.h: Declare sys_stat64, sys_lstat64, and sys_fstat64.
4078 * linux/syscallent.h: Define table entries for sys_stat64, sys_lstat64,
4079 and sys_fstat64.
4080 * aclocal.m4: Define AC_STAT64.
4081 * acconfig.h: Define HAVE_STAT64.
4082 * configure.in: Add AC_STAT64.
4083
Wichert Akkerman4dc8a2a1999-12-23 14:20:14 +00004084Thu Dec 23 15:01:37 CET 1999 Wichert Akkerman <wakkerma@debian.org>
4085
4086 * Merge patch from ftp://oss.software.ibm.com/linux390/ to add
4087 support for Linux on the IBM S/390 architecture
Wichert Akkerman7a0b6491999-12-23 15:08:17 +00004088 * process.c: add internal_clone(), currently only shows the options
4089 * syscall.c: use internal_clone to handle SYS_clone
Wichert Akkerman4dc8a2a1999-12-23 14:20:14 +00004090
4091Mon Dec 20 00:27:50 CET 1999 Wichert Akkerman <wakkerma@debian.org>
4092
4093 * Rewrite mmap-handling to support mmap2 on Linux
4094
Wichert Akkermane5be0de1999-12-14 10:46:18 +00004095Tue Dec 14 11:35:16 CET 1999 Wichert Akkerman <wakkerma@debian.org>
4096
4097 * Note that Linux can handle sys_semop() as well
4098
Wichert Akkerman4dc8a2a1999-12-23 14:20:14 +00004099Tue Nov 30 11:05:26 CET 1999 Wichert Akkerman <wakkerma@debian.org>
4100
4101 * Include linux/in6.h for glibc2.0 and older
4102
Wichert Akkermanea78f0f1999-11-29 15:34:02 +00004103Mon Nov 29 16:33:04 CET 1999 Wichert Akkerman <wakkerma@debian.org>
4104
4105 * Merge patches from John Hughes to make configure support UnixWare
4106
Wichert Akkerman9123ac81999-11-27 21:58:20 +00004107Sat Nov 27 21:38:17 CET 1999 Wichert Akkerman <wakkerma@debian.org>
4108
4109 * Enhance sys_query_module
4110
Wichert Akkermane4aafd41999-11-26 09:54:08 +00004111Fri Nov 26 10:51:55 CET 1999 Wichert Akkerman <wakkerma@debian.org>
4112
4113 * Patches from John Hughes:
4114 + cosmectic fix in sys_getpmsg
Wichert Akkerman48214be1999-11-26 09:55:42 +00004115 + allow net.c to compile on systems without AF_INET6
4116 + Only use long_to_sigset on Linux systems
Wichert Akkerman46956571999-11-26 10:12:59 +00004117 + UnixWare treats sigmask_t and sigmask_t* as the same thing
Wichert Akkerman9dbf1541999-11-26 13:11:29 +00004118 + Add pollhack
Wichert Akkerman3377df71999-11-26 13:14:41 +00004119 + Parse mount arguments for UnixWare
4120 + ACL fixes for UnixWare
Wichert Akkermane4aafd41999-11-26 09:54:08 +00004121
Wichert Akkerman2a64b431999-11-26 00:29:05 +00004122Fri Nov 26 01:28:09 CET 1999 Wichert Akkerman <wakkerma@debian.org>
4123
4124 * Release 4.1 to get all the changes made out there
4125
Wichert Akkermanf5eeabb1999-11-18 17:09:47 +00004126Thu Nov 18 18:04:04 CET 1999 Wichert Akkerman <wakkerma@debian.org>
4127
4128 * Merge stracefork from Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>
4129 + Socket calls parsed better
4130 + bunch of alpha OSF syscalls added
4131 + Fix alpha 32/64 bit issues
4132
Wichert Akkerman2f473da1999-11-01 19:53:31 +00004133Mon Nov 1 20:52:08 CET 1999 Wichert Akkerman <wakkerma@debian.org>
4134
4135 * Move Linux kernelmodule-functions from system.c to bjm.c and
4136 remove duplicate for sys_create_module
Wichert Akkerman60456d71999-11-01 19:59:33 +00004137 * Linux MIPS updates:
4138 + Play with #ifdef's in net.c to get IPv6 right
4139 + Use printargs for vm86-syscall
Wichert Akkerman2f473da1999-11-01 19:53:31 +00004140
Wichert Akkermanf90da011999-10-31 21:15:38 +00004141Sun Oct 31 22:03:00 CET 1999 Wichert Akkerman <wakkerma@debian.org>
4142
4143 * Merge Linux mips patch from Florian Lohoff <flo@rfc822.org>
4144
Wichert Akkerman50524821999-10-10 22:40:07 +00004145Mon Oct 11 00:36:25 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
4146
4147 * Merge patch from Keith Owens <kaos@ocs.com.au> to sys_query_module
4148 and sys_delete_module correctly
4149
Wichert Akkerman15dea971999-10-06 13:06:34 +00004150Wed Oct 6 02:00:33 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
4151
4152 * Update cvsbuild to give a better error if autoconf isn't installed
4153 * Add test for linux/ptrace.h to configure
4154 * Since we define GNU_SOURCE in the Makefile we don't need to define
4155 USE_GNU in file.c anymore
4156
4157Fri Sep 10 04:35:16 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
4158
4159 * #define USE_GNU before including file.c so we get some extra O_* flags
4160
4161Tue Aug 31 16:27:21 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
4162
4163 * Add missing } in IPv6 output
4164
Wichert Akkerman7b27ba01999-08-30 23:26:53 +00004165Tue Aug 31 01:23:08 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
4166
4167 * Update copyright for strace-graph to BSD to be consistent with
4168 the rest of strace
4169
Wichert Akkerman9ce1a631999-08-29 23:15:07 +00004170Mon Aug 30 00:53:57 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
4171
4172 * Merge patch from Daniel Jacobowitz: KERN_JAVA_* and KERN_SECURELVL aren't
4173 defined for all kernelversions
Wichert Akkerman7b27ba01999-08-30 23:26:53 +00004174 * Add strace-graph, written by Richard Braakman <dark@xs4all.nl>
Wichert Akkerman9ce1a631999-08-29 23:15:07 +00004175
4176Thu Aug 19 13:10:15 CEST 1999 Jakub Jelinek <jj@ultra.linux.cz>
4177
4178 * linux/sparc/syscall.h: Declare create_module/init_module.
4179 * configure.in: Allow compilation in a different directory
4180 than the source one.
4181 * signal.c: Use asm/reg.h and struct regs instead of pt_regs
4182 so that we don't depend on asm/ptrace.h which clashes with
4183 glibc sys/ptrace.h.
4184 * util.c: Likewise.
4185 * syscall.c: Likewise.
4186
Wichert Akkerman5a777661999-08-04 16:03:49 +00004187Wed Aug 4 18:01:50 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
4188
4189 * Syscall 94 on Linux alpha is sys_poll
4190
Wichert Akkerman9ce1a631999-08-29 23:15:07 +00004191Sun Jul 25 14:38:33 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
4192
4193 * Merge in UnixWare patches from John Hughes <john@Calva.COM>
4194
Wichert Akkerman527a8051999-07-15 21:11:37 +00004195Thu Jul 15 23:00:32 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
4196
4197 * Merge patch from Maciej W. Rozycki <macro@ds2.pg.gda.pl>:
4198 + Correctly implement fix sys_createmodule (Linux)
4199 + Add limited handlig of sys_initmodule (Linux)
4200
Wichert Akkerman36915a11999-07-13 15:45:02 +00004201Tue Jul 13 17:07:50 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
4202
4203 * Add configure-test for sys/reg.h and use that
4204 * Use sys/reg.h instead of asm/ptrace.h
4205
Wichert Akkermanca446991999-07-09 23:48:58 +00004206Sat Jul 10 01:46:10 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
4207
4208 * Remove hack in signal.c for arm architecture
4209 * Add hack so we compile correctly on powerpc
4210
Wichert Akkerman5b4d1281999-07-09 00:32:54 +00004211Fri Jul 9 02:28:16 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
4212
4213 * Add a corrected patch from Daniel Jacobowitz
4214
Wichert Akkermana6013701999-07-08 14:00:58 +00004215Thu Jul 8 16:00:04 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
4216
4217 * Merge patch from Daniel Jacobowitz to allow us to use the kernel types
4218 for the stat structure
4219
4220Thu Jun 24 15:54:18 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
Wichert Akkerman2b483ba1999-06-24 13:55:29 +00004221
4222 * Fix test for sys/reg include
4223
Wichert Akkermana6013701999-07-08 14:00:58 +00004224Tue Jun 22 17:26:33 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
Wichert Akkermane6f876c1999-06-22 15:28:30 +00004225
4226 * Fixed some Linux/powerpc sillyness, thanks to Daniel Jacobowitz
4227 * Fixed some SunOS compile problems earlier that I forgot to include
4228 here
4229
Wichert Akkerman789ed351999-06-14 10:45:01 +00004230Mon Jun 14 12:44:25 CEST 1999
4231
4232 * Avoid leakint fd into child when forking, patch from
4233 John Hughes <john@Calva.COM>
4234
Wichert Akkerman8829a551999-06-11 13:18:40 +00004235Fri Jun 11 14:54:47 CEST 1999
4236
4237 * Applied IRIX64 patch from Thomas E. Dickey <dickey@clark.net>
4238 * Applied Solaris and manpage updates from Guy Harris <guy@netapp.com>
4239
Wichert Akkermancc4b8f41999-06-09 12:50:10 +00004240Wed Jun 9 14:48:49 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
4241
4242 * Brought syscall list for alpha up to date
4243
Wichert Akkermandacfb6e1999-06-03 14:21:07 +00004244Wed Jun 2 18:30:12 CEST 1999 Jakub Jelinek <jj@ultra.linux.cz>
4245
4246 * system.c: sys_umount2 syscall support.
4247 * linux/sparc/errnoent.h: Update sparc-linux errnos.
4248 * linux/sparc/syscall.h: Update used sparc-linux syscalls.
4249 * linux/sparc/syscallent.h: Match 2.2.9 system calls.
4250 * file.c: sparc-linux asm/stat.h uses dev_t etc. types,
4251 so it needs strace's own copy of the stat structure.
4252 * util.c: Make it compile on sparc-linux.
4253 * strace.c: Fix strace -f and -ff operation on sparc-linux.
4254 * signal.c: rt_sigaction has different arguments on sparc*-linux
4255 and alpha-linux.
4256 * syscall.c: Recognize sparc64-linux binaries.
4257
Ulrich Drepper0d2d3231999-05-29 04:11:48 +00004258Fri May 28 21:09:00 PST Ulrich Drepper <drepper@cygnus.com>
4259
4260 * configure.in: Fix typo (CFLAG -> CFLAGS).
4261
Ulrich Drepper8783c011999-05-29 04:13:58 +00004262 * syscall.c: Don't include linux/ptrace.h explicitly for glibc.
4263
Wichert Akkerman22fe9d21999-05-27 12:00:57 +00004264Thu May 27 13:59:27 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
4265
4266 * Add some sysctl support, patch from Ulrich Drepper
4267
Wichert Akkerman9524bb91999-05-25 23:11:18 +00004268Wed May 26 01:04:34 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
4269
4270 * Use kernel dirent structure for Linux
4271
Wichert Akkerman2e2553a1999-05-09 00:29:58 +00004272Sun May 9 02:18:30 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
4273
4274 * Merge in patches from Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
4275 + some layout and other minor fixes
4276 + add some m68k-specific things to linux/syscallent.h. Note that m68k
4277 is similar enough to i386 to not need it's own subdirectory
4278 + add support for sendfile and mremap syscalls for Linux
4279 * Merge in patches from Sascha Schumann <sascha@schumann.2ns.de>
4280 + ioctls.h vs sys/ioctl.h on Alpha platform
4281 + pointer was casted to an int in stream.c
4282 + strsignal() needs -D_GNU_SOURCE in CFLAGS
4283 + several other casts changed
4284 + correct ARM/POWERPC architecture defines in acconfig.h
4285 * Merge in patches from Morten Welinder <terra@diku.dk>
4286 + add some autoconf-tests for includefiles
4287 + handle solaris version of sigcontext struct (actually I hacked this
4288 up again, but the idea is his :)
4289
Wichert Akkerman7a1f0e91999-04-18 20:23:57 +00004290Sun Apr 18 22:32:42 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
4291
4292 * Update syscalls for linux alpha, patch from Bart Warmerdam
Ulrich Drepperc921cb21999-12-24 08:03:35 +00004293 <bartw@debian.org>
Wichert Akkermand4d8e921999-04-18 23:30:29 +00004294 * Update sparc code so it actually compiles
Wichert Akkerman7a1f0e91999-04-18 20:23:57 +00004295
Wichert Akkerman328c5e71999-04-16 00:21:26 +00004296Fri Apr 16 02:18:05 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
4297
Wichert Akkerman25d0c4f1999-04-18 19:35:42 +00004298 * Add support for old_*stat functions for Linux. Please note you need
4299 to use reasonably recent kernel headers to compile strace now.
Wichert Akkerman328c5e71999-04-16 00:21:26 +00004300 * Change references to LINUX into linux in file.c
4301 * Fix include for LDT in mem.c
Wichert Akkerman1786d811999-04-15 20:34:14 +00004302
4303Thu Apr 15 22:28:15 CEST 1999 Wichert Akkerman <wakkerma@debian.org>
4304
4305 * Change in strace maintainership, jrs passed the torch to me.
4306 * Use autoconf 2.13
4307 * Incorporate all changes already made in the Debian strace package:
4308 + compiles with more Linux kernels
4309 + added support for more Linux architectures
4310 + add support for a lot of extra syscalls
4311 + fix some problems with hanging children
4312 + check stray syscall after execv
4313 + decode capget and capset arguments
4314 + add more constants to net.c
4315 + detect ROSE networking
4316 + add more protocol families to domains
4317 + add IPIP protocol
4318 + added MSG_PROXY and MSG_CTRUNC to msg_flags
4319 + added SO_BSDCOMPAT and SO_REUSEPORT to sockoptions
4320 + added IP, IPX and TCP-options
4321 + added IP, IPX and TCP support to get-/setsockopt()
4322 + added IPX support
4323 + updated handling of signals
4324
Wichert Akkerman76baf7c1999-02-19 00:21:36 +00004325Sun Oct 27 22:28:00 1996 J. Richard Sladkey <jrs@world.std.com>
4326
4327 * util.c (umovestr) [LINUX]: Handle Linux like SunOS4
4328 instead of SVR4. That is, read a few bytes at a time
4329 to avoid overrunning the end of the stack.
4330
4331Fri May 31 01:48:49 1996 J. Richard Sladkey <jrs@world.std.com>
4332
4333 * version.c: Version 3.1 is released.
4334
4335Thu May 23 01:04:43 1996 J. Richard Sladkey <jrs@world.std.com>
4336
4337 * aclocal.m4 (AC_DECL_SYS_ERRLIST): Try looking in stdio.h
4338 as well since that's where glibc declares it. Go figure.
4339 * signal.c (sys_sigreturn) [ALPHA]: Use sigcontext
4340 instead of sigcontext_struct since glibc v5+ apparently
4341 plays games with the native OS namespace.
4342 From David Mosberger-Tang <davidm@AZStarNet.com>.
4343
4344Mon May 20 23:17:14 1996 J. Richard Sladkey <jrs@world.std.com>
4345
4346 * version.c: Version 3.0.14 is released.
4347
4348 * aclocal.m4 (AC_STRUCT_MSG_CONTROL): New macro.
4349 * configure.in: Add call to AC_STRUCT_MSG_CONTROL.
4350 * net.c (printmsghdr): Handle BSD 4.3 and 4.4 msghdr members
4351 differently.
4352 Reported by Henrik Storner <storner@osiris.ping.dk>.
4353
4354 * configure.in: (AC_CHECK_{HEADERS,FUNCS}): Add checks for
4355 sys/filio.h and sys/stream.h and remove check for poll.
4356 * desc.c (decode_select, sys_select, sys_oldselect) [LINUX]:
4357 Handle old and new styles of argument passing for select on Linux.
4358 * ioctl.c, stream.c: Conditionalize stream code on presence of
4359 sys/stream.h instead of poll because glibc implements poll but
4360 not the rest of the stream interface.
4361 * signal.c [LINUX]: Standardize on the name sigcontext_struct.
4362 (sys_sigprocmask) [ALPHA]: Handle OSF flavor which is more like
4363 sigsetmask.
4364 * term.c (term_ioctl): Use _VMIN, if present, for TC{G,S}ETA*.
4365 * util.c (umoven, umovestr): Move data in long-sized chunks
4366 at a time, instead of hard coding it to be 4.
4367 From David Mosberger-Tang <davidm@AZStarNet.com>.
Ulrich Drepperc921cb21999-12-24 08:03:35 +00004368
Wichert Akkerman76baf7c1999-02-19 00:21:36 +00004369Mon May 20 01:19:36 1996 J. Richard Sladkey <jrs@world.std.com>
4370
4371 * version.c: Version 3.0.13 is released.
4372
4373 * configure.in (AC_CHECK_HEADERS): Add check for asm/sigcontext.h.
4374 * signal.c [HAVE_ASM_SIGCONTEXT_H]: Conditionally include
4375 asm/sigcontext.h to define sigcontext_struct and don't define it
4376 locally if the header is present.
4377
4378 * syscall.c (nerrnos{0,2}): Correct size computation.
4379
4380 * Makefile.in: Remove dependencies and rules relating to files
4381 normally found in the os directory. Because of the new scheme we
4382 don't know precisely where they come from. Sigh.
4383 * signalent.sh: Make it work for sunos4, linux, and svr4.
4384 * {sunos4,linux{,/alpha},svr4}/Makefile.in: Make rules correspond
4385 to traditional make syntax. Add signalent.h to files which can
4386 unconditionally be rebuilt. Prevent signalent.h from being
4387 unconditionally being rebuilt since it's customized.
4388 * {sunos4,linux{,/alpha},svr4}/{ioctlent,errnoent,signalent}.h:
4389 Use versions built by {ioctlent,errnoent,signaltent}.sh.
4390 * sunos4/ioctlent.sh: Work around sprintf troubles with SunOS
4391 4.1.4 and gcc 2.7.2.
Ulrich Drepperc921cb21999-12-24 08:03:35 +00004392
Wichert Akkerman76baf7c1999-02-19 00:21:36 +00004393Sun May 19 17:14:09 1996 J. Richard Sladkey <jrs@world.std.com>
4394
4395 * configure.in, Makefile.in: Add OSARCH concept to finish
4396 build support for the alpha.
4397 * Makefile.in, linux/Makefile.in: Rewrite clean, distclean,
4398 and maintainer-clean rules.
4399 * defs.h, ioctlsort.c: Make ioctl code member unsigned.
4400 * ioctl.c, ioctlsort.c (compare): Perform explicit checking
4401 for less, greater, and equal since subtraction on two's
4402 complement numbers isn't an order relation (it isn't transitive)!
4403 * linux/Makefile.in: Add rules for the signalent.h file.
4404 * linux/alpha/Makefile.in: New file.
Ulrich Drepperc921cb21999-12-24 08:03:35 +00004405
Wichert Akkerman76baf7c1999-02-19 00:21:36 +00004406Sun May 19 01:12:28 1996 J. Richard Sladkey <jrs@world.std.com>
4407
4408 * version.c: Version 3.0.12 is released.
4409
4410 * linux{,alpha}/ioctlent.sh: Tweak for recent kernels.
4411 From Michael E Chastain <mec@duracef.shout.net>.
Ulrich Drepperc921cb21999-12-24 08:03:35 +00004412
Wichert Akkerman76baf7c1999-02-19 00:21:36 +00004413 * defs.h (SUPPORTED_PERSONALITES, DEFAULT_PERSONALITY): New.
4414 * syscall.c (set_personality): New.
4415 * strace.c (main): Call set_personality.
4416 * defs.h, syscall.c, ioctl.c, signal.c: Make sysent, errnoent,
4417 ioctlent, and signalent indirect pointers and redirect them
4418 based on personality.
4419 * {sunos4,svr4,linux{,/alpha}}/signalent.h: New files.
4420 Suggested by Tom Dyas <tdyas@eden.rutgers.edu>.
4421
4422 * util.c (upeek): Handle case where ptrace returns a long
4423 and sizeof(long) != sizeof(int).
4424 From Richard Henderson <richard@twiddle.tamu.edu>
4425
4426Fri May 17 21:03:36 1996 J. Richard Sladkey <jrs@world.std.com>
4427
4428 * version.c: Version 3.0.11 is released.
4429
4430 * many files: Fix more printf warnings for other platforms.
4431
4432 * ipc.c (sys_msgrcv) [LINUX]: Conditionalize definition of ipc_wrapper.
4433
4434 * linux/dummy.h: Handle missing library support for {send,recv}msg.
4435 Reported by Thomas Bogendoerfer <tsbogend@bigbug.franken.de>.
4436
4437 * linux/syscall.h (sys_utimes): Fix a typo in the declaration.
4438 From Thomas Bogendoerfer <tsbogend@bigbug.franken.de>.
Ulrich Drepperc921cb21999-12-24 08:03:35 +00004439
Wichert Akkerman76baf7c1999-02-19 00:21:36 +00004440Fri May 17 00:50:06 1996 J. Richard Sladkey <jrs@world.std.com>
4441
4442 * version.c: Version 3.0.10 is released.
4443
4444 * Makfile.in: Add os/arch to includes so that a given arch
4445 (like alpha) can override the native arch (like i386).
4446 * configure.in: Check for sendmsg.
4447
4448 * net.c: Make sendmsg and recvmsg dependent on an autoconf
4449 test. Reported by Michael E Chastain <mec@duracef.shout.net>.
4450
4451 * acconfig.h, configure.in: Detect the alpha.
4452 * ioctl.c: Handle the alpha.
4453 * defs.h: Make some members long for the alpha. Define
4454 some register nicknames. Add support for WAITEXECVE.
4455 * file.c [ALPHA]: Support the alpha for statfs. Add
4456 osf_statfs and osf_fstatfs for the alpha. Make damn sure
4457 major and minor results are suitable for passing to printf.
4458 * signal.c, syscall.c: Support the alpha.
4459 * process.c: Add alpha user offsets.
4460 * most files: Use %l? for printf arguments since
4461 most are now longs for the alpha.
4462 * linux/alpha/{errnoent.h,ioctlent.{h,sh},syscallent.h}:
4463 New for the alpha.
4464 From Thomas Bogendoerfer <tsbogend@bigbug.franken.de>.
4465
4466Wed May 15 00:29:37 1996 J. Richard Sladkey <jrs@world.std.com>
4467
4468 * version.c: Version 3.0.9 is released.
4469
4470 * config.in, config.sub, install-sh: Upgrade to autoconf 2.10.
4471
4472 * linux/dummy.h, linux/syscallent.h, linux/syscall.h: Add recent
4473 Linux kernel version system calls.
4474
4475Wed Mar 13 01:03:38 1996 J. Richard Sladkey <jrs@world.std.com>
4476
4477 * ipc.c [SUNOS4]: Add SunOS support for decoding IPC calls.
4478 * syscall.c [SUNOS4]: Compile decode_subcall on SunOS and
4479 decode IPC calls using it.
4480 * sunos4/dummy.h: Alias sys_semop to printargs.
4481 * sunos4/syscall.h: Add new pseudo syscalls for IPC.
4482 * sunos4/syscallent.h: Include new subcalls for IPC.
4483 From Matthias Pfaller <leo@dachau.marco.de>.
4484
4485Tue Feb 13 22:08:25 1996 J. Richard Sladkey <jrs@world.std.com>
4486
4487 * version.c: Version 3.0.8 is released.
4488
4489 * time.c [LINUX]: Explicitly include linux/version.h.
4490
4491 * strace.c (main): Don't let them even *try* to
4492 get strace to attach to itself since some systems
4493 don't handle this case very gracefully.
4494 Reported by David S. Miller <davem@caip.rutgers.edu>.
4495
4496 * Makefile.in (distclean): Fix it for subdirectories.
4497
4498 * sunos4/syscallent.h, svr4/syscallent.h: Fill in the new
4499 sys_flags member for each defined system call.
4500
4501Fri Dec 8 01:17:28 1995 Rick Sladkey <jrs@world.std.com>
4502
4503 * defs.h (TRACE_*): New flags to describe what class
4504 of system call each system call is.
4505 (sysent): Add sys_flags member.
4506 * syscall.c (sysent): Define (and later undef) abbreviations
4507 for the system call class flags.
4508 (lookup_class): New function to translate strings to
4509 system call class flags.
4510 (qualify): Handle new system call class mechanism.
4511 * linux/syscallent.h: Fill in the new sys_flags member
4512 for each defined system call.
4513
4514 * defs.h (print_sock): Remove redundant and non-K&R C
4515 compatible prototype. From Juergen Weigert
4516 <jnweiger@immd4.informatik.uni-erlangen.de>.
4517
4518Thu Dec 7 01:17:40 1995 Rick Sladkey <jrs@world.std.com>
4519
4520 * linux/ioctlent.sh: Tweak to improve ioctl accuracy.
4521 From Michael E Chastain <mec@duracef.shout.net>.
4522
4523 * system.c (includes) [LINUX]: Add linux/nfs.h for recent
4524 kernels. From Michael E Chastain <mec@duracef.shout.net>.
4525
4526Wed Dec 6 21:52:28 1995 Rick Sladkey <jrs@world.std.com>
4527
4528 * file.c (sprintfstype): Enclose string result in double
4529 quotes.
4530
4531 * time.c (sys_adjtimex) [LINUX]: Conditionalize
4532 constantly evolving timex structure.
4533 From Aaron Ucko <UCKO@VAX1.ROCKHURST.EDU>.
4534
4535 * defs.h, syscall.c, strace.c: Rename syscall to
4536 trace_syscall and change prototype and all callers
4537 because of broken Linux shared libraries.
4538 From Aaron Ucko <UCKO@VAX1.ROCKHURST.EDU>.
4539
4540 * Makefile.in (clean): Check for a file with test -f not
4541 test -d. From Aaron Ucko <UCKO@VAX1.ROCKHURST.EDU>.
4542
4543Tue Sep 26 02:32:31 1995 Rick Sladkey <jrs@world.std.com>
4544
4545 * version.c: Version 3.0.7 is released.
4546
4547 * util.c (string_quote): Fix thinko which caused core
4548 dumps for strings with quotes in them.
4549 Reported by Marty Leisner <leisner@sdsp.mc.xerox.com>.
4550
4551 * linux/Makefile.in (errnoent.h rule): Grab all errno.h
4552 files from /usr/include, not just the linux one.
4553 From Michael E Chastain <mec@duracef.shout.net>.
4554
4555 * linux/errnoent.sh: Total rewrite to handle more ioctls with
4556 fewer false positives on more kernel flavors.
4557 From Michael E Chastain <mec@duracef.shout.net>.
4558
4559Mon Sep 4 01:29:22 1995 Rick Sladkey <jrs@world.std.com>
4560
4561 * version.c: Version 3.0.6 is released.
4562
4563 * linux/dummy.h, linux/syscall.h, linux/syscallent.h: Add
4564 sys_msync.
4565 * mem.c (mctl_funcs, mctl_lockas, sys_mctl): Conditionalize
4566 on MC_SYNC instead of HAVE_MCTL.
4567 (mctl_sync): Conditionalize on MS_ASYNC instead of HAVE_MCTL.
4568 (sys_msync): New function.
4569
4570Sat Sep 2 12:06:04 1995 Rick Sladkey <jrs@world.std.com>
4571
4572 * linux/dummy.h, linux/syscall.h, linux/syscallent.h: Add
4573 sys_flock and sys_getdents.
4574 * desc.c (flockcmds, sys_flock): Conditionalize on LOCK_SH
4575 not SUNOS4.
4576 * file.c (sys_getdents): Define unconditionally and handle
4577 LINUX case.
4578 * strace.c (main): Disallow username option unless both real
4579 and effective uids are root.
4580
4581Wed Aug 30 01:29:58 1995 Rick Sladkey <jrs@world.std.com>
4582
4583 * strace.c (main): Ensure that run_uid and run_gid are
4584 always set to something meaningful.
4585 (main, newoutf) [!SVR4]: Swap real and effective uids while
4586 opening any output files.
4587 (main) [!SVR4]: Treat effective uid of root as a request
4588 to handle suid binaries correctly using the real uid of
4589 the invoking user.
4590
4591Sat Aug 19 00:06:08 1995 Rick Sladkey <jrs@world.std.com>
4592
4593 * Makefile.in: Add `|| true' to clean rule because
4594 although GNU make 3.74 uses `sh -c' to invoke commands
4595 every other make in the world uses `sh -ec'.
4596
4597 * syscall.c (syscall) [SVR4, MIPS]: The fifth and subsequent
4598 arguments appear to be stored on the stack, not in the
4599 registers following A3 (empirical result).
4600
4601 * defs.h: Add prototype for printsock.
4602 * svr4/dummy.h: Remove generic handling of sys_mount.
4603 * system.c [SVR4, MIPS]: Include several system headers to cleanly
4604 get access to SGI mount information.
4605 (mount_flags, nfs_flags) [SVR4, MIPS]: New objects.
4606 (sys_mount) [SVR4, MIPS]: New function.
4607 (sys_mount) [SVR4, !MIPS]: New function.
4608
4609Tue Jul 4 00:30:34 1995 Rick Sladkey <jrs@world.std.com>
4610
4611 * version.c: Version 3.0.5 is released.
4612
4613 * desc.c, resource.c, strace.c, syscall.c, time.c: Cast tv_sec and
4614 tv_usec members to long when using printf.
4615
4616 * ipc.c: Omit define of __KERNEL__.
4617 ({MSG,SEM,SHM}_{STAT,INFO}): Explicitly define those things we
4618 want which __KERNEL__ used to provide.
4619 (sys_msgrcv): Change reference to ipc_kludge structure to
4620 look-alike ipc_wrapper to avoid dependence on __KERNEL__.
4621
4622 mem.c (mmap_flags) [MAP_{GROWSDOWN,DENYWRITE,EXECUTABLE}]: Add
4623 Linux specific options.
4624
4625 syscall.c: Use SYS_ERRLIST_DECLARED instead of guessing.
4626 [E{RESTART{SYS,NO{INTR,HAND}},NOIOCTLCMD}]: Explicitly define
4627 instead of depending of __KERNEL__.
4628
4629 term.c: Cast c_{i,o,c,l}flag to long when using printf.
4630
4631Tue Jun 6 00:27:48 1995 Rick Sladkey <jrs@world.std.com>
4632
4633 * aclocal.m4 (AC_DECL_SYS_ERRLIST, AC_DECL__SYS_SIGLIST): New.
4634 * configure.in: Call AC_DECL_SYS_ERRLIST, AC_DECL_SYS_SIGLIST,
4635 and AC_DECL__SYS_SIGLIST.
4636 * acconfig.h (SYS_ERRLIST_DECLARED): New.
4637 * strace.c (strerror): Use SYS_ERRLIST_DECLARED.
4638 (strsignal): Use SYS_SIGLIST_DECLARED.
4639
4640 net.c (sys_socket): Omit inadvertent surplus comma when
4641 protocol family isn't PF_INET.
4642
4643 util.c (dumpstr): Fix incorrect printing of one too many
4644 characters when the length is not an even multiple of 16 bytes.
4645 Reported by Juergen Weigert
4646 <jnweiger@immd4.informatik.uni-erlangen.de>.
4647
4648Thu May 4 23:37:47 1995 Rick Sladkey <jrs@world.std.com>
4649
4650 * ioctl.c (compare): Change prototype to match POSIX qsort.
4651 * signal.c (sigishandled) [SVR4]: Omit everything after return.
4652 * strace.c (trace) [SVR4]: Break out of for loop instead of
4653 returning when finished so final return statement is executed.
4654 * syscall.c (internal_syscall): Add more SYS_wait* variations.
4655 (syscall) [LINUX]: Correct typo which commented out the M68K
4656 argument to ifdef.
4657 * util.c (printstr): Cast unsigned char pointer argument
4658 to char pointer in umovestr call.
4659 (dumpstr): Likewise for umoven.
4660
4661Wed May 3 01:10:56 1995 Rick Sladkey <jrs@world.std.com>
4662
4663 * version.c: Version 3.0.4 is released.
4664
4665 * signal.c (sys_sigblock): Move after the definition of
4666 sys_sigsetmask that it calls to avoid an implicit declaration.
4667 * stream.c (transport_user_options, transport_server_options):
4668 Only needed if TI_BIND is defined.
4669 * configure.in: Add -Wno-implicit to WARNFLAGS on SunOS 4.x.
4670
4671 * process.c (internal_fork) [SVR4]: Fix a typo that omitted
4672 the tcp arguement from the call to exiting. Add getrval2
4673 check so no fork processing is done in the child.
4674 (printwaitn): Initialize exited so that its value is defined
4675 for all flows of execution.
4676
4677Tue May 2 22:39:42 1995 Rick Sladkey <jrs@world.std.com>
4678
4679 * linux/dummy.h: Add aliases for sysfs, personality, afs_syscall,
4680 setfsuid, setfsgid, and _llseek syscalls.
4681 * linux/syscall.h: Add prototypes for them.
4682 * linux/syscallent.h: Add them to the syscall entries table.
4683 * system.c (headers) [LINUX]: Include linux/unistd.h to get __NR_*
4684 defines and conditionally include linux/personality.h if
4685 __NR_personality is defined.
4686 (personality_options) [LINUX]: New table.
4687 (sys_personality) [LINUX]: New function.
4688
4689Tue May 2 00:20:39 1995 Rick Sladkey <jrs@world.std.com>
4690
4691 * strace.c (trace) [!SVR4]: Change forever loop to one predicated
4692 on the number of traced processes so that we can have untraced
4693 children (e.g. via popen).
4694
4695 * strace (main) [!SVR4]: Call fake_execve to get the actual
4696 exec and its arguments into the trace.
4697 (environ): Declare it.
4698 * process.c (fake_execve): New function.
4699 (headers): Include sys/syscall.h to get SYS_* defines.
4700
4701 * process.c (sys_execv, sys_execve): Surround argument annotations
4702 with C comment delimiters.
4703 (printargv, printargc): The arg vector is an array of char pointers
4704 not ints.
4705
4706 * strace.c (printleader): Also check for multiple -p arguments
4707 when deciding whether to print the pid field.
4708
4709 * strace.c (strerror) [!HAVE_STRERROR]: New function.
4710 * defs.h (strerror, strsignal): Add these prototypes if we provide
4711 the functions.
4712 * configure.in (AC_CHECK_FUNCS): Add strerror.
4713
4714 * strace.c (main, proc_poller): Add SIGPIPE to the list of caught
4715 and blocked signals.
4716
4717 * strace.c (main): Add username option. Verify they are root before
4718 letting them use it. Look up the ids in the password file. Set
4719 them just before executing the program.
4720 From Reuben Sumner <rasumner@undergrad.math.uwaterloo.ca>.
4721
4722Sat Apr 29 00:09:56 1995 Rick Sladkey <jrs@world.std.com>
4723
4724 * version.c: Version 3.0.3 is released.
4725
4726 * system.c (mount_flags) [LINUX]: Omit duplicated MS_NOSUID entry.
4727 From Reuben Sumner <rasumner@undergrad.math.uwaterloo.ca>.
4728
4729 * strace.c (outfname): Initialize to NULL.
4730 (main): Defer output file processing until after arguments.
4731 Allow either a pipe or a bang for command arguments.
4732 Check if outfname is NULL instead of checking outf for stderr.
4733 Reinitialize each startup TCB's outf to fix -p/-o ordering bug.
4734 (droptcb): Reset close TCB's outf to NULL instead of stderr.
4735 (tprintf): Avoid calling vfprintf if outf is NULL.
4736
4737 * strace.c (main): Use popen if -o argument begins with a pipe.
4738 From Marty Leisner <leisner@sdsp.mc.xerox.com>.
4739
4740 * process.c (printstatus): Fix a typo where WIFSIGNALED was meant
4741 but WIFSTOPPED was used.
4742
4743 * Makefile.in: Add an EXTRA_DEFS variable and use it in the .c.o
4744 rule to prevent the comment from being untrue.
4745
4746Fri Apr 28 22:01:56 1995 Rick Sladkey <jrs@world.std.com>
4747
4748 * strace.c (sys_exit): Move follow fork code to internal_exit.
4749 (sys_fork): Move follow fork code to internal_fork.
4750 (sys_execv, sys_execve): Move follow fork code to internal_exec.
4751 (sys_waitpid, sys_wait4): Move follow fork code to internal_wait.
4752 (vforking): Remove this static variable and check scno in
4753 internal_fork instead.
4754 (internal_exit, internal_fork, internal_exec, internal_wait): New
4755 functions.
4756 * defs.h: Add prototypes for the new internal_* functions.
4757 * syscall.c (syscall): Move syscall entering trace qualifier check
4758 and reprint checking after context decoding and precede them with
4759 a call to internal_syscall. Precede syscall exiting trace
4760 qualifier check with a call to internal_syscall.
4761 (internal_syscall): New function.
4762
4763 * defs.h (struct tcb): Make scno signed.
4764 * strace.c (syscall) Make u_error signed.
4765 [LINUX, I386]: Avoid unsigned cast in eax check.
4766 * syscall.c (sys_indir): Make i, scno, and nargs signed.
4767 * desc.c (sys_select): Make cumlen unsigned
4768
4769Mon Apr 24 23:52:47 1995 Rick Sladkey <jrs@world.std.com>
4770
4771 * net.c (socktypes): Add SOCK_PACKET.
4772
4773Sun Apr 2 23:50:39 1995 Rick Sladkey <jrs@world.std.com>
4774
4775 * Makefile (clean): Check explicitly for a Makefile in subdirs
4776 before running make in them.
4777
4778Sun Mar 26 12:37:21 1995 Rick Sladkey <jrs@world.std.com>
4779
4780 * strace.c [MIPS] (proc_open): Conditionalize run on MIPS.
4781 [MIPS] (detach): Initialize error for MIPS case.
4782 (trace): Initialize ioctl_result and ioctl_errno for overly helpful
4783 compilers.
4784 * syscall.c (decode_subcall): Move variable i into conditionals
4785 that use use it.
4786 * system.c (syssgi_options): Conditionalize SGI_RECVLMSG and
4787 SGI_SET_FPDEBUG that SGI decided to drop. I don't have the stomach
4788 to change them all.
4789 * term.c (term_ioctl): Force [c_[iocl]flags members to long before
4790 printing since we don't know what the size of their type is.
4791 * util.c [SVR4, MIPS] (umoven): Prevent MIPS from using pread even
4792 if autoconf detects it since it seems to either not work or do
4793 something else entirely on Irix 5.3.
4794
4795Sun Mar 26 00:01:11 1995 Rick Sladkey <jrs@world.std.com>
4796
4797 * version.c: Version 3.0.2 is released.
4798 * linux/dummy.h: Make sys_fchdir like sys_close instead of printargs
4799 so that the file descriptor arg is decimal.
4800
4801Sat Mar 25 22:50:13 1995 Rick Sladkey <jrs@world.std.com>
4802
4803 * net.c [LINUX] (protocols): Explicitly define all IPPROTO_* entries
4804 because on Linux they are enumerators.
4805
4806 * system.c [LINUX] (mount_flags): Handle renaming of MS_SYNC to
4807 MS_SYNCHRONOUS.
4808
4809 * util.c (printxval): When there is no translation, print the actual
4810 number first and the the default value as a C comment.
4811
4812 * net.c (sys_send, sys_sendto, sys_sendmsg, sys_getsockopt,
4813 sys_setsockopt): Change first argument from unsigned to signed to
4814 cater to the frequent practice of calling system calls with a file
4815 descriptor of -1.
4816 * mem.c (sys_mmap): Likewise.
4817
4818Sun Mar 19 13:53:52 1995 Rick Sladkey <jrs@world.std.com>
4819
4820 * signal.c [LINUX] (signalent): Handle old and new values of SIGIO.
4821
4822Sun Dec 11 22:51:51 1994 Rick Sladkey <jrs@world.std.com>
4823
4824 * version.c: Version 3.0.1 is released.
4825 * Makefile.in, configure.in, aclocal.m4: Changes for autoconf 2.0.
4826 * config.guess, config.guess: Update from the FSF.
4827 * install-sh: New from the FSF.
4828
4829Mon Dec 5 20:51:29 1994 Rick Sladkey <jrs@world.std.com>
4830
4831 * Makefile.in: Add m68k arch.
4832 * acconfig.h (M68K): Add m68k define.
4833 * configure.in: Add detection of arch m68k.
4834 * process.c [M68K] (struct_user_offsets): Support m68k registers and
4835 offsets.
4836 * signal.c [M68K] (sigcontext_struct): Support m68k sigcontext
4837 structure.
4838 [M68K] (sys_sigreturn): Support m68k sigreturn handling.
4839 * syscall.c [M68K] (syscall): Support m68k syscall number register
4840 and errno in d0 instead of eax.
4841 * util.c [M68K] (getpc, printcall, setbpt, clearbpt): Support m68k
4842 program counter in PT_PC instead of EIP.
4843 [M68K] (LOOP): Support m68k loop instruction.
4844 From Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>.
4845
4846 * mem.c [MAP_ANONYMOUS] (mmap_flags): Correct inadvertent reference
4847 to MAP_FIXED instead of MAP_ANONYMOUS.
4848 From Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>.
4849
4850 * signal.c [LINUX] (signalent): Signal 30 is now SIGPWR.
4851 From Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>.
4852
4853Mon Dec 5 01:05:46 1994 Rick Sladkey <jrs@world.std.com>
4854
4855 * defs.h (tprintf): Fix typo in non-gcc ansi prototype for tprintf.
4856 Reported by Thanh Ma <tma@encore.com>.
4857
4858 * strace.c (cleanup): Send SIGCONT before SIGTERM because Linux
4859 1.1.62 doesn't continue a traced child when the parent exits.
4860 Reported by Matt Day <mday@artisoft.com>.
4861
4862 * system.c [LINUX]: Include netinet/in.h before arpa/inet.h.
4863
4864 * util.c (printstr): Fix longstanding bug in notating string
4865 continuation.
4866
4867 * strace.c [SVR4] (proc_open): Specifically wait for the child the
4868 child to go into the execve syscall to avoid spurious traces.
4869 [LINUX] (detach): Conditionalize the status variable.
4870
4871Sun Dec 4 23:21:42 1994 Rick Sladkey <jrs@world.std.com>
4872
4873 * Makefile.in: Add mips arch.
4874 * acconfig.h (MIPS): Add mips define.
4875 * configure.in: Add detection of opsys irix5 and arch mips. Check
4876 for prctl function.
4877 Check for sys/sysconfig.h header.
4878 * defs.h (MAX_ARGS): Bump maximum syscall arguments from 8 to 32.
4879 * file.c [SVR4]: Include sys/cred.h.
4880 (access_flags): Update access flags for SGI.
4881 (sprinttime): Change type of sprinttime argument from unsigned
4882 long to time_t.
4883 * process.c [HAVE_PRCTL]: Include sys/prctl.h.
4884 [HAVE_PRCTL] (prctl_options, sys_prctl): New for SGI.
4885 (printsiginfo): Conditionally compile SI_TIMER and SI_MESGQ.
4886 Cast si_band member to long before printing.
4887 * signal.c (sigact_flags): Add _SA_BSDCALL for SGI.
4888 (sigprocmaskcmds): Add SIG_SETMASK32 for SGI.
4889 * strace.c [SVR4] [MIPS]:
4890 (foobar): New dummy signal handler.
4891 (main): Install a dummy signal handler in the child before pausing
4892 to work around an SGI bug in PRSABORT.
4893 (proc_open): Send a interrupt to the child instead of aborting the
4894 syscall which doesn't work on Irix5.2.
4895 * svr4/dummy.h: Add new unfinished SGI syscalls
4896 (e.g. sys_sysmp, sys_sginap, etc.). Handle some SGI syscalls like
4897 existing calls (e.g. sys_ksigaction like sys_sigaction).
4898 Printargs does the print thing for sys_sethostid.
4899 * svr4/syscall.h: Declare all new SGI syscalls.
4900 (SGI_KLUDGE): Define syscall table starting index to be 1 for SGI
4901 and add it to all subcall entry points.
4902 (SYS_pgrpsys_subcall, SYS_sigcall_subcall, SYS_context): Don't
4903 decode as subcalls on MIPS. Instead, use the normal syscalls.
4904 * svr4/syscallent.h [MIPS]: Lead syscall table with a dummy entry
4905 since SGI syscall numbers are off by one.
4906 [MIPS] (sys_pgrpsys): Rename to sys_setpgrp on SGI.
4907 [MIPS] (sys_xenix): Rename to sys_syssgi on SGI.
4908 [MIPS] (sys_sysmachine): Rename to sys_sysmips on SGI.
4909 [MIPS]: Conditionalize SVR4 extension into SGI and Solaris classes.
4910 * syscall.c (dumpio): Validate descriptor against MAX_QUALS.
4911 [HAVE_PR_SYSCALL] (syscall): Conditionalize SYS_vfork.
4912 [MIPS] (syscall): Add SGI section for decoding u_error and u_rval.
4913 Add workaround for broken SGI pr_sysarg on syscall entry.
4914 [SVR4] (syscall): Conditionalize subcall decoding for
4915 SYS_ptrpsys_subcall, SYS_sigcall_subcall and SYS_context_subcall.
4916 [SVR4] [MIPS] (getrval2): Handle SGI.
4917 * syscallent.sh: Dork the sed line to be choosier about SYS_ lines.
4918 * system.c [HAVE_SYSCONFIG_H]: Include sys/sysconfig.h.
4919 [MIPS] (syssgi_options, sys_syssgi): New for SGI.