12011-03-15  Dmitry V. Levin  <ldv@altlinux.org>
2
3	Ensure that PTRACE_GETSIGINFO et al are always defined on Linux
4	* configure.ac (AC_CHECK_DECLS): Add PTRACE_* constants.
5	* defs.h [LINUX]: Define those PTRACE_* constants that are not provided
6	by <sys/ptrace.h>.
7
8	* CREDITS.in: Fix typo.
9
102011-03-14  Dmitry V. Levin  <ldv@altlinux.org>
11
12	Update PTRACE_* constants
13	* process.c (ptrace_cmds): Add PTRACE_GETREGSET and PTRACE_SETREGSET.
14
15	Prepare for 4.6 release
16	* NEWS: Update for 4.6 release.
17	* configure.ac: Version 4.6.
18	* debian/changelog: 4.6-1.
19	* strace.spec: 4.6-1.
20
212011-03-14  Mike Frysinger  <vapier@gentoo.org>
22
23	linux/ioctlent: unify them all
24	This unifies all the ioctlent.h's in the linux subdir while still
25	allowing each arch to maintain its own minor list.
26
27	The basic method is:
28	- each arch has linux/<arch>/ioctlent.h.in which defines only the
29	arch-specific ioctls;
30	- linux/ioctlent.h.in which defines only the common ioctls;
31	- at build time, these two headers are combined and sorted to produce
32	the linux/ioctlent.h file.
33
34	This also requires a little tweaking of the include files since the
35	common ioctlent.h is a built file.
36
37	* linux/ioctlent.h: Split into linux/ioctlent.h.in and
38	linux/i386/ioctlent.h.in, remove asm entries from the former, remove
39	non-asm entries from the latter.
40	* linux/alpha/ioctlent.h: Rename to linux/alpha/ioctlent.h.in, remove
41	non-asm entries.
42	* linux/bfin/ioctlent.h: Rename to linux/bfin/ioctlent.h.in, remove
43	non-asm entries.
44	* linux/hppa/ioctlent.h: Rename to linux/hppa/ioctlent.h.in, remove
45	non-asm entries.
46	* linux/ia64/ioctlent.h: Rename to linux/ia64/ioctlent.h.in, remove
47	non-asm entries.
48	* linux/mips/ioctlent.h: Rename to linux/mips/ioctlent.h.in, remove
49	non-asm entries.
50	* linux/powerpc/ioctlent.h: Rename to linux/powerpc/ioctlent.h.in,
51	remove non-asm entries.
52	* linux/s390/ioctlent.h: Rename to linux/s390/ioctlent.h.in, remove
53	non-asm entries.
54	* linux/sh/ioctlent.h: Rename to linux/sh/ioctlent.h.in, remove
55	non-asm entries.
56	* linux/sparc/ioctlent.h: Rename to linux/sparc/ioctlent.h.in, remove
57	non-asm entries.
58	* linux/arm/ioctlent.h.in: New file.
59	* linux/avr32/ioctlent.h.in: Likewise.
60	* linux/i386/ioctlent.h.in: Likewise.
61	* linux/m68k/ioctlent.h.in: Likewise.
62	* linux/microblaze/ioctlent.h.in: Likewise.
63	* linux/tile/ioctlent.h.in: Likewise.
64	* linux/x86_64/ioctlent.h.in: Likewise.
65	* linux/s390x/ioctlent.h.in: Include ioctlent.h.in instead of
66	ioctlent.h.
67	* linux/sh64/ioctlent.h.in: Likewise.
68	* linux/sparc64/ioctlent.h.in: Likewise.
69	* linux/arm/ioctlent1.h: Update ioctlent.h include.
70	* linux/powerpc/ioctlent1.h: Likewise.
71	* linux/sparc/ioctlent1.h: Likewise.
72	* linux/sparc64/ioctlent1.h: Likewise.
73	* linux/x86_64/ioctlent1.h: Likewise.
74	* Makefile.am (AM_CPPFLAGS): Add -I$(builddir)/$(OS).
75	(EXTRA_DIST): Update.
76	[MAINTAINER_MODE && LINUX]: Convert from ioctlent_h to ioctlent_h_in.
77	[LINUX]: Add $(builddir)/$(OS)/ioctlent.h generation rules.
78	* .gitignore: Add linux/ioctlent.h.
79
802011-03-10  Dmitry V. Levin  <ldv@altlinux.org>
81
82	Show more details about signals received by traced processess
83	* strace.c [!USE_PROCFS] (trace): Differentiate output format depending
84	on PTRACE_GETSIGINFO success or failure.  In the former case, use
85	printsiginfo() to show more details about received signal.
86
87	Get rid of PT_GETSIGINFO
88	* strace.c [!USE_PROCFS] (trace): Assume that PTRACE_GETSIGINFO is
89	available.  Replace PT_GETSIGINFO with PTRACE_GETSIGINFO.  Use
90	PTRACE_GETSIGINFO for all signals.
91
92	Enhance decoding of kernel-generated signals
93	* signal.c (printsiginfo) [LINUX]: Do not print uninteresting
94	zero-initialized fields.
95
96	Fix decoding of user-generated signals
97	* signal.c [LINUX] (SI_FROMUSER): Define.
98	[LINUX || SVR4] (printsiginfo) [SI_FROMUSER]: Enhance decoding.
99
100	Recognize SI_KERNEL and SI_ASYNCNL
101	* signal.c [LINUX] (SI_KERNEL, SI_ASYNCNL): Define.
102	[LINUX || SVR4] (siginfo_codes): Add entries for SI_KERNEL and
103	SI_ASYNCNL, reorder entries.
104
1052011-03-05  Sebastian Pipping  <sebastian@pipping.org>
106
107	Take all git branches into account for generation of CREDITS file
108	* Makefile.am: Make CREDITS target depend on all git branches.
109
1102011-03-04  Dmitry V. Levin  <ldv@altlinux.org>
111
112	Fix decoding of file descriptors
113	* defs.h (printfd): New function prototype.
114	* util.c (printfd): New function.
115	* file.c (print_dirfd): Update prototype to use printfd().
116	(sys_openat, sys_faccessat, sys_newfstatat, sys_mkdirat, sys_linkat,
117	sys_unlinkat, sys_readlinkat, sys_renameat, sys_fchownat, sys_fchmodat,
118	sys_futimesat, sys_utimensat, sys_mknodat): Update use of print_dirfd().
119	(sys_lseek, sys_llseek, sys_readahead, sys_ftruncate, sys_ftruncate64,
120	sys_fstat, sys_fstat64, sys_oldfstat, sys_fstatfs, sys_fstatfs64,
121	sys_fchdir, sys_fchroot, sys_linkat, sys_fchown, sys_fchmod, sys_fsync,
122	sys_readdir, sys_getdents, sys_getdirentries, sys_fsetxattr,
123	sys_fgetxattr, sys_flistxattr, sys_fremovexattr, sys_fadvise64,
124	sys_fadvise64_64, sys_inotify_add_watch, sys_inotify_rm_watch,
125	sys_fallocate): Use printfd() for decoding of file descriptors.
126	* desc.c (sys_fcntl, sys_flock, sys_close, sys_dup, do_dup2,
127	decode_select, sys_epoll_ctl, epoll_wait_common): Use printfd() for
128	decoding of file descriptors.
129	* io.c (sys_read, sys_write, sys_readv, sys_writev, sys_pread,
130	sys_pwrite, sys_sendfile, sys_sendfile64, sys_pread64, sys_pwrite64,
131	sys_ioctl): Likewise.
132	* mem.c (print_mmap, sys_mmap64): Likewise.
133	* signal.c (do_signalfd): Likewise.
134	* stream.c (decode_poll): Likewise.
135	* time.c (sys_timerfd_settime, sys_timerfd_gettime): Likewise.
136	Based on patch from Grant Edwards <grant.b.edwards@gmail.com>.
137
1382011-03-03  Sebastian Pipping  <sebastian@pipping.org>
139
140	Print shutdown(2) modes as SHUT_* constants
141	* net.c (shutdown_modes): New xlat structure.
142	(sys_shutdown): Use shutdown_modes to decode 2nd syscall argument.
143
144	Fix decoding of inotify_init1() flags
145	* file.c (inotify_init_flags): New xlat structure.
146	(sys_inotify_init1): Use it instead of open_mode_flags.
147
1482011-03-03  Dmitry V. Levin  <ldv@altlinux.org>
149
150	Fix struct xlat initialization bugs
151	* file.c (inotify_modes): Terminate with NULL entry.
152	* net.c (sock_type_flags): Make this array static.
153	(socketlayers): Add a comment that this array should remain not
154	NULL-terminated.
155
156	tests: avoid SIGPIPE
157	* tests/ptrace_setoptions: Replace "grep -q" with "grep > /dev/null".
158	The former may result to strace being killed by SIGPIPE, which in
159	certain configuratons may lead to generation of a core file.
160	Suggested by Mike Frysinger.
161
1622011-03-01  Mike Frysinger  <vapier@gentoo.org>
163
164	tests: do not make missing /usr/bin/time a failure
165	* tests/init.sh (framework_skip_): New function.
166	(check_prog): Use it instead of framework_failure_.
167
1682011-02-27  Dmitry V. Levin  <ldv@altlinux.org>
169
170	Generate an xz tar archive of the distribution
171	* configure.ac (AM_INIT_AUTOMAKE): Replace dist-bzip2 with dist-xz.
172	* Makefile.am: Update srpm target.
173	* make-dist: Update for dist-xz.
174	* strace.spec: Update Source tag.
175	* debian/watch: Update regexp.
176	* .gitignore: Add strace-*.tar.xz.
177
178	Use "make check" in debian/rules and strace.spec
179	* debian/control: Update Build-Depends.
180	* debian/rules: Run "make check".
181	* strace.spec: Update BuildRequires. Run "make check" in %check section.
182
183	Implement two basic "strace -f" tests
184	* Makefile.am (SUBDIRS): Add tests.
185	* configure.ac (AC_CONFIG_FILES): Add tests/Makefile.
186	* tests/.gitignore: New file.
187	* tests/Makefile.am: Likewise.
188	* tests/init.sh: Likewise.
189	* tests/ptrace_setoptions: Likewise.
190	* tests/strace-f: Likewise.
191
1922011-02-26  Dmitry V. Levin  <ldv@altlinux.org>
193
194	ppc, s390, sparc: regenerate ioctlent.h files
195	* linux/powerpc/ioctlent.h: Regenerated using Fedora 15 kernel headers.
196	* linux/s390/ioctlent.h: Likewise.
197	* linux/sparc/ioctlent.h: Likewise.
198
199	Remove redundant ioctlent.h files
200	* linux/s390x/ioctlent.h: Replace old contents with include of
201	s390/ioctlent.h file.
202	* linux/sparc64/ioctlent.h: Replace old contents with include of
203	sparc/ioctlent.h file.
204
2052011-02-25  Dmitry V. Levin  <ldv@altlinux.org>
206
207	ioctlsort: sync with ioctl_lookup()
208	* linux/ioctlsort.c (main): Use NR and TYPE bits only, to sync with
209	ioctl_lookup() which looks at these bits only.
210
211	Remove obsolete .cvsignore files
212	* test/.cvsignore: Rename to test/.gitignore.
213	* */.cvsignore, */*/.cvsignore: Removed.
214
215	Ignore generated intermediate header files
216	* .gitignore: Add ioctls.h and ioctldefs.h.
217
2182011-02-24  Dmitry V. Levin  <ldv@altlinux.org>
219
220	Generate much of the CREDITS file from git log
221	* CREDITS.in: New file, derived from CREDITS, without names of
222	those who are listed as git log 'Author:'s.
223	* CREDITS: Remove file.
224	* Makefile.am [MAINTAINER_MODE] (CREDITS): New rule.
225	* .gitignore: Add CREDITS.
226	* .mailmap: New file, required to map git author names and email
227	addresses to canonical/preferred form.
228
2292011-02-23  Dmitry V. Levin  <ldv@altlinux.org>
230
231	sparc: fix compilation warning
232	* file.c [!HAVE_LONG_LONG_OFF_T] (realprintstat): Cast st_size
233	to unsigned long.
234
235	Update the list of files that must be distributed
236	* Makefile.am (EXTRA_DIST): Add debian/source/format, debian/watch,
237	linux/ia64/signalent.h, linux/powerpc/ioctlent1.h,
238	linux/powerpc/syscallent1.h, linux/powerpc/errnoent1.h,
239	linux/powerpc/signalent1.h.
240
241	Fix compilation warning reported by gcc -Wunused-but-set-variable
242	* process.c (printwaitn) [!SUNOS4]: Do not define "exited" variable.
243
2442011-02-22  Mike Frysinger  <vapier@gentoo.org>
245
246	ioctlsort: zero pad ioctl codes to 4 places
247	Zero padding the ioctl number will allow simple sorting via shell scripts.
248
249	* linux/ioctlsort.c (main): Output ioctl codes zero padded.
250	* linux/ioctlent.h: Regenerated.
251
252	Update mount flags to latest linux
253	* system.c (MS_RELATIME, MS_KERNMOUNT, MS_I_VERSION,
254	MS_STRICTATIME, MS_BORN): Define.
255	(mount_flags): Add MS_RELATIME, MS_KERNMOUNT, MS_I_VERSION,
256	MS_STRICTATIME, MS_BORN.
257
2582011-02-22  Dmitry V. Levin  <ldv@altlinux.org>
259
260	Sync debian/changelog and strace.spec with packages
261	* debian/changelog: Sync with 4.5.20-2.
262	* strace.spec: Likewise.
263
2642011-02-20  Dmitry V. Levin  <ldv@altlinux.org>
265
266	Add TRACE_DESC|TRACE_FILE flags to fanotify_* sysentries
267	* linux/*/syscallent.h: Add TD flag to fanotify_init.  Add TD|TF flags
268	to fanotify_mark.
269
270	Fix flags of fallocate sysentries
271	* linux/*/syscallent.h: Fix sys_fallocate flags.
272
273	Add TRACE_DESC flag to epoll_create* sysentries
274	* linux/*/syscallent.h: Add TD flag to sys_epoll_create and
275	sys_epoll_create1.
276
277	Add TRACE_DESC flag to fgetxattr, flistxattr, and fremovexattr sysentries
278	* linux/*/syscallent.h: Add TD flag to sys_fgetxattr, sys_flistxattr,
279	and fremovexattr.
280
281	Add TRACE_FILE flag to swapoff sysentries
282	* linux/*/syscallent.h: Add TF flag to sys_swapoff.
283
284	Add TRACE_DESC flag to fadvise64* sysentries
285	* linux/*/syscallent.h: Add TD flag to sys_fadvise64 and
286	sys_fadvise64_64.
287
288	Add TRACE_DESC flag to mmap, mmap2, and old_mmap sysentries
289	* linux/*/syscallent.h: Add TD flag to sys_mmap and sys_old_mmap.
290
291	Do not initialize native_scno on platforms with only one personality
292	* linux/bfin/syscallent.h: Remove redundant native_scno initialization.
293	* linux/m68k/syscallent.h: Likewise.
294	* linux/microblaze/syscallent.h: Likewise.
295
296	Add LOOP_* ioctls defined in linux/loop.h
297	* linux/ioctlent.sh: Add LOOP_* ioctls (0x4C..) defined in linux/loop.h
298	header file.
299	* linux/ioctlent.h: Regenerated.
300	Reported by Mike Frysinger.
301
3022011-02-19  Dmitry V. Levin  <ldv@altlinux.org>
303
304	Fix PTRACE_GETEVENTMSG usage and enhance test_ptrace_setoptions()
305	* strace.c (handle_ptrace_event): Fix PTRACE_GETEVENTMSG usage.
306	(test_ptrace_setoptions): Test that PTRACE_GETEVENTMSG works properly.
307
3082011-02-19  Mike Frysinger  <vapier@gentoo.org>
309
310	linux/sparc: move to common syscall.h
311	Rather than constantly deal with the sparc/syscall.h going stale, merge
312	the few sparc-specific pieces into the linux/syscall.h header.
313
314	* linux/syscall.h: Add sparc-specific pieces from sparc/syscall.h.
315	* Makefile.am (EXTRA_DIST): Remove linux/sparc/syscall.h and
316	linux/sparc64/syscall.h.
317	* linux/sparc/syscall.h, linux/sparc64/syscall.h: Deleted.
318
319	sparc: add new funcs to syscall.h
320	Sync missing defs from the common syscall.h here.
321
322	* linux/sparc/syscall.h: Add sys_setfsuid, sys_pread64, and
323	sys_pwrite64 prototypes.
324
325	sparc: punt unused syscall.h.2
326	I can't find any mention of this header actually being used.
327	Seems to be a really old copy of the common syscall.h.
328
329	* Makefile.am (EXTRA_DIST): Remove linux/sparc/syscall.h.2.
330	* linux/sparc/syscall.h.2: Deleted.
331
3322011-02-19  Dmitry V. Levin  <ldv@altlinux.org>
333
334	Fix raw exit_group(2) decoding
335	* syscall.c (trace_syscall_entering): Check for sys_exit instead of
336	SYS_exit to handle exit_group(2) as well as _exit(2).
337
3382011-02-18  Dmitry V. Levin  <ldv@altlinux.org>
339
340	Optimize known_scno()
341	* syscall.c (known_scno): Do not check for native_scno field on
342	platforms that support only one personality.
343
344	* process.c (internal_exit) [IA64]: Remove redundant check.
345
3462011-02-09  Dmitry V. Levin  <ldv@altlinux.org>
347
348	Fix biarch support in IO dumping
349	* syscall.c (dumpio): Switch on tcp->sys_func instead of tcp->scno
350	for more reliable results.
351
352	Simplify tprintf() declaration
353	* defs.h (tprintf): Simplify declaration.
354
3552011-02-05  Dmitry V. Levin  <ldv@altlinux.org>
356
357	* defs.h (SYSCALL_NEVER_FAILS): Fix typo.
358
3592011-01-19  Dmitry V. Levin  <ldv@altlinux.org>
360
361	Fix decoding of get[ug]id, gete[ug]id and setfs[ug]id return values
362	* defs.h (SYSCALL_NEVER_FAILS): New syscall flag.
363	* linux/dummy.h: Change redirection for sys_get[ug]id, sys_gete[ug]id
364	and setfs[ug]id.
365	* linux/*/syscallent.h: Set SYSCALL_NEVER_FAILS flag for get[ug]id,
366	gete[ug]id and setfs[ug]id syscalls.
367	* process.c [LINUX] (sys_getuid, sys_setfsuid): New functions.
368	* syscall.c (NF): New shorthand macro for use in syscallent.h files.
369	(get_error): Check SYSCALL_NEVER_FAILS flag.
370	Reported by Марк Коренберг <socketpair@gmail.com>.
371
372	* linux/*/syscallent.h: Fix typo in sys_newfstatat syscall flags.
373
3742011-01-18  Mike Frysinger  <vapier@gentoo.org>
375
376	Blackfin: update ioctl list
377	* linux/bfin/ioctlent.h: Sync with latest kernel sources.
378
3792011-01-17  Dmitry V. Levin  <ldv@altlinux.org>
380
381	Fix stat64 decoding on mips
382	* linux/mips/syscallent.h: Use sys_stat64() to decode stat64 syscall.
383	This fixes Debian bug #599028.
384
385	Update linux/*/syscallent.h files to match Linux kernel v2.6.37
386	* linux/alpha/syscallent.h: Add hooks for fanotify_init, fanotify_mark,
387	and prlimit64.
388	* linux/i386/syscallent.h: Likewise.
389	* linux/ia64/syscallent.h: Likewise.
390	* linux/m68k/syscallent.h: Likewise.
391	* linux/microblaze/syscallent.h: Likewise.
392	* linux/mips/syscallent.h: Likewise.
393	* linux/powerpc/syscallent.h: Likewise.
394	* linux/s390/syscallent.h: Likewise.
395	* linux/s390x/syscallent.h: Likewise.
396	* linux/sh/syscallent.h: Likewise.
397	* linux/sh64/syscallent.h: Likewise.
398	* linux/sparc/syscallent.h: Likewise.
399	* linux/x86_64/syscallent.h: Likewise.
400	* linux/arm/syscallent.h: Add hooks for accept4, fanotify_init,
401	fanotify_mark, and prlimit64.
402	* linux/hppa/syscallent.h: Add hook for prlimit64.
403
4042011-01-16  Dmitry V. Levin  <ldv@altlinux.org>
405
406	block.c: cleanup
407	* block.c: Include <inttypes.h>.
408	(print_blkpg_req): Always decode struct blkpg_ioctl_arg.
409	Robustify decoding of strings.
410	(block_ioctl): Do not decode return values passed by pointers on exit
411	from failed syscalls.
412	Use format macros from inttypes.h to print values of type uint64_t.
413
4142011-01-15  Dmitry V. Levin  <ldv@altlinux.org>
415
416	Add block ioctl support
417	* block.c: New file.
418	* Makefile.am (strace_SOURCES): Add it.
419	* defs.h [LINUX] (block_ioctl): New function.
420	* ioctl.c (ioctl_decode) [LINUX]: Use it to decode HDIO_* and BLK*
421	ioctls.
422	Patch by Jeff Mahoney <jeffm@suse.com>
423
4242011-01-14  Holger Hans Peter Freyther  <zecke@selfish.org>
425
426	Parse SOL_SCTP socket options
427	* configure.ac (AC_CHECK_HEADERS): Add netinet/sctp.h.
428	* net.c [HAVE_NETINET_SCTP_H]: Include <netinet/sctp.h>.
429	[SOL_SCTP] (socksctpoptions): New xlat structure.
430	(sys_getsockopt, printsockopt): Parse SOL_SCTP options.
431
432	* net.c (socketlayers): Add more SOL_* constants from linux/socket.h
433
4342011-01-14  Dmitry V. Levin  <ldv@altlinux.org>
435
436	strace.1: fix misleading italics
437	* strace.1: Use bold instead of italics for "-e trace=" keywords.
438	This fixes Debian bug #589323.
439
440	Update linux/ioctlent.h
441	* linux/ioctlent.h: Regenerate using linux v2.6.37 headers.
442
443	Add HDIO_* ioctls defined in linux/hdreg.h
444	* linux/ioctlent.sh: Add HDIO_* ioctls (0x03..) defined in
445	linux/hdreg.h header file.
446	This fixes Debian bug #450953.
447
4482011-01-13  Dmitry V. Levin  <ldv@altlinux.org>
449
450	Test PTRACE_O_TRACECLONE and PTRACE_O_TRACEVFORK along with PTRACE_O_TRACEFORK
451	* strace.c (test_ptrace_setoptions): Add PTRACE_O_TRACECLONE and
452	PTRACE_O_TRACEVFORK to PTRACE_SETOPTIONS call, to test exactly
453	the same set of options that is going to be used later in trace().
454
4552011-01-10  Dmitry V. Levin  <ldv@altlinux.org>
456
457	* net.c (protocols): Add more IPPROTO_* constants defined in netinet/in.h
458
4592011-01-10  Holger Hans Peter Freyther  <holger@freyther.de>
460
461	* net.c (protocols): Add IPPROTO_GRE, IPPROTO_SCTP and IPPROTO_UDPLITE.
462
4632011-01-10  Carmelo AMOROSO  <carmelo.amoroso@st.com>
464
465	sh: Add entry for not-multiplexed accept4
466	* linux/sh/syscallent.h: Add specific entry for not-multiplexed accept4
467	available in kernel mainline since v2.6.37-rc6, see
468	http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=21b6e4c7106b2d68a6710506d8706608272fd78b
469
4702010-12-14  Carmelo AMOROSO  <carmelo.amoroso@st.com>
471
472	sh: Add entries for not-multiplexed socket calls
473	* linux/sh/syscallent.h: Add specific entries for not-multiplexed
474	socket calls (available in kernel mainline since v2.6.37-rc1)
475
476	sh: Fix compilation warning in do_pipe due to missing prototype
477	* defs.h [SH]: Make getrval2 prototype visible to do_pipe
478	and fix the following compiler warning:
479	.../net.c: In function 'do_pipe':
480	.../net.c:1632: warning: implicit declaration of function 'getrval2'
481	.../net.c:1632: warning: format '%lu' expects type 'long unsigned int',
482	but argument 3 has type 'int'
483
4842010-12-14  Dmitry V. Levin  <ldv@altlinux.org>
485
486	Fix build on uClibc
487	* defs.h [LINUX]: Define PTRACE_GETEVENTMSG macro.
488	Patch by Douglas Mencken <dougmencken@gmail.com>.
489
4902010-12-07  Dmitry V. Levin  <ldv@altlinux.org>
491
492	Fix strace -f -o '|command' hangup
493	* strace.c (main): Call test_ptrace_setoptions() before parsing
494	-o option, otherwise a forked command will cause a hangup inside
495	test_ptrace_setoptions().
496
4972010-12-03  Dmitry V. Levin  <ldv@altlinux.org>
498
499	Output diagnostics to stderr
500	* syscall.c (get_scno): Output information about changes in
501	personality mode to stderr.  Reported by Pádraig Brady.
502
503	Recognize more clone flags
504	* process.c (CLONE_*): Define more flags from linux v2.6.25.
505	(clone_flags): Add entries for them.
506	Proposed by <zhangyanfei@cn.fujitsu.com>.
507
508	Decode struct ucred for getsockopt SO_PEERCRED
509	* net.c (sys_getsockopt): Decode SO_PEERCRED.
510	Proposed by Arkadiusz Miśkiewicz <arekm@maven.pl>.
511
5122010-12-03  Carmelo AMOROSO  <carmelo.amoroso@st.com>
513
514	sh: Add support for tracing sys_cacheflush system call
515	* linux/sh/syscallent.h: Update sys_cacheflush entry.
516	* linux/syscall.h [SH] (sys_cacheflush): New function declaration.
517	* system.c [SH] (cacheflush_flags): New xlat structure.
518	[SH] (sys_cacheflush): New function.
519
520	Reviewed-by: Angelo Castello <angelo.castello@st.com>
521
5222010-11-30  Dmitry V. Levin  <ldv@altlinux.org>
523
524	Cleanup test_ptrace_setoptions()
525	* strace.c (test_ptrace_setoptions): Cleanup.
526	(main): Fix test_ptrace_setoptions() error diagnostics message.
527	Print ptrace_setoptions value in debug mode.
528
5292010-11-30  Wang Chao  <wang.chao@cn.fujitsu.com>
530
531	Handle followfork using ptrace_setoptions if available
532	If PTRACE_O_TRACECLONE et al options are supported by kernel,
533	use them to do followfork rather than the original setbpt
534	method that changes registers ourselves.
535
536	* defs.h [LINUX] (handle_new_child): New function prototype.
537	* process.c [LINUX] (handle_new_child): New function based on the
538	code from internal_fork(), with a trivial change: do reparent only
539	for sys_clone.
540	[LINUX] (internal_fork): Use handle_new_child().  Do nothing if
541	ptrace_setoptions is in effect.
542	* strace.c [LINUX] (handle_ptrace_event): New function.
543	[LINUX] (trace): If ptrace_setoptions is in effect, then
544	call the new function to handle PTRACE_EVENT_* status, and
545	set PTRACE_SETOPTIONS when we see the initial stop of tracee.
546
547	Test how PTRACE_SETOPTIONS support works
548	Currently test fork related options only.  Fork a child that uses
549	PTRACE_TRACEME at startup and then does a fork so strace can test
550	how the PTRACE_SETOPTIONS support works before it handles any real
551	tracee.  Since PTRACE_O_TRACECLONE/*FORK were introduced to kernel
552	at the same time, this test seems to be enough for these 3 options.
553
554	* defs.h [LINUX]: Define PTRACE_O_TRACECLONE et al macros here.
555	(ptrace_setoptions): New variable declaration.
556	* strace.c [LINUX] (test_ptrace_setoptions): New function, tests
557	whether kernel supports PTRACE_O_CLONE/*FORK, the result is stored
558	in the new variable ptrace_setoptions for later use.
559	(main): Call test_ptrace_setoptions() if followfork option is set.
560
5612010-09-17  Dmitry V. Levin  <ldv@altlinux.org>
562
563	Enable support for less verbose build rules
564	* configure.ac (AM_INIT_AUTOMAKE): Add silent-rules.
565
5662010-09-17  Wang Chao  <wang.chao@cn.fujitsu.com>
567
568	Do not trace children cloned with CLONE_UNTRACED flag
569	If clone is called with flag CLONE_UNTRACED, to be consistent with
570	option PTRACE_O_TRACECLONE, we should not set CLONE_PTRACE flag on
571	its arguments.
572
573	* process.c [LINUX] (internal_fork): Check the syscall and arguments.
574
5752010-09-17  Dmitry V. Levin  <ldv@altlinux.org>
576
577	Update the list of CLOCK_* constants to match Linux kernel v2.6.32+
578	* time.c (struct xlat clocknames[]): Add more RT clock IDs.
579	Reported by Tommi Rantala.
580
5812010-09-16  Dmitry V. Levin  <ldv@altlinux.org>
582
583	Update linux/hppa/syscallent.h to match Linux kernel v2.6.35
584	* linux/hppa/syscallent.h: Add hooks for recvmmsg and accept4.
585
5862010-09-15  Dmitry V. Levin  <ldv@altlinux.org>
587
588	Pass less information to qualify_one and qual_*
589	* syscall.c (qualify_one, qual_syscall, qual_signal, qual_fault,
590	qual_desc): Take just a bitflag argument instead of pointer to the whole
591	qual_options structure.
592	(struct qual_options): Update prototype of "qualify" field.
593	(qualify): Update use of qualify_one and qual_options->qualify.
594
5952010-09-15  Wang Chao  <wang.chao@cn.fujitsu.com>
596
597	Fix -e option with only one value in qualifier statement
598	Fix regression introduced by commit v4.5.20-19-g30145dd:
599	if -e option is used with only one value in qualifier statement,
600	e.g. 'strace -e trace=open ls', syscall information would not be
601	printed properly.
602
603	* syscall.c (qualify): Remove faulty optimization.
604
6052010-09-15  Mike Frysinger  <vapier@gentoo.org>
606
607	Fix off_t/rlim_t size checks when cross-compiling
608	The current off_t/rlim_t size checks (wrt size of long long) use AC_RUN
609	which obviously doesn't work when cross-compiling.  While we don't hit
610	any configure errors, the fall back code is pretty dumb (which is to say
611	there isn't any).  Considering the code in question though, we can use
612	some fun compiler tricks with sizeof and array lengths to turn it into
613	a pure build test and avoid the RUN issue completely.
614
615	* m4/long_long.m4 (AC_OFF_T_IS_LONG_LONG, AC_RLIM_T_IS_LONG_LONG):
616	Convert from AC_RUN_IFELSE to AC_COMPILE_IFELSE.
617
618	Fix long long little endian detection when cross-compiling
619	The long long endian detection code does an AC_TRY_RUN() and since that
620	doesn't work when cross-compiling, it sets a fallback value.  However,
621	rather than do any sort of default endian detection, the code simply
622	sets it to "no".  This probably breaks most little endian systems out
623	there when cross-compiling for them.  It certainly breaks Blackfin
624	systems.  So use the common endian detection code provided by autoconf
625	and key off of that when cross-compiling.
626
627	* configure.ac: Call AC_C_BIGENDIAN.
628	* m4/long_long.m4 (AC_LITTLE_ENDIAN_LONG_LONG): Set cross-compiling
629	logic based on ac_cv_c_bigendian.
630
631	Blackfin: decode new syscalls
632	* linux/bfin/syscallent.h: Add fanotify/prlimit/cacheflush syscalls.
633	* linux/syscall.h: Add sys_cacheflush() decl.
634	* system.c: Decode Blackfin's cacheflush syscall.
635
636	* linux/ioctlent.sh: Search a few non-exported paths.
637
6382010-09-15  Roland McGrath  <roland@redhat.com>
639
640	Clean up pid2tcb usage
641	* strace.c (pid2tcb): Always match pid.  Fail for argument <= 0.
642	[USE_PROCFS] (first_used_tcb): New function.
643	[USE_PROCFS] (trace): Use that instead of pid2tcb(0).
644
6452010-09-09  Dmitry V. Levin  <ldv@altlinux.org>
646
647	Turn on more compiler warnings
648	* configure.ac: Enable gcc -Wwrite-strings.
649
650	Import warnings.m4 from gnulib
651	* m4/warnings.m4: Replace with warnings.m4 from gnulib.
652	* configure.ac: Use gl_WARN_ADD from new warnings.m4.
653	* Makefile.am (AM_CFLAGS): Update for new warnings.m4.
654
655	Split acinclude.m4
656	* Makefile.am (ACLOCAL_AMFLAGS): Add "-I m4".
657	* acinclude.m4: Remove.
658	* m4/includedir.m4: New file, with definition of AC_INCLUDEDIR from
659	acinclude.m4.
660	* m4/long_long.m4: New file, with definitions of AC_OFF_T_IS_LONG_LONG,
661	AC_RLIM_T_IS_LONG_LONG and AC_LITTLE_ENDIAN_LONG_LONG from acinclude.m4.
662	* m4/procfs.m4: New file, with definitions of AC_MP_PROCFS,
663	AC_POLLABLE_PROCFS and AC_STRUCT_PR_SYSCALL from acinclude.m4.
664	* m4/stat.m4: New file, with definition of AC_STAT64 from acinclude.m4.
665	* m4/statfs.m4: New file, with definition of AC_STATFS64 from
666	acinclude.m4.
667	* m4/warnings.m4: New file, with definition of AC_WARNFLAGS from
668	acinclude.m4.
669
670	* process.c (sys_waitid): Remove unused variable.
671
6722010-09-07  Dmitry V. Levin  <ldv@altlinux.org>
673
674	Fix const-correctness issues uncovered by gcc -Wwrite-strings
675	* defs.h (struct xlat): Add const qualifier to the field of
676	type "char *".
677	(set_sortby, qualify, printnum, printnum_int): Add const qualifier to
678	arguments of type "char *".
679	* count.c (set_sortby): Add const qualifier to the argument and
680	automatic variable of type "char *".
681	* desc.c (decode_select): Add const qualifier to automatic variables of
682	type "char *".
683	* ioctlsort.c (struct ioctlent): Add const qualifier to fields of
684	type "char *".
685	(main):  Add const qualifier to argv.
686	* process.c (printargv): Add const qualifier to the argument and
687	automatic variable of type "char *".
688	(printargc) Add const qualifier to argument of type "char *".
689	* signal.c (sprintsigmask, parse_sigset_t): Add const qualifier to
690	arguments of type "char *".
691	* strace.c (progname): Add const qualifier.
692	(detach): Add const qualifier to automatic variable of type "char *".
693	* stream.c (struct strbuf): Add const qualifier to the field of
694	type "char *".
695	* syscall.c (struct qual_options): Add const qualifier to fields of
696	type "char *".
697	(qual_syscall, qual_fault, qual_desc, lookup_class): Add const qualifier
698	to arguments of type "char *".
699	(qual_signal): Add const qualifier to the argument of type "char *",
700	avoid modification of constant argument.
701	(qualify): Likewise.
702	* util.c (printflags): Add const qualifier to automatic variable of
703	type "char *".
704	(printnum, printnum_int): Add const qualifier to arguments of
705	type "char *".
706
7072010-09-04  Wang Chao  <wang.chao@cn.fujitsu.com>
708
709	Fix printing clone flags
710	When we trace clone() syscall with only exit signal as clone
711	flags, strace would print an unnecessary OR operator.
712
713	* process.c (sys_clone): Fix this.
714
7152010-08-28  Wang Chao  <wang.chao@cn.fujitsu.com>
716
717	Drop nclone_detached and related flags
718	Remove nclone_detached since CLONE_DETACHED flag was no-op for a very
719	long time in kernel.
720
721	* defs.h (struct tcb): Remove nclone_detached field.
722	Remove TCB_CLONE_DETACHED flag.
723	* process.c: Remove CLONE_DETACHED flag.
724	(clone_flags): Remove CLONE_DETACHED entry.
725	(internal_fork, internal_wait): Remove code dealing with CLONE_DETACHED
726	flag and nclone_detached.
727	* strace.c (startup_attach, alloc_tcb, droptcb, handle_group_exit):
728	Likewise.
729
7302010-08-09  Neil Campbell  <lists@thebatcave.org.uk>
731
732	Correct get/set_robust_list syscall numbers for powerpc
733	* linux/powerpc/syscallent.h: Swap positions of get_ and set_robust_list.
734
7352010-08-09  Wang Chao  <wang.chao@cn.fujitsu.com>
736
737	Handle CLONE_PARENT flag
738	* process.c (internal_fork): The parent of new cloned process is the
739	same of the calling process when CLONE_PARENT is set.
740
741	Fix error when judging if process has children
742	* process.c (internal_wait): Processes counted in tcp->nclone_threads
743	are tcp's threads, rather than tcp's children.
744
745	Forbid using mutually exclusive options -D and -p together
746	If we use -D and -p option together to trace a multi-thread program, in
747	addition to the main thread, other threads could not be traced even if we
748	present -f option. Moreover, when executing 'strace -D -p <non-exist pid>',
749	strace could not terminate normally.
750
751	* strace.c (main): Check it.
752
7532010-08-05  David Daney  <ddaney@caviumnetworks.com>
754
755	Update Linux MIPS syscalls to match 2.6.35-rc6+
756	* linux/mips/syscallent.h: Add and update 405 hooks.
757
7582010-08-05  Edgar E. Iglesias  <edgar.iglesias@gmail.com>
759
760	Add support for the MicroBlaze architecture
761	* configure.ac: Recognize MicroBlaze.
762	* linux/microblaze/syscallent.h: New file.
763	* Makefile.am (EXTRA_DIST): Add linux/microblaze/syscallent.h
764	* process.c (change_syscall, struct_user_offsets): Add MicroBlaze
765	support.
766	* signal.c (sys_sigreturn): Likewise.
767	* syscall.c (internal_syscall, get_scno, syscall_fixup, get_error,
768	syscall_enter): Likewise.
769
7702010-08-05  Frederik Schüler  <fs@debian.org>
771
772	linux/sparc: add missing syscall declarations
773	* linux/sparc/syscall.h: Sync with linux/syscall.h
774
7752010-07-17  Andreas Schwab  <schwab@linux-m68k.org>
776
777	Handle biarch get/setrlimit
778	* resource.c (print_rlimit32) [POWERPC64 || X86_64]: Define.
779	(sys_getrlimit, sys_setrlimit) [POWERPC64 || X86_64]: Use it.
780
7812010-07-13  Andreas Schwab  <schwab@linux-m68k.org>
782
783	Add biarch support for powerpc64
784	* acinclude.m4 (AC_LITTLE_ENDIAN_LONG_LONG): Use int instead of
785	long.
786	* configure.ac [$host_cpu = powerpc*]: Also define POWERPC64 if
787	$host_cpu = powerpc64.
788	* defs.h (SUPPORTED_PERSONALITIES, PERSONALITY0_WORDSIZE)
789	(PERSONALITY1_WORDSIZE) [POWERPC64]: Define.
790	* file.c: (struct stat_powerpc32, printstat_powerpc32) [POWERPC64]:
791	Define.
792	(printstat) [LINUX && POWERPC64]: Use printstat_powerpc32 in
793	32-bit personality.
794	(sys_newfstatat) [POWERPC64]: Handle personalities.
795	* signal.c (sys_sigreturn) [POWERPC64]: Likewise.
796	* util.c (printllval) [POWERPC64]: Likewise.
797	(printcall) [POWERPC64]: Use wider format for IP prefix.
798	* syscall.c (get_scno) [POWERPC64]: Check for 64/32 bit mode.
799	* linux/powerpc/errnoent1.h: New file.
800	* linux/powerpc/ioctlent1.h: New file.
801	* linux/powerpc/signalent1.h: New file.
802	* linux/powerpc/syscallent1.h: New file.
803
8042010-07-09  Andreas Schwab  <schwab@redhat.com>
805
806	Balance braces
807	* strace.c (proc_open): Avoid unbalanced braces.
808	(trace): Likewise.
809
8102010-07-06  Andreas Schwab  <schwab@linux-m68k.org>
811
812	Remove extern declaration at file scope
813	* defs.h (force_result): Declare.
814	* process.c (internal_wait): Don't declare force_result.
815
8162010-06-24  Andreas Schwab  <schwab@redhat.com>
817
818	Document -C/-D
819	* strace.c (usage): Document -C.
820	* strace.1: Document -D.
821
8222010-06-13  Roland McGrath  <roland@redhat.com>
823
824	Fix sourceforge download URL.
825
8262010-06-05  Andreas Schwab  <schwab@linux-m68k.org>
827
828	M68K: Fix fetching syscall arguments
829	* syscall.c (syscall_enter) [M68K]: Properly handle more than five
830	syscall arguments.
831
8322010-05-28  Andreas Schwab  <schwab@linux-m68k.org>
833
834	Decode TLS syscalls on m68k
835	* linux/m68k/syscallent.h: Add entries for get_thread_area,
836	set_thread_area, atomic_comxchg_32, atomic_barrier.
837	* linux/dummy.h (sys_get_thread_area, sys_set_thread_area) [M68K]:
838	Don't redefine.
839	* mem.c (sys_get_thread_area, sys_set_thread_area) [LINUX && M68K]: New.
840
841	Fix warning when compiling for m68k
842	* syscall.c (d0): Define as long.
843
8442010-04-13  Dmitry V. Levin  <ldv@altlinux.org>
845
846	Prepare for 4.5.20 release
847	* NEWS: Update for 4.5.20 release.
848	* configure.ac: Version 4.5.20.
849	* debian/changelog: 4.5.20-1.
850	* strace.spec: 4.5.20-1.
851
8522010-04-13  Frederik Schüler  <fs@debian.org>
853
854	Update debian/* files for the upcoming release
855	* debian/control: update standards-version to 3.8.4.
856	* debian/rules: allow parallel building.
857	* debian/rules: comment out verbose build, only needed for debugging.
858	* debian/rules: clean up clean: target, dh_clean does most of the work
859	  already.
860	* debian/rules: use *-stamp instead of stamp-*, so dh_clean can tidy
861	  up for us.
862
8632010-04-13  Heiko Carstens  <heiko.carstens@de.ibm.com>
864
865	Fix s390 system call table list
866	* linux/s390/syscallent.h: Add the missing entries for preadv and
867	pwritev to the system call table list.
868	* linux/s390x/syscallent.h: Likewise.
869
8702010-04-07  Dmitry V. Levin  <ldv@altlinux.org>
871
872	Update linux/ioctlent.h
873	* linux/ioctlent.sh: Search in asm-generic directory as well.
874	* linux/ioctlent.h: Regenerated.
875
876	Update linux/*/syscallent.h files to match Linux kernel v2.6.33
877	* linux/alpha/syscallent.h: Add 47 hooks.
878	* linux/arm/syscallent.h: Update hooks for pselect6, ppoll,
879	epoll_pwait.  Add 11 hooks.
880	* linux/bfin/syscallent.h: Update hooks for prctl, fallocate,
881	signalfd4, eventfd2, epoll_create1, dup3, pipe2, perf_event_open.
882	Hook up recvmmsg.
883	* linux/hppa/syscallent.h: Update hooks for signalfd4, eventfd2,
884	epoll_create1, dup3, pipe2, perf_event_open.
885	* linux/i386/syscallent.h: Fix syscall name for the kexec_load hook.
886	Add 5 hooks.
887	* linux/ia64/syscallent.h: Fix syscall name for the kexec_load hook.
888	Add 4 hooks.
889	* linux/m68k/syscallent.h: Add 50 hooks.
890	* linux/powerpc/syscallent.h: Fix hook for timerfd_create.  Fix
891	6 syscall names to match the kernel.  Use sys_semop to parse semop.
892	Add 14 hooks.
893	* linux/s390/syscallent.h: Fix syscall name for the kexec_load hook.
894	Add 14 hooks.
895	* linux/s390x/syscallent.h: Likewise.
896	* linux/sh/syscallent.h: Add 13 hooks.
897	* linux/sh64/syscallent.h: Add 15 hooks.
898	* linux/sparc/syscallent.h: Add 22 hooks.
899	* linux/x86_64/syscallent.h: Add 5 hooks.
900
901	Enhance recvmmsg parser
902	* net.c (sys_recvmmsg): Decode mmsghdr structure on exit from the
903	syscall.  Decode timespec structure both on entrance and on exit.
904
9052010-04-07  Andreas Schwab  <schwab@linux-m68k.org>
906
907	Decode recvmmsg syscall
908	* net.c (do_msghr): New function to print struct msghdr.
909	(printmsghdr): Use it.
910	(printmmsghdr, sys_recvmmsg): New.
911	* linux/syscall.h: Declare sys_recvmmsg.
912	(SYS_sub_recvmmsg): Define.
913	(SYS_socket_nsubcalls): Bump.
914	* linux/sparc/syscall.h: Likewise.
915	* linux/arm/syscallent.h: Add sys_recvmmsg.
916	* linux/bfin/syscallent.h: Likewise.
917	* linux/i386/syscallent.h: Likewise.
918	* linux/m68k/syscallent.h: Likewise.
919	* linux/powerpc/syscallent.h: Likewise.
920	* linux/s390/syscallent.h: Likewise.
921	* linux/s390x/syscallent.h: Likewise.
922	* linux/sh/syscallent.h: Likewise.
923	* linux/sh64/syscallent.h: Likewise.
924	* linux/sparc/syscallent.h: Likewise.
925	* linux/ia64/syscallent.h: Adjust.
926
9272010-04-07  Dmitry V. Levin  <ldv@altlinux.org>
928
929	* strace.1: Fix quoting of hyphens and formatting of strace options.
930
931	Split trace_syscall() for better readability
932	* syscall.c (trace_syscall): Split into trace_syscall_exiting() and
933	trace_syscall_entering().
934
935	Implement -C option to combine regular and -c output
936	* defs.h (cflag_t): New enum.
937	* strace.1: Document -C option.
938	* strace.c (cflag): Update type.
939	(main): Handle -C option.
940	(trace): Update use of cflag.
941	* count.c (count_syscall): Move clearing of TCB_INSYSCALL to ...
942	* syscall.c (trace_syscall): ... here.  Update use of cflag.
943	Based on patch by Adrien Kunysz.
944
945	Fix "make dist" regression introduced by commit v4.5.19-12-g5078770
946	* Makefile.am (EXTRA_DIST): Rename linux/syscallent.h to linux/i386/syscallent.h
947
948	* desc.c (sys_epoll_pwait): Fix output formatting bug.
949
950	* desc.c (decode_select): Fix potential stack buffer overflow.
951
9522010-03-31  Dmitry V. Levin  <ldv@altlinux.org>
953
954	Fix msgsnd indirect ipccall decoding
955	This regression was introduced by commit v4.5.18-136-g783f5bc.
956	* ipc.c (tprint_msgsnd): Add and use "flags" argument.
957	(sys_msgsnd): Pass "flags" argument to tprint_msgsnd().
958	Patch by Anton Blanchard.
959
9602010-03-23  Mark Wielaard  <mjw@redhat.com>
961
962	Hook up inotify_init1 open mode flags printer
963	* file.c [LINUX] (sys_inotify_init1): New function.
964	* linux/syscall.h: Declare new sys_inotify_init1 handler.
965	* linux/bfin/syscallent.h: Hook up new handler.
966	* linux/hppa/syscallent.h: Likewise.
967	* linux/i386/syscallent.h: Likewise.
968	* linux/x86_64/syscallent.h: Likewise.
969
9702010-03-09  Andreas Schwab  <schwab@redhat.com>
971
972	Avoid spurious error when checking for linux/netlink.h
973	* configure.ac: Include <asm/types.h> when checking for
974	linux/netlink.h.
975
9762010-02-23  Andreas Schwab  <schwab@linux-m68k.org>
977
978	Fix reporting signal mask by sigreturn on powerpc
979	* signal.c (sys_sigreturn) [POWERPC]: Skip dummy stack frame when
980	locating signal context.
981
9822010-02-09  David Daney  <ddaney@caviumnetworks.com>
983
984	Fix MIPS N32/N64 compile error
985	* syscall.c [LINUX_MIPSN32 || LINUX_MIPSN64] (syscall_enter): Pass
986	tcp->pid to ptrace().
987
9882010-02-05  Chris Metcalf  <cmetcalf@tilera.com>
989
990	Add support for the TILE architecture
991	* configure.ac: Add TILE to the list of supported architectures.
992	* defs.h: Define TCB_WAITEXECVE for TILE.
993	* linux/tile/syscallent.h: New file.
994	* Makefile.am (EXTRA_DIST): Add linux/tile/syscallent.h
995	* process.c (change_syscall, struct_user_offsets): Add TILE support.
996	* syscall.c (get_scno, get_error, syscall_enter): Likewise.
997	* mem.c (mmap_flags, print_mmap): Add MAP_CACHE_xxx TILE extensions
998	support.
999	* signal.c (sigact_flags): Add SA_NOPTRACE.
1000	(sys_sigreturn): Add TILE support.
1001
10022010-02-04  Dmitry V. Levin  <ldv@altlinux.org>
1003
1004	Remove dead code
1005	* defs.h (tv_tv): Remove.
1006	* net.c (sys_xsetsockaddr): Remove commented out dead code.
1007	* process.c (setarg, sys_execv, sys_execve, struct_user_offsets):
1008	Likewise.
1009	* signal.c (sys_sigsuspend): Likewise.
1010	* strace.c (reaper, trace): Likewise.
1011	* stream.c (internal_stream_ioctl): Likewise.
1012	* syscall.c (trace_syscall): Likewise.
1013	* term.c (term_ioctl): Likewise.
1014	* util.c (tv_tv, umoven, uload, getpc, fixvfork, setbpt, clearbpt):
1015	Likewise.
1016
1017	Merge Linux internal_clone() into internal_fork()
1018	* defs.h (internal_clone): Remove.
1019	* process.c (internal_clone): Merge into internal_fork().
1020	(internal_fork) [!LINUX]: Remove dead code.
1021	* syscall.c (internal_syscall): Replace internal_clone() with
1022	internal_fork().
1023
1024	* Makefile.am (INCLUDES): Remove redundant search directories.
1025
10262010-02-04  Frederik Schüler  <fs@debian.org>
1027
1028	Update debian/* files
1029	* debian/control: add sparc64 to the architectures list.
1030	This closes Debian bug #560062
1031	* Backport commit f0df31e71a58c6e79ba77c1a9d84b2f38d44bec7 to fix FTBFS.
1032	This closes Debian bug #560516
1033	* debian/control: Update standards-version to 3.8.3.
1034	* debian/control: Lower package priority to optional, matching
1035	the archive override.
1036	* debian/control: add ${misc:Depends} to Depends: lines where
1037	appropriate.
1038	* debian/watch: new file, allows automatic tracking of new
1039	upstream versions.
1040	* debian/source/format: new file, adapt to debian source format "quilt"
1041	* debian/rules: indentation cleanups; use dh_testroot and dh_prep
1042	in clean target.
1043
10442010-01-25  Andreas Schwab  <schwab@redhat.com>
1045
1046	Fix spurious failure of AC_STAT64 test
1047	* acinclude.m4 (AC_STAT64): Include <sys/types.h> first.
1048
10492010-01-12  Andreas Schwab  <schwab@redhat.com>
1050
1051	Don't kill the process when detaching
1052	* strace.c (detach): Call clearbpt when TCB_BPTSET is set.
1053
10542009-12-25  Dmitry V. Levin  <ldv@altlinux.org>
1055
1056	Decode fifth argument of mremap syscall
1057	* mem.c (sys_mremap): Decode fifth argument.
1058	* linux/*/syscallent.h: Update the number of mremap syscall arguments.
1059
10602009-12-24  Chris Metcalf  <cmetcalf@tilera.com>
1061
1062	* mem.c (sys_mbind): Display first argument in hex
1063
1064	* mem.c (mremap_flags): Add MREMAP_FIXED
1065
10662009-11-16  Mike Frysinger  <vapier@gentoo.org>
1067
1068	Move i386-specific files out of common linux dir
1069	* linux/syscallent.h: Moved to ...
1070	* linux/i386/syscallent.h: ... here.
1071	* linux/ia64/syscallent.h: Update i386 syscallent.h include.
1072	* linux/sparc/gen.pl: Likewise.
1073	* linux/x86_64/syscallent1.h: Likewise.
1074
10752009-11-16  Andreas Schwab  <schwab@redhat.com>
1076
1077	Remove support for pre-C89
1078	* defs.h: Remove references to __STDC__ and P macros.
1079	* strace.c: Likewise.
1080
10812009-11-13  Dmitry V. Levin  <ldv@altlinux.org>
1082
1083	Decode more SOL_PACKET socket options
1084	* net.c (sockpacketoptions): Add more PACKET_* entries.
1085	(sys_getsockopt): Decode PACKET_STATISTICS.
1086	(printsockopt): Decode PACKET_RX_RING and PACKET_TX_RING.
1087	Patch by Gabor Gombas.
1088
10892009-11-11  Andreas Schwab  <schwab@redhat.com>
1090
1091	Ignore errors if a thread is killed
1092	* util.c (clearbpt): Ignore ESRCH error.
1093
10942009-11-06  Bernhard Reutner-Fischer  <rep.dot.nop@gmail.com>
1095
1096	Fix handling of Linux systems without struct statfs64
1097	* acinclude.m4 (AC_STATFS64): New macro to check for struct statfs64.
1098	* configure.ac: Call AC_STATFS64.
1099	* file.c (printstatfs64, sys_statfs64, sys_fstatfs64): Compile only
1100	  if struct statfs64 is available.
1101
11022009-11-06  Dmitry V. Levin  <ldv@altlinux.org>
1103
1104	Fix getsockopt decoding on architectures where sizeof(long) > sizeof(int)
1105	* net.c (sys_getsockopt): Optimize output a bit.
1106	Decode integer argument using printnum_int(), patch by Gabor Gombas.
1107
1108	Check umove() return code
1109	* bjm.c (sys_query_module): Print input parameters when entering
1110	syscall.  Fix handling of syscall error.  Handle unlikely umove()
1111	failures.
1112	* ipc.c (tprint_msgrcv): New function.  Move part of msgrcv parser code
1113	here, add check umove() return code.
1114	(sys_msgsnd): Print msqid parameter as int instead of long.
1115	(sys_msgrcv): Likewise.  Use tprint_msgrcv().
1116	* process.c (print_affinitylist): Check umove() return code.
1117	* sock.c (sock_ioctl): Handle unlikely umove() failure in the
1118	SIOCGIFCONF parser.
1119
1120	Fix check for linux/netlink.h on Linux 2.6.32-rc5+
1121	* configure.ac (AC_CHECK_HEADERS): In check for linux/netlink.h, include
1122	sys/socket.h instead of linux/socket.h beforehand.
1123
11242009-11-04  Andreas Schwab  <schwab@redhat.com>
1125
1126	Decode fallocate on PowerPC
1127	* linux/powerpc/syscallent.h: Decode fallocate.
1128
1129	Factor out printing of 64bit syscall argument
1130	* defs.h (ALIGN64): Remove.
1131	(printllval): Declare.
1132	* util.c (printllval): Define.
1133	* file.c (sys_readahead): Use printllval.
1134	(sys_lseek64): Likewise.
1135	(sys_truncate64): Likewise.
1136	(sys_ftruncate64): Likewise.
1137	(sys_fadvise64): Likewise.
1138	(sys_fadvise64_64): Likewise.
1139	(sys_fallocate): Likewise.
1140	* io.c (sys_pread): Likewise.
1141	(sys_pwrite): Likewise.
1142	(sys_pread64): Likewise.
1143	(sys_pwrite64): Likewise.
1144	* mem.c (sys_mmap64): Likewise.
1145
11462009-11-03  Andreas Schwab  <schwab@redhat.com>
1147
1148	Correct decoding of readahead and fadvice64(_64) on PowerPC
1149	* file.c (sys_readahead): Align 64bit argument.  Handle PowerPC64
1150	like other 64bit architectures.
1151	(sys_fadvise64): Likewise.
1152	(sys_fadvise64_64): Handle PowerPC like ARM.
1153	* linux/powerpc/syscallent.h (sys_readahead): Account for 64bit
1154	argument alignment on PowerPC32.
1155
11562009-10-27  Andreas Schwab  <schwab@redhat.com>
1157
1158	Maintain separate print column for each process
1159	* defs.h (struct tcp): Add curcol.
1160	* strace.c: (alloc_tcb): Initialize it.
1161	(trace): Use curcol from current process and save it before
1162	continuing.
1163	(tprintf): Don't modify curcol on output error.
1164
11652009-10-21  Roland McGrath  <roland@redhat.com>
1166
1167	* strace.spec: 4.5.19-1 release.
1168
11692009-10-21  Dmitry V. Levin  <ldv@altlinux.org>
1170
1171	* file.c (printstat64): Cleanup trailing whitespace.
1172
11732009-10-16  Andreas Schwab  <schwab@redhat.com>
1174
1175	Fix decoding of newfstatat syscall on x86-64
1176	* file.c (printstat64) [LINUX && X68_64]: If tracing a 64-bit
1177	process redirect to printstat.
1178	Fixes RH#529316 "Field values shown for "newfstatat" system
1179	call are incorrect"
1180
11812009-10-12  Dmitry V. Levin  <ldv@altlinux.org>
1182
1183	* configure.ac (AC_CHECK_HEADERS): Remove asm/reg.h.
1184
11852009-10-12  Mike Frysinger  <vapier@gentoo.org>
1186
1187	sparc/linux: Rewrite to use asm/ptrace.h
1188	The current sparc/linux code uses asm/reg.h, but recent Linux kernels
1189	dropped that header completely.  So switch over to the ptrace headers
1190	as those should stick around indefinitely as part of the ABI.
1191
1192	* defs.h [LINUXSPARC] (U_REG_G1, U_REG_O0, U_REG_O1): Define.
1193	* process.c: Drop asm/regs.h include.
1194	[SPARC || SPARC64] (change_syscall): Change struct regs to struct pt_regs.
1195	* signal.c: Drop asm/regs.h include.
1196	(m_siginfo_t): Unify [SPARC || SPARC64] and [MIPS].
1197	[SPARC || SPARC64] (sys_sigreturn): Change struct regs to struct pt_regs.
1198	* syscall.c: Drop asm/regs.h include.
1199	[SPARC || SPARC64] (internal_syscall, get_scno, get_error, force_result,
1200	syscall_enter): Change struct regs to struct pt_regs.
1201	* util.c: Drop asm/regs.h include.
1202	(_hack_syscall5, _ptrace): Delete.
1203	[SPARC || SPARC64] (getpc, printcall, arg_setup_state): Change
1204	struct regs to struct pt_regs.
1205
12062009-10-11  Roland McGrath  <roland@redhat.com>
1207
1208	* make-dist: Clean up.
1209
1210	* configure.ac: Use AC_CONFIG_AUX_DIR([.]).
1211
12122009-10-09  Dmitry V. Levin  <ldv@altlinux.org>
1213
1214	* make-dist: New script for preparing release tarballs.
1215
1216	* git-set-file-times: Import from rsync.
1217
1218	* Makefile.am [MAINTAINER_MODE]: Define and export TAR_OPTIONS.
1219
12202009-10-08  Dmitry V. Levin  <ldv@altlinux.org>
1221
1222	Enhance msgsnd() parser
1223	* ipc.c (tprint_msgsnd): New function.  Move msgsnd parser code here,
1224	add check for umove() return code.
1225	(sys_msgsnd): Use tprint_msgsnd().
1226
1227	* NEWS: Update for 4.5.19 release.
1228
1229	Enhance semop()/semtimedop() sembuf parser
1230	* ipc.c (tprint_sembuf): New function. Move sembuf parser code here,
1231	add abbrev() support.
1232	(sys_semop, sys_semtimedop): Use tprint_sembuf().
1233
12342009-10-08  Jakub Bogusz  <qboosh@pld-linux.org>
1235
1236	Add pretty printing of sembuf argument to semop() and semtimedop()
1237	* ipc.c (semop_flags): New xlat structure.
1238	(sys_semop, sys_semtimedop): Add pretty printing of sembuf argument.
1239
12402009-10-08  Mike Frysinger  <vapier@gentoo.org>
1241
1242	Add support for Linux/no-mmu with vfork
1243	* configure.ac (AC_CHECK_FUNCS): Add fork.
1244	* strace.c (strace_vforked): Define.
1245	(startup_child): Do not raise SIGSTOP if vforked.
1246	(trace): Skip first exec when starting up after vforked.
1247	* syscall.c [BFIN] (get_scno): Drop waitexec checks.
1248
1249	Avoid malloc(0) in getdents parsers
1250	On end of directory, getdents returns 0.  This return value is used to
1251	then try and do malloc(0), but on some systems this will always return
1252	NULL.  Since the code won't read the pointer in question if len is 0,
1253	then don't bother calling malloc(0) and set the pointer to NULL ourself.
1254	* file.c (sys_getdents, sys_getdents64): Avoid malloc(0) call.
1255
12562009-10-07  Mike Frysinger  <vapier@gentoo.org>
1257
1258	Add sys_nanosleep() prototype for sparc
1259	* linux/sparc/syscall.h (sys_nanosleep): New prototype.
1260	Reported by Frederik Schüler.
1261
1262	Silence compiler warnings about implicit cast from pointer to integer
1263	* util.c (do_ptrace): Cast ptrace() 4th arg to long.
1264	(ptrace_restart): Drop void* cast on ptrace() 4th arg.
1265
1266	Ignore .gdb files from FLAT toolchains
1267	* .gitignore: Add /*.gdb.
1268
1269	* configure.ac (AC_CHECK_FUNCS): Sort and expand.
1270
1271	Blackfin: Update ioctl/syscall lists
1272	* linux/bfin/ioctlent.h: Sync list with latest kernel sources.
1273	* linux/bfin/syscallent.h: Likewise.
1274
1275	ioctlsort: Check ppc hosts too
1276	* linux/ioctlsort.c: Check for __powerpc__.
1277
12782009-10-07  Andreas Schwab  <schwab@redhat.com>
1279
1280	Fix build on ia64
1281	* linux/ia64/syscallent.h: Update for addition of accept4 syscall
1282	in ../syscallent.h.
1283
12842009-10-07  Roland McGrath  <roland@redhat.com>
1285
1286	* strace.spec (%doc): Add ChangeLog-CVS.
1287
1288	* Makefile.am (srpm): New phony target.
1289
1290	* Makefile.am (EXTRA_DIST): Add ChangeLog.
1291	($(srcdir)/ChangeLog): New target, replaces gen-changelog phony target.
1292	Put it inside [MAINTAINER_MODE].
1293
12942009-10-06  Dmitry V. Levin  <ldv@altlinux.org>
1295
1296	* NEWS: Update for 4.5.19 release.
1297
12982009-10-05  Frederik Schüler  <fs@debian.org>
1299
1300	Prepare debian/* files for release
1301	* debian/rules: Do not ship ChangeLog anymore.
1302	* debian/control: Update to Debian standards version 3.8.1, and remove
1303	Roland from the Maintainers list.  This closes Debian bug #521458.
1304	* debian/changelog: Document changes and prepare for release.
1305
13062009-10-05  Dmitry V. Levin  <ldv@altlinux.org>
1307
1308	* defs.h [HPPA]: Lower MAX_ARGS from 32 to 6.
1309
1310	* ipc.c [LINUX] (sys_shmat): HPPA does not use an IPC multiplexer.
1311	Based on patch from Carlos O'Donell.
1312
13132009-10-05  Carlos O'Donell  <carlos@systemhalted.org>
1314
1315	* linux/hppa/syscallent.h: Update syscalls.
1316	Based on work by Kyle McMartin and Helge Deller.
1317
1318	Fix SA_HANDLER function pointer comparisons for hppa
1319	* signal.c (sys_sigaction): Cast SA_HANDLER function pointers to long.
1320	(sys_rt_sigaction): Likewise.
1321
13222009-10-05  Edgar E. Iglesias  <edgar.iglesias@gmail.com>
1323
1324	CRIS: Correct first argument to upeek()
1325	This complements commit ea0e6e80260d2b1b7ad40282012b0e47869bcddf.
1326	* syscall.c [CRISV10 || CRISV32] (syscall_fixup, syscall_enter): Pass
1327	tcp pointer instead of pid to upeek().
1328	* util.c [CRISV10 || CRISV32] (printcall): Likewise.
1329
13302009-10-05  Dmitry V. Levin  <ldv@altlinux.org>
1331
1332	* signal.c (do_signalfd): Fix typo in output format.
1333
13342009-09-21  Dmitry V. Levin  <ldv@altlinux.org>
1335
1336	* Makefile.am (gen_changelog_start_date): Fix date.
1337
13382009-09-19  Dmitry V. Levin  <ldv@altlinux.org>
1339
1340	Prepare for 4.5.19 release
1341	* NEWS: Update for 4.5.19 release.
1342	* configure.ac: Version 4.5.19.
1343	* debian/changelog: 4.5.19-1.
1344	* strace.spec: 4.5.19-1.
1345
1346	Update debian/* to 4.5.18-1
1347	* debian/changelog: Update to 4.5.18-1.
1348	* debian/compat: Set compatibility level to 7.
1349	* debian/control (Build-Depends): Update debhelper requirement.
1350	(strace, strace64): Add Section and Priority tags.
1351
13522009-09-19  Kirill A. Shutemov  <kirill@shutemov.name>
1353
1354	Fix fadvise64 decoding on ARM
1355	* file.c (sys_fadvise64_64) [ARM]: Fix argument ordering.
1356
13572009-09-18  Dmitry V. Levin  <ldv@altlinux.org>
1358
1359	Fix follow fork/vfork on Linux ARM OABI
1360	__NR_SYSCALL_BASE eis 0 for EABI and is 0x900000 for OABI.
1361	* process (change_syscall) [LINUX && ARM]: Mask off the high order bits
1362	when changing syscall.
1363
1364	Reviewed-by: Kirill A. Shutemov <kirill@shutemov.name>
1365
13662009-09-18  Mike Frysinger  <vapier@gentoo.org>
1367
1368	Mark shell scripts as executable
1369
1370	Ignore ioctlsort helper program
1371	* .gitignore: Add ioctlsort.
1372
1373	linux/errno: Add ERFKILL
1374	* linux/errnoent.h: Change ERRNO_132 to ERFKILL according to errno 132
1375	definition introduced in Linux 2.6.31.
1376
13772009-09-01  Paolo Bonzini  <pbonzini@redhat.com>
1378
1379	Add accept4 socketcall
1380	This second patch in the series adds support for accept4 as a socketcall
1381	sub-call.  Besides the need to renumber all system calls, this poses
1382	no problem.
1383	Tested on i686.
1384
1385	* linux/arm/syscallent.h: Add accept4 socketcall.
1386	* linux/m68k/syscallent.h: Likewise.
1387	* linux/powerpc/syscallent.h: Likewise.
1388	* linux/s390/syscallent.h: Likewise.
1389	* linux/s390x/syscallent.h: Likewise.
1390	* linux/sh/syscallent.h: Likewise.
1391	* linux/sh64/syscallent.h: Likewise.
1392	* linux/sparc/syscallent.h: Likewise.
1393	* linux/syscallent.h: Likewise.
1394
1395	* linux/sparc/syscall.h (SYS_sub_accept4): Declare.
1396	(SYS_socket_nsubcalls): Update.
1397	* linux/syscall.h: Likewise.
1398
1399	Replace x86-64 paccept with accept4
1400	This patch changes the paccept syscall to accept4 for x86-64, since
1401	the former was dropped in Linux kernel commit v2.6.27-rc7-14-g2d4c826.
1402	At the same time, it adds support for pretty printing its arguments.
1403
1404	* linux/x86_64/syscallent.h: Replace paccept with accept4,
1405	hook in sys_accept4.
1406	* net.c (sys_accept): Leave a small stub calling the new...
1407	(do_accept): ... function, which also adds a flags_arg argument.
1408	(sys_accept4): New.
1409
14102009-08-28  Andreas Schwab  <schwab@redhat.com>
1411
1412	Zero-extend 32-bit addresses when printing argv array.
1413	(printargv): Zero-extend 32-bit addresses.
1414	Fixes RH#519480 "64-bit strace is lazy on execve of 32-bit
1415	process".
1416
14172009-08-12  Andreas Schwab  <schwab@redhat.com>
1418
1419	Add more futex decoding.
1420	* process.c (FUTEX_WAIT_REQUEUE_PI, FUTEX_CMP_REQUEUE_PI)
1421	(FUTEX_PRIVATE_FLAG, FUTEX_CLOCK_REALTIME): Define.
1422	(futexops): Add entries for them.
1423	(sys_futex): Decode FUTEX_CMP_REQUEUE_PI and
1424	FUTEX_WAIT_REQUEUE_PI.
1425
14262009-07-08  Dmitry V. Levin  <ldv@altlinux.org>
1427
1428	Generate ChangeLog from git log
1429	* .gitignore: Add ChangeLog
1430	* ChangeLog: Rename to ChangeLog-CVS.
1431	* Makefile.am (gen-changelog): New rule.
1432	(dist-hook): Depend on it.
1433	(EXTRA_DIST): Add ChangeLog-CVS.
1434	* README-hacking: Describe changes.
1435	* gitlog-to-changelog: Import from gnulib.
1436
1437
1438See ChangeLog-CVS for older changes.
1439