Lines Matching refs:strace
132 Closes: https://github.com/strace/strace/issues/79
164 Closes: https://github.com/strace/strace/issues/77
175 Closes: https://github.com/strace/strace/issues/78
197 * tests/strace-k-demangle.expected: Update expected output.
198 * tests/strace-k.expected: Likewise.
199 * tests/strace-k.test: Rewrite pattern matching code.
208 * strace.c (print_stopped) [ENABLE_STACKTRACE]: Call unwind_tcb_print
674 strace.c: introduce struct tcb_wait_data.
680 * strace.c (struct tcb_wait_data): New type.
811 * strace.spec.in: Likewise.
914 strace.spec.in: use $RPM_OPT_FLAGS when building auxiliary programs.
915 * strace.spec.in: Set CFLAGS_FOR_BUILD to "$RPM_OPT_FLAGS" so that
921 strace.spec.in: compress changelog files.
924 * strace.spec.in: Compress ChangeLog and ChangeLog-CVS using gzip -9n.
928 strace.spec.in: use a SUSE-specific group name for SUSE.
932 * strace.spec.in (Group): Add %{?suse_version:/Tools}.
936 strace.spec.in: use a SUSE-specific license name for SUSE.
939 * strace.spec.in (License): Add %{?suse_version:-3-Clause}.
974 strace.spec.in: minor updates here and there.
975 * strace.spec.in: Add descriptive comments to build requirements.
982 strace.spec.in: remove strace64 subpackage.
988 support for quite some time, one can just install a 64-bit strace and
991 * strace.spec.in (strace64_arches, copy64, %ifarch %{strace64_arches}):
1201 * strace.c (usage): Mention kvm argument of -e option unconditionally.
1265 Mention -e inject option in "strace -h" output.
1266 * strace.c (usage): Mention inject argument of -e option.
1288 strace.1.in: document -e kvm=vcpu option.
1289 * strace.1.in (-e kvm=vcpu): Document new option.
1303 We, strace users, want to know the reason to understand kvm. This
1305 and if strace runs on Linux 4.16.0 or higher, which includes commit
1312 vcpu is mmap'ed. strace must peek the area to know the reason.
1319 The change is complicated because there is a case that strace
1329 * strace.c (usage): Add "kvm" as a new expression for -e option.
1436 Closes: https://github.com/strace/strace/issues/72
1496 * strace.spec.in: Likewise.
1617 References: https://github.com/strace/strace/issues/35
1635 * strace.1.in (.SS Filtering): Document it.
1639 Closes: https://github.com/strace/strace/issues/35
1676 * strace.1.in: Document new syscall injection expression.
1680 Closes: https://github.com/strace/strace/issues/26
2804 Another issue was with error numbers unknown to strace: previously, they
2818 * strace.1.in (.SH DESCIPTION): Update unknown syscall example.
3008 strace.1.in: mention -Xraw in -eraw description.
3009 * strace.1.in (\fB\-e\ raw\fR=\,\fIset\fR): Mention -X raw.
3013 strace.1.in: display -k option description only if it is enabled.
3017 * strace.1.in (.SH SYNOPSIS): Put option list inside an
3029 strace.1.in: format a reference to "open" syscall using bold font.
3030 * strace.1.in (.SH DESCRIPTION): Format a reference to "open" syscall
3039 match_diff expects the first argument as strace output and the second
3105 strace.1.in: fix -A description.
3106 * strace.1.in (.SS Output format) <-A>: Add missing .B.
3108 strace.1.in: document x32 64-bit syscall peculiarity.
3109 * strace.1.in (.SH NOTES): Document "#64" suffix for 64-bit syscalls on
3128 Closes: https://github.com/strace/strace/issues/36
3219 strace-4.22/tests/inject-nf.c:86:1: error: r7 cannot be used in asm here
4050 * strace.c (droptcb): Replace mmap_cache_delete invocation
4131 unwind-libdw to attach strace side data to the unwinding context.
4181 strace.c: check return code of never failing fcntl call.
4184 * strace.c (set_cloexec_flag): Call perror_msg_and_die if fcntl(F_SETFD)
4626 strace.1.in: fix typo (Ronald -> Roland)
4921 * strace.c (init): Handle -X option, set xlat_verbosity
4923 * strace.1.in: Document -X option.
4926 Closes: https://github.com/strace/strace/issues/27
4954 References: https://github.com/strace/strace/pull/68
4961 * strace.c (alloctcb) [ENABLE_STACKTRACE]: Move unwind_tcb_init
4969 strace: move setting of post-attach flags inside after_successful_attach
4970 * strace.c (after_successful_attach): Add "flags" argument.
4976 strace: rename newoutf to after_successful_attach.
4980 * strace.c (newoutf): Rename to after_successful_attach,
4998 Closes: https://github.com/strace/strace/pull/68
5006 $ ./strace -p 1 -k
5008 ./strace: dwfl_linux_proc_attach returned an error for process 0: No such file or directory
5014 * strace.c (init) [ENABLE_STACKTRACE]: Initialize unwind context only
5225 * strace.c (xlat_verbosity): New variable.
5258 References: https://github.com/strace/strace/issues/27
5276 * strace.spec.in (%check): Extract the diagnostics.
5278 Closes: https://github.com/strace/strace/issues/21
5283 * strace.1.in (.SH OPTIONS) <.B \-k>: Remove " (experimental)".
5284 * strace.c (usage) [ENABLE_STACKTRACE]: Likewise.
5294 * strace.spec.in (BuildRequires) [!x86_64]: Add
5306 * strace.spec.in (buildrequires_libunwind_devel): Rename
5311 * tests/strace-k.test: When actual strace -k output doesn't match the
5334 Closes: https://github.com/strace/strace/issues/12
5335 Closes: https://github.com/strace/strace/issues/13
5459 * strace.1.in: Replace libunwind with an unwinder-agnostic wording.
5461 * strace.c: Likewise.
5466 * tests/strace-V.test: Update expected output.
5495 tests: robustify strace -k tests.
5499 * tests/strace-k.expected: New file.
5500 * tests/strace-k-demangle.expected: Likewise.
5502 * tests/strace-k-demangle.test (expected): Remove.
5503 * tests/strace-k.test: Likewise. Use grep to check the output.
5515 strace.spec.in: update Source URL.
5516 * strace.spec.in (Source): Change to https://strace.io/files/.
5524 * strace.spec.in: Likewise.
5551 This change renames functions exported to strace core part from unwind
5601 strace.c: add support for opening output file in append mode.
5602 * strace.c (open_append): New variable.
5605 * strace.1.in: Document this.
5613 strace.c: support simultaneous usage of -r and -t options.
5614 * strace.c (init): Do not set tflag when rflag is set.
5616 * strace.1.in (.SH OPTIONS): Add a note about differences between
5643 strace: handle possible NULL from localtime() call.
5644 * strace.c (printleader): Print raw tv_sec value if localtime() returned
5655 Closes: https://github.com/strace/strace/issues/42
5674 strace.1.in: fix formatting of -e trace class descriptions.
5677 * strace.1.in (.SS Filtering): Use .TP instead .PP as it is ought to be.
6007 Let's make a step towards the growing strace userbase all around
6014 $ LANG=es_ES strace -qq -a38 -P /missing unlink /missing
6018 * strace.c: Include <locale.h>.
6088 * strace.c: Likewise.
6249 strace: further optimize unblocking of the delay signal handler.
6258 * strace.c (next_event): Use is_delay_timer_armed instead of
6265 strace: rewrite restart error handling without sigsetjmp/siglongjmp.
6269 * strace.c: Do not include <setjmp.h>.
6278 strace: do not call sigsetjmp without a delay timer.
6282 * strace.c (next_event): Move sigsetjmp invocation under
6336 * strace.c: Include <setjmp.h>
6350 * strace.1.in: Document delay injection.
6361 * strace.c (start_set, blocked_set): Remove.
6413 README.md: add references to binary strace packages.
6414 * README.md: Add references to binary strace packages in OBS,
6458 * strace.c (printleader): Change the type of struct timeval variables
6485 * strace.c (printleader): Move declarations of variables closer
6510 Nowadays it appears to be confusing for those who build strace
6511 using a GIT version of strace source code.
6519 References: https://github.com/strace/strace/issues/56
6545 more important as soon as strace starts using clock_gettime.
6564 This can save more than 80% of CPU user time spent by strace.
6591 ../strace -qq -enone -esignal=none -f -p $!
6597 ../strace -qq -enone -esignal=none -f -p $!
6606 * strace.c [!USE_SEIZE]: Remove.
6611 Assume that strace project on the local server contains an appropriate
6798 strace.1.in: add a note about tracing of scripts without shebang.
6799 * strace.1.in (.SH NOTES): Note that tracing of scripts without shebang
6803 Closes: https://github.com/strace/strace/issues/46
6807 strace.1.in: mention that -c suppresses regular output.
6808 As the note that -C makes strace "also print regular output" can be
6811 * strace.1.in (.SS Statistics) <.TP .B \-c>: Mention that -c supresses
7108 * strace.1.in: Mention this.
7152 tests: check file name printing in strace -y mode.
7206 * strace.c (fopen_for_output): Likewise.
7309 strace.spec.in: add gcc to build requirements.
7314 * strace.spec.in (BuildRequires): Add gcc.
7337 * strace.c: Likewise.
7351 can be used by other part of strace, a way to enable mmap_cache directly
7370 * strace.c (droptcb): ... here.
7402 For making mmap cache code reusable from other areas in strace than
7424 For making mmap cache code reusable from other areas in strace
7449 (strace, strace-udeb) <Architecture>: Change to linux-any.
7450 (strace64, strace-udeb) <Priority>: Change to optional.
7455 (binary-arch): Use build64/strace.1 for strace64 subpackage.
7456 * debian/strace.manpages: Add build/ prefix.
7480 The old location of strace-devel mailing list is defunct, it used to
7483 The mailing list has been moved to strace-devel@lists.strace.io.
7490 * strace.1.in (.SH REPORTING BUGS): Likewise.
7491 * strace-log-merge.1.in (.SH REPORTING BUGS): Likewise.
7497 Closes: https://github.com/strace/strace/issues/38
7513 Apparently, the only architecture where strace needs definitions
7532 https://sourceforge.net/p/strace/code/ is defunct: it doesn't accept
7534 Likewise, https://sourceforge.net/projects/strace/files/ doesn't accept
7538 * debian/copyright: Replace the sourceforge.net based strace project URL
7540 * strace.spec.in (Source): Likewise.
7553 * strace.spec.in: Likewise.
7644 debian: build strace-udeb separately.
7648 * debian/strace-udeb.install: Update.
7656 * strace.spec.in (buildrequires_libunwind_devel): Add binutils-devel.
7667 Add "strace -V" output to build log.
7668 * strace.spec.in (%check): Print "strace -V" output before
7696 There is no compat support in strace and there are no systems
7722 strace.1.in: ffix.
7737 * strace.c: Include "ptrace.h" before <signal.h>.
7747 * strace.c: Likewise.
7905 * strace.1.in (.SS Filtering): Document it.
8006 * strace.1.in: Document it.
8093 strace.1.in: history update.
8094 strace.1.in (.SH HISTORY): Some amendments based on
8095 https://github.com/strace/strace-talks/blob/master/2012-ossdevconf-obninsk-strace_from_upstream_PoV/ossdevconf_2012-slides-strace_from_upstream_PoV.tex
8097 strace.1.in: minor changes.
8098 * strace.1.in (.SH DESCRIPTION): s/a passion/passion/,
8174 * strace.c [_LARGEFILE64_SOURCE]: Move the definitions under it to a...
8180 strace.1: fix wording about setuid installation.
8181 * strace.1.in (SETUID INSTALLATION): Fix wording.
8183 Closes: https://github.com/strace/strace/issues/24
8275 in strace options, and since gen_tests.sh can pass arguments to sourced
8279 * tests/ioctl.test: Pass script arguments to the strace invocation.
8372 We (apparently) had a long-standing test failure inside strace-ff.test
8380 * strace.c (dispatch_event) <case TE_STOP_BEFORE_EXECVE>: Invoke
8409 strace to hang indefinitely.
8417 strace.c: reset printing_tcp on print_event_exit.
8422 * strace.c (print_event_exit): Set printing_tcp to tcp before printing
8619 # ./strace -v -eioctl -y dmsetup ls
8822 strace.1.in: clarify mpers flags in strace -V output.
8825 * strace.1.in (.SH "MULTIPLE PERSONALITY SUPPORT"): Remove "no-m32" and
8827 present in strace -V output.
8838 * strace.1.in (.SH "MULTIPLE PERSONALITY SUPPORT"): Likewise.
8881 * tests/strace-V.test: Add s390 to the list of architectures that have
9018 strace.c: print correct out file name in error messages in case of -ff.
9019 * strace.c (outf_perror): New function.
9084 * strace.c (set_current_tcp): New function.
9255 personalities support in strace is required for proper decoding of
9257 personality of strace.
9260 in strace is mandatory, optional, or disabled.
9270 * strace.spec.in: Specify --enable-mpers=check to %configure.
9289 Issue a warning when strace lacks tracee personality support.
9340 strace.1: fix typo.
9341 * strace.1.in (.SH NOTES): Replace prlimit with prlimit64.
9346 * strace.1.in (.SH "MULTIPLE PERSONALITY SUPPORT"): New section.
9348 Add indication of mpers support to strace -V output.
9349 * strace.c (print_version): Append information about m32 and mx32
9351 * tests/strace-V.test: Update expected output.
9353 Provide strace's native arch to the test framework.
9359 Add indication of optional demangle feature strace -V output.
9360 * strace.c (print_version) [USE_DEMANGLE]: Append " stack-demangle"
9362 * tests/strace-V.test: Update expected output.
9428 Since there is possibility now that strace read only entry_number field
9595 * strace.c (next_event): Pass tcp to clear_regs() call.
9614 * strace.c [HAVE_PATHS_H]: Include paths.h.
9618 strace.c: avoid duplication of a format string in attach_tcb.
9619 * strace.c (attach_tcb): Add task_path variable with the output format.
9630 strace.c: rename set_sigaction to set_sighandler.
9635 * strace.c (set_sigaction): Rename to set_sighandler.
9738 strace.c: use xsprintf instead of sprintf.
9739 * strace.c: Include "xstring.h".
9794 strace.spec.in: include Bluetooth headers for AF_BLUETOOTH sockets decoding
9795 * strace.spec.in (BuildRequires): Add pkgconfig(bluez).
9800 Starting with commit v4.5.19~88 strace imposed an artificial limit
9804 $ strace -ff -o"$(perl -e 'print "/" x 510')/$PWD/log" /bin/true
9805 strace: Can't fopen '////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////.12345': Permission denied
9807 * strace.c (newoutf): Raise buffer size to PATH_MAX.
9922 As it will have users outside strace.c in the future.
9925 * strace.c (enum trace_event): ...here.
9936 * strace.c (attach_tcb): Set TCB_GRABBED for the tcb.
9941 Closes: https://github.com/strace/strace/issues/22
9945 strace.c: sort getopt switch branches alphabetically.
9950 * strace.c (init): Sort branches in the getopt switch routine.
9954 strace.c: check for (non)zero argc instead of argv[0]
9958 * strace.c (init): Check for non-zero argc before/instead of argv[0].
9962 strace.1: advertise strace-log-merge.
9963 In order to raise awareness about strace-log-merge, mention it in
9966 * strace.1.in (.SS Filtering) <.TP .B \-ff>: Mention strace-log-merge.
9973 * tests/strace-k.test (result): Update regexp.
9974 * tests/strace-k-demangle.test (expected): Update expected output.
9976 tests: check strace -k symbol names demangling.
9977 * tests/strace-k-demangle.test: New test.
9987 (EXTRA_DIST): Add strace-k-demangle.test.
9992 tests: parametrize strace-k.test.
9993 Prepare for the check of strace -k symbol names demangling.
9995 * tests/strace-k.test: Parametrize $test_prog and $expected.
10040 I'm planning to link strace with libiberty for mangling C++
10044 in libiberty, and they conflict with functions in strace.
10045 Rename xmalloc and xcalloc functions defined in strace
10195 strace.1.in: mention perf and ftrace in SEE ALSO.
10196 * strace.1.in (.SH SEE ALSO): Add references to perf-trace(1) and
10199 strace.1.in: clarify -F option behaviour.
10200 * strace.1.in <.TP \-F>: Extend deprecation warning. Describe behaviour
10213 strace.c: inform the user about -F option obsolescence.
10214 * strace.c (init): Print an error message if the option is used.
10218 strace.c: sort option arguments alphabetically.
10224 * strace.c (init): Reorder options in getopt() call.
10228 strace.c: use _exit() instead of exit() in child's die()
10232 * strace.c (die) <!(strace_tracer_pid == getpid())>: Call _exit().
10271 strace.c: use xgrowarray.
10272 * strace.c (tcbtabsize): Change type to size_t.
10296 strace.c: minor style fixes.
10297 * strace.c (test_ptrace_seize): Remove excess braces.
10303 strace.c: use *_func_* message printing macros where appropriate.
10307 * strace.c (detach): Use perror_func_msg() instead of perror_msg().
10345 strace.c: replace if (debug_flag) ... with suitable debug printing macros
10346 * strace.c (alloc_tcb, droptcb, detach, attach_tcb, test_ptrace_seize,
10417 Add strace mascot.
10418 * strace.svg: New file.
10481 strace-log-merge: work around corner cases of strace -ttt parsing.
10482 Employing strace -ttt for the logs destined to be fed to
10483 strace-log-merge is ultimately the best solution except for the logs
10505 * strace-log-merge: Generate numeric-only key for sorting, use sort -n
10510 debian: add strace-log-merge to the list of installed files.
10511 * debian/strace.install: Add strace-log-merge.
10513 Add strace-log-merge man page.
10514 * strace-log-merge.1.in: New file.
10516 * .gitignore: Add strace-log-merge.1.
10519 * debian/strace.manpages: Likewise.
10521 strace-log-merge: add copyright header.
10816 * strace.spec.in: Likewise.
10870 References: https://github.com/strace/strace/pull/16
10955 Starting with commit v4.17-5-gf83b49b strace is expected
10968 Starting with commit v4.17-8-ge97a66f strace is expected
10994 Closes: https://github.com/strace/strace/pull/16
11058 of "zeroargc strace" expected output.
11385 in order to also check for possible discrepancies between strace's
11599 * strace.spec.in: Likewise.
11639 Closes: https://github.com/strace/strace/issues/11
11743 struct ndt_stats than the definition used to build strace.
11890 * strace.1.in: Document it.
12236 * strace.c (print_signalled, print_stopped): Update signal_set usage.
12271 * strace.c: Include "number_set.h".
12279 in the strace package, move SUPPORTED_PERSONALITIES defintions
12291 included in the strace package.
12900 Looks like this part was untouched since the days strace supported OSes
12903 * strace.1.in (.SH NOTES): Use faccessat(2) and setrlimit(2)/prlimit(2)
12953 strace.1: add indentation to examples.
12954 * strace.1 (.de CW): Add .in +4n.
12958 * Makefile.am (dist-hook): Add .strace.1.in.date generation.
12959 * strace.spec.in (%setup): Likewise.
12962 * strace.1 (.TH): Add manpage date and strace's version.
12967 Make strace.1 generated.
12968 * .gitignore (/strace.1): New entry.
12969 * configure.ac (AC_CONFIG_FILES): Add strace.1.
12970 * strace.1.in: Rename from strace.1.
12974 strace.1: format synopsis using .SY/.OP macros.
12978 * strace.1 (.OM, .OR): New macro definitions, based on .OP
12984 strace.1: remove date from .TH, as it is no longer relevant.
12985 * strace.1 (.TH): Remove date.
12989 strace.1: remove .IX definition.
12992 * strace.1 (.de IX): Remove.
12996 strace.1: replace .TP with .TQ between command-line option variants.
12999 * strace.1 (Filtering): Replace .TP with .TQ between different variants
13122 included in the strace package (like the upcoming asinfo utility),
13131 * strace.c (die): Remove static quialifier to make visible
13164 * strace.c (maybe_allocate_tcb) <WIFSTOPPED(status) && !followfork>:
13169 * strace.c (maybe_allocate_tcb) <WIFSTOPPED(status) && !followfork>:
13189 * strace.c (flush_tcp_output): New function.
13212 This solves potential issues when tests run first and strace is rebuilt
13230 * strace.c (maybe_allocate_tcb) <WIFSTOPPED(status) && !followfork>:
13336 Print enabled optional features in strace version output.
13340 * strace.c (print_version): New variable "features". Print features string
13344 * tests/strace-V.tests (getoption): New function.
13349 tests/strace-V.test: rename getval to getstr.
13352 * tests/strace-V (getval): Rename to getstr, update all call sites.
13528 a fixed-size field of a structure, strace does not print the last byte
13680 tests: robustify strace-t.test.
13681 If strace -t is running too long, it might happen that time stamps
13685 * tests/strace-t.test: Allow any time stamp between start and finish
13686 of strace invocation.
13699 tests: tweak strace-ff.test for slow startup case.
13700 strace starts up much slower when invoked under valgrind control.
13701 Increase the tracee's sleep delay to let strace more time to attach.
13703 * tests/strace-ff.test: Increase sleep delay.
13708 * tests/strace.supp: Add a suppression for the memleak before
13718 * strace.c (username, outfname): Add const qualifier.
14533 The only difference noticeable from strace PoV is the meaning of generic
14563 the minimal kernel version supported by strace.
14632 strace.1: remove misleading remark that -i option is weakly supported.
14636 * strace.1 (BUGS): Remove the remark about weakly supported -i option.
14643 * strace.spec.in: Likewise.
14689 (out_fd): New variable, for the expected strace output.
14700 count, pass it to qual_fault, add filename variables for expected strace
14702 Specify -ff parameter to strace invocation.
14703 Compare write and strace output for the each process.
14748 * strace.c (init): Adjust argc along with argv,
14753 * tests/options-syntax.test: Check strace error diagnostics
14762 * strace.c (progname): Remove.
14781 strace and its tests. Start this unification with ARRAY_SIZE macro.
15122 * strace.c (strace_popen, init): Call perror_msg_and_die instead
15132 * strace.c (init): ... here.
15303 $ ./strace -yy -e 'sendto' ip tcp_metrics > /dev/null
15709 * strace.c (trace_syscall): New static replacement for old trace_syscall.
15909 strace.c: move termination code to a separate function.
15912 * strace.c (terminate): New function.
15998 strace.c: handle PTRACE_EVENT_EXEC like other events.
16002 * strace.c (next_event): Move PTRACE_EVENT_EXEC handling to the main
16007 strace.c: remove dead code.
16008 As strace does not use WCONTINUED flag, there is no need to handle
16011 * strace.c (print_debug_info) [WIFCONTINUED]: Remove.
16016 strace.c: refactor trace into two functions.
16021 * strace.c (enum trace_event): New enum.
16130 Enable coverage when strace is self terminated by signal.
16138 * strace.c [ENABLE_COVERAGE_GCOV] (__gcov_flush): New prototype.
16156 that signal to ensure strace termination with the same signal.
16158 * strace.c (main): Unblock the signal raised for strace termination.
16164 While strace resets SIGCHLD handler to the default action so that
16168 * strace.c (struct exec_params): Add child_sa field.
16177 * strace.c (set_sigaction): New function.
16191 will remain blocked for the whole period of strace execution.
16193 * strace.c (empty_set): Rename to start_set. All users changed.
16202 * strace.c (init): Check for INTR_WHILE_WAIT mode the same way
16220 * strace.spec.in: Likewise.
16608 * strace.c (tvprintf): New function.
16634 * tests/strace-r.expected: Likewise.
16635 * tests/strace-t.test: Likewise.
16636 * tests/strace-tt.test: Likewise.
16637 * tests/strace-ttt.test: Likewise.
16702 * strace.1 (.SS Filtering): Add information about %stat syscall class.
16747 * strace.1 (.SS Filtering): Add information about %lstat syscall class.
16793 * strace.1 (.SS Filtering): Add information about %fstat syscall class.
16842 * strace.1 (.SS Filtering): Add information about %%stat syscall class.
16908 * strace.1 (.SS Filtering): Document ability to use question marks
16919 * strace.1 (.SS Filtering) <%%statfs>: Update equivalent regexp.
16945 * strace.1 (.SS Filtering): Add information about %%statfs syscall class.
16994 * strace.1 (.SS Filtering): Add information about %fstatfs syscall class.
17086 test_pure_prog_set runs strace check on a set of programs,
17127 * strace.c (print_version): Use COPYRIGHT_YEAR.
17128 * strace.spec.in (%prep): Save the value of COPYRIGHT_YEAR autoconf
17130 * tests/strace-V.test (config_year): New variable, derived from config.h.
17200 strace.1: s/regex expression/regular expression/
17204 strace.1: enhance %statfs description.
17205 * strace.1 (.SS Filtering) <%statfs>: Fix the list of syscalls,
17391 * strace.1 (.SS Filtering): Likewise.
17433 * strace.1 (.SS Filtering): Likewise.
17479 * strace.1: Document -e trace=/regex option.
17592 strace used to call get_regs on every stop of a tracee, including cases
17598 * strace.c (trace): Do not call get_regs.
17605 * strace.c (trace): Move get_scno invocation ...
17618 * strace.c (trace): Call clear_regs before get_regs.
17740 * strace.1 (.SS Filtering): Add information about %statfs syscall class.
17786 * strace.1 (.SS Filtering): Add information about %clock syscall class.
18208 * tests/strace-V.test: Likewise.
18209 * tests/strace-tt.test: Likewise.
18210 * tests/strace-ttt.test: Likewise.
18225 * tests/strace-S.test: Likewise.
18271 * tests/strace-t.test: Likewise.
18274 * tests/strace-ff.test: Do not remove $OUT and $LOG.* files.
18361 * tests/strace-C.test: Likewise.
18362 * tests/strace-E.expected: Likewise.
18363 * tests/strace-E.test: Likewise.
18364 * tests/strace-S.test: Likewise.
18365 * tests/strace-T.test: Likewise.
18366 * tests/strace-V.test: Likewise.
18367 * tests/strace-ff.test: Likewise.
18368 * tests/strace-k.test: Likewise.
18369 * tests/strace-r.expected: Likewise.
18370 * tests/strace-r.test: Likewise.
18371 * tests/strace-t.test: Likewise.
18372 * tests/strace-tt.test: Likewise.
18373 * tests/strace-ttt.test: Likewise.
18412 https://sourceforge.net/p/strace/mailman/message/35721703/
18543 strace-graph: handle pid looping.
18544 * strace-graph: On long running process or heavily forking one (like
18549 Closes: https://github.com/strace/strace/pull/7
18844 Update information on how to build strace from git repository.
18845 * INSTALL-git.md: Describe how to build strace from git repository.
18888 (https://sourceforge.net/p/strace/mailman/message/35111320/)
18928 * strace.1 (.SS Filtering): Add information about %sched syscall class.
18935 https://www.mail-archive.com/strace-devel@lists.sourceforge.net/msg05147.html )
18943 * strace.1 (.SS Filtering): Add information regarding %-prefixed class
18962 * README: Change homepage URL to https://strace.io
18964 * strace.spec.in: Likewise.
19189 * strace.spec.in: Likewise.
19321 strace.spec.in: fix dist version checks.
19322 * strace.spec.in: Fix libunwind availability check.
19369 * strace.1: Describe -e inject= option.
19472 Closes: https://github.com/strace/strace/pull/6
19555 * strace.1: Update the section on fault injection.
19584 Closes: https://github.com/strace/strace/issues/3
19632 strace.1: fix formatting.
19633 * strace.1: Remove misplaced .TP macros.
19707 in definitions of a stat structure that might affect strace as well.
19730 strace: move description of -k option to the appropriate place.
19731 Follow the example of strace.1 and put the description of -k option
19734 * strace.c (usage): Move description of -k option to the output
20180 Apparently nobody tests strace with this vfprintf enabled, otherwise
20186 strace with other libc implementations.
20191 * strace.c (tprintf): Replace strace_vfprintf with vfprintf.
20282 Remove checks of __NR_* availability from strace source code.
20283 * strace.c: Remove __NR_tkill checks, assume it is always defined.
20288 * strace.c: Include "scno.h".
20291 Generate scno.h for use during the build of strace itself.
20299 build. This allows to use scno.h during the build of strace itself.
20318 * strace.c: Likewise.
20319 * tests/strace-V.test: Use the current year for the check.
20329 * strace.c: Likewise.
20403 kernel's lifetime, it makes sense to have these definitions in strace
20475 Set the publicly shown copyright holder to "The strace developers.".
20479 * strace.c (print_version): New function.
20481 * tests/strace-V.test: Update expected output.
20491 * strace.1: Describe :signal=SIG option of the fault injection syntax.
20510 * strace.c (trace): Forward signal number from trace_syscall
21560 * strace.c (maybe_switch_tcbs, trace): Do not cast ptrace 4th argument
21564 * strace.c (ptrace_restart): Replace the sequence of "if" statements
21568 * strace.c (ptrace_restart): Change types of "op" and "sig"
21909 to strace for the personbality being tested.
22330 * strace.spec.in: Likewise.
22336 all constant values to make newer constants decoded properly when strace
22363 Sync strace.spec and debian/ with packages.
22366 * strace.spec.in: Sync with 4.14.0.100.622a-1.
22388 * strace.c (init) [USE_LIBUNWIND]: Call unwind_tcb_init after
22515 * valgrind.supp: Move to tests/strace.supp.
22519 (EXTRA_DIST): Add strace.supp.
22532 tests: fix expected output in strace-ttt.test.
22533 If strace -ttt is running too long, it might happen that time stamps
22537 * tests/strace-ttt.test: Allow any time stamp between start and finish
22538 of strace invocation.
22542 tests: fix expected output in strace-tt.test.
22543 If strace -tt is running too long, it might happen that time stamps
22547 * tests/strace-tt.test: Allow any time stamp between start and finish
22548 of strace invocation.
22561 Introduce a synchronization mechanism between attach-f-p and strace.
22636 * strace.c (print_signalled, print_stopped): Use is_number_in_set
22661 tests: skip redirect-fds.test when strace is wrapped with valgrind.
22662 valgrind is not as transparent as strace wrt standard descriptors,
22663 so if strace is wrapped with valgrind, the test would check valgrind
22689 tests: make options-syntax.test tolerant of strace wrappers.
22690 Change the test to allow wrappers like STRACE="valgrind ./strace".
22693 variable in all contexts where the name of strace executable is expected
22702 * strace.c (init): Do not allocate memory for setvbuf invocation.
22964 * tests/strace-C.expected: New file.
22965 * tests/strace-C.test: New test.
22966 * tests/Makefile.am (MISC_TESTS): Add strace-C.test.
22967 (EXTRA_DIST): Add strace-C.expected.
22979 * strace.c (init): In the getopt loop, do not increment tflag for each
23065 * strace.c (ptrace_setoptions): Add PTRACE_O_TRACEEXIT bit.
23087 Restrain from fault injection while the trace executes strace code.
23088 There is little use in injections of faults into syscalls made by strace.
23107 * strace.c (skip_one_b_execve, hide_log_until_execve): Remove.
23189 * tests/strace-T.expected: Likewise.
23250 Restructure strace.1.
23251 * strace.1 (OPTIONS): Add subsections.
23475 by Nahim El Atmani as a part of his GSoC 2016 strace project.
23480 * strace.1: Document -e fault expression syntax.
23481 * strace.c (usage): Mention -e fault expression.
23604 * strace.c (init): Use string_to_uint_upto.
24566 and strace does not support those kernels, there is no use to keep this
24734 strace built with older kernel headers cannot decode some recently
24758 * strace.spec.in: Likewise.
25247 to 1 by code testing "strace -v" output.
25279 * tests/fchmod.test: Update the value specified for strace -a parameter.
25455 platforms, despite strace having specially crafted macros in order
25495 Kernel headers declare this field as s32, and strace prints it with %d
25533 and io_getevents until strace learns how to print 64-bit pointers on x32
25899 * strace.c (ptrace_restart): Do not check that PTRACE_LISTEN is defined.
25904 strace code does not use GETGROUPS_T.
25911 strace code already redefines mode_t.
25923 * strace.c (detach) [SPARC]: Move redefinition of PTRACE_DETACH
25930 All systems supported by strace are expected to have C89 conforming
25938 strace code already includes <dirent.h> unconditionally.
25945 strace code assumes C99.
25953 No systems supported by strace are expected to have the bug workarounded
25966 Let's assume that all systems supported by strace provide major, minor,
26184 The original port of strace was done by Palmer Dabbelt
26185 (eecs.berkeley.edu), based on strace 4.9.
26341 (run_strace): When strace fails, add its exit code to the diagnostic
26343 (run_strace_merge): When strace-log-merge fails, add its exit code
26349 As a side effect of commit v4.11-211-g0736d4e, strace used to leak
26354 * strace.c (open_dummy_desc): Set close-on-exec flag on the descriptor
26397 causes the "wrong" constant to be printed by strace.
26404 The "syscall" syscall only exists on o32 and causes strace to error out on
26846 sufficiently up to date to be used to build and test strace, so prepare
26887 * tests/creat.test: Update the value specified for strace -a parameter.
26944 Set exit status to 1 if strace has not traced any processes.
26945 * strace.c (main): Initialize exit_code with 1 when no processes
26947 * strace.1: Document it.
26951 * strace.c (attach_tcb): Attach to tcp->pid first.
26954 * strace.c (ptrace_attach_cmd): New variable.
26959 strace.c: refactor startup_attach.
26960 * strace.c (startup_attach): Move the inner part of the big loop
26965 * strace.c (startup_attach): Replace atoi with string_to_uint.
27018 * tests/strace-S.test: Likewise.
27019 * tests/strace-V.test: Likewise.
27020 * tests/strace-k.test: Likewise.
27034 * strace.spec.in: Likewise.
27049 * strace.c (maybe_allocate_tcb): Replace "(char *) 0" with NULL
27075 * tests/chown.test: Fix the value specified for strace -a parameter.
27143 https://sourceforge.net/p/strace/mailman/message/35150860/
27154 implemented in 64-bit strace tracing x32 personality processes,
27155 and now x32 strace will also behave this way.
27362 * strace.c (get_tcb_priv_data, set_tcb_priv_data, free_tcb_priv_data):
28189 strace.c: fix style in function definition.
28190 * strace.c (kill_save_errno): Move the type of return value
28199 strace.c: fix a warning reported by -Wold-style-definition.
28200 * strace.c (usage): Add void to the list of function argments.
28292 tests: add strace-E.test.
28293 * tests/strace-E.expected: New file.
28294 * tests/strace-E.test: New test.
28296 (EXTRA_DIST): Add strace-E.expected.
28300 strace.spec.in: enable libunwind on more platforms.
28301 * strace.spec.in: Add libunwind-devel to BuildRequires for RHEL8 family.
28305 make-dist: generate strace-*.tar.gz, strace.dsc, and strace.spec.
28306 Change make-dist to generate strace-*.tar.gz, strace.dsc,
28307 and strace.spec in addition to strace-*.tar.xz.
28312 * .gitignore: Add strace-*.tar.gz, strace.dsc, and strace.spec.
28320 * strace.spec.in: Rename CHANGELOGTIME to RPM_CHANGELOGTIME.
28328 * strace.spec.in: Replace SPEC_VERSION with PACKAGE_VERSION.
28333 Parametrize strace.spec.
28335 (AC_CONFIG_FILES): Add strace.spec.
28336 * strace.spec: Rename to ...
28337 * strace.spec.in: ... this file. Parametrize Version, srcname,
28340 strace.spec: adopt for OBS.
28341 * strace.spec: Parametrize libunwind-devel BRs, BuildRoot, and %defattr.
28345 tests: remove obsolete strace-f.test.
28346 strace-f.test is too inexact while fork-f.test does the right thing.
28348 * tests/strace-f.test: Remove.
28350 * strace.spec (BuildRequires): Remove time.
28354 tests: always distribute strace-k.test.
28355 Fix distribution of tests/strace-k.test file when configured
28358 * tests/Makefile.am (EXTRA_DIST): Add strace-k.test.
28451 tests/strace-S.test: fix testing 64-bit strace using a 32-bit userspace.
28452 * tests/strace-S.test: Measure wall clock time instead of system time.
28459 tests/strace-S.test: enhance error diagnostics.
28460 * tests/strace-S.test: If strace output does not meet expectations,
28478 * strace.spec: 4.12-1.
28480 Sync strace.spec and debian/changelog with packages.
28482 * strace.spec: Sync with 4.11.0.163.9720-2.
28675 * strace.c (usage): Fix description of -yy option.
28676 * strace.1: Likewise.
29786 strace-ff.test: fix race condition.
29787 * tests/strace-ff.test: Wait for completion of PR_SET_PTRACER command.
29793 strace-S.test: check "-S name"
29794 * tests/strace-S.test: Add a check for "-c -S name" output.
29799 strace-S.test: cleanup.
29800 * tests/strace-S.test: Rewrite using sed.
29804 tests: add strace-S.test.
29805 * tests/strace-S.test: New test.
29810 strace-ff.test: check that -ff does not create unexpected output files.
29811 * tests/strace-ff.expected: New file.
29813 * tests/strace-ff.test: Use it. Check that no other output files
29818 tests: add strace-ff.test.
29819 * tests/strace-ff.test: New test.
29824 strace-V.test: cleanup.
29825 * tests/strace-V.test: Move config.h parser to a function.
29830 tests: add strace-V.test.
29831 * tests/strace-V.test: New test.
29868 * tests/strace-T.expected: Likewise.
29869 * tests/strace-r.expected: Likewise.
30654 is linked into strace executable.
31989 tests: add strace-r.test.
31990 * tests/strace-r.expected: New file.
31991 * tests/strace-r.test: New test.
31993 (EXTRA_DIST): Add strace-r.expected.
31995 tests: add strace-ttt.test.
31996 * tests/strace-ttt.test: New test.
31999 tests: add strace-tt.test.
32000 * tests/strace-tt.test: New test.
32003 tests: add strace-t.test.
32004 * tests/strace-t.test: New test.
32007 tests: add strace-T.test.
32008 * tests/strace-T.expected: New file.
32009 * tests/strace-T.test: New test.
32011 (EXTRA_DIST): Add strace-T.expected.
32024 strace-f.test, and vfork-f.test to MISC_TESTS.
32102 tests: filter strace output in uname test.
32103 * tests/uname.test: Use uniq to filter strace output.
32162 * strace.c (init): Remove initial memory allocation for tcbtab.
32355 redirect.test: fix the way how strace output is discarded.
32357 and exit status instead of redirecting strace output to /dev/null.
32672 tests: check that strace does not retain stdin and stdout descriptors.
32677 * strace.c (open_dev_null): Rename to open_dummy_desc. All callers
32685 with the previous change, which closes stdin/out in strace.
32687 * strace.c (init): If fcntl(F_GETFD) fails on stdin or stdout,
32696 { sleep 1; yes | head -n99999; } | strace -o/dev/null sh -c 'exec <&-; sleep 9'
32699 With strace call removed, head will immediately get SIGPIPE.
32701 This change fixes this: now writer immediately gets SIGPIPE with strace too.
32703 * strace.c (startup_child): Close stdin/out and reopen them to /dev/null.
32709 strace waits for completion of piped command.
32716 strace-graph: print the pid in the graph.
32717 * strace-graph: Prefix each command with its pid.
32719 strace-graph: cope with clone immediately followed by exit.
32720 * strace-graph: A clone() followed by exit() with no intervening fork
32725 strace-graph: handle recent strace output.
32726 * strace-graph: Fix regex for --SIG. Ignore '+++ exited with <n> +++'
32729 strace-graph: handle strace -T.
32730 * strace-graph: Ignore extra ' <time.spent>' field added by strace -T.
32732 strace-graph: use "strict" and "warnings" pragmas.
32733 * strace-graph: Set "use strict" and "use warnings" options. Fix errors
32807 caching results of netlink conversations between strace and kernel
32808 noticeably reduces amount of system time spent by strace.
32922 * strace.c (init): Allow -p option along with a command.
32932 * strace.1: Document that -p option can be used along with tracing
32946 strace.1: fix format of -P description.
32947 * strace.1 (-P): Write trailing using regular font.
33402 text markers into strace output because the former are more portable.
33853 tests: enable strace-k.test only for --with-libunwind configurations.
33855 add strace-k.test to XFAIL_TESTS when running mpers tests.
33859 [USE_LIBUNWIND] (LIBUNWIND_TESTS): Add strace-k.test.
33860 (TESTS): Replace strace-k.test with $(LIBUNWIND_TESTS).
33862 * tests/strace-k.test: Do not check for -k option availability.
33893 Check how strace -f follows fork and vfork syscalls.
34045 * strace.spec (BuildRequires): Remove libacl-devel.
34051 * strace.spec (BuildRequires) [x86_64]: Add libunwind-devel.
34061 * strace.spec: 4.11-1.
34065 Sync strace.spec and debian/ with packages.
34069 * strace.spec: Sync with 4.10-3.
34270 on the strace side.
34286 * strace.1: Note syscall naming difference between architectures
35126 * strace.c (error_msg_and_help): New function.
35132 * strace.c (usage): Rearrange descriptions.
35133 * tests/strace-k.test: Change the option detecting regexp accordingly.
35208 * strace.c (startup_attach): Split single error_msg statement with
35294 means no C library headers for strace to include. Add configure tests
35321 Thanks to Jian Zhen for donation of https://github.com/strace/ and
35322 strace.io.
35362 and strace does not support those kernels, there is no use to keep this
35995 * strace.c (trace): Clear the whole siginfo_t variable before passing it
36639 * strace.spec (BuildRequires): Remove libaio-devel.
37704 * strace.c: Likewise.
38255 * strace.c (init): Do not reset qflag.
38373 * strace.c (alloctcb, droptcb, detach, startup_attach,
38392 This commit is a follow-up to the related discussions in strace-devel ML:
38393 http://sourceforge.net/p/strace/mailman/message/33618180/
38394 http://sourceforge.net/p/strace/mailman/message/33733470/
38405 * strace.c (die_out_of_memory): Move to xmalloc.c.
38453 This commit adds strace support for Altera's Nios-II. The architecture
38509 Allow for a personality switch notification in the strace output.
38545 $ sleep 2 & sleep 1; ./strace -erestart_syscall -p $!
38623 * strace.c (die, exec_or_die, init): Likewise.
38729 $ sleep 3 & ./strace -p $!
38738 $ sleep 3 & ./strace -p $!
38755 arm$ ./strace true
38903 $ sleep 3 & strace -p $!
39130 * strace.spec: 4.10-1.
39325 Without this users might get confused why `man strace` describes
39328 * strace.1: Note that -k is available only if strace is built
39334 * debian/control (strace, strace-udeb): Add mips64 and mips64el
39481 * strace.c (startup_child): Check that the length of the command strace
39526 build: do not link strace with -ldl.
39657 field in the reverse order. Handle it in strace too.
39712 * strace.c (need_fork_exec_workarounds,
39887 * strace.c (print_debug_info, maybe_allocate_tcb, print_signalled,
40074 * strace.c (trace): Call clear_regs() iff !WIFSTOPPED.
40170 * strace.c [IA64]: Do not include <asm/ptrace_offsets.h>.
40182 * strace.c: Include "ptrace.h".
40208 ./strace -eioctl -s256 sg_inq $dev
40212 ./strace -eioctl -s256 sg_raw -s 512 -r 1024 $bsg 53 00 00 00 00 01 00 00 01 00
40276 When the process stared by strace exits/terminates, forget its pid.
40277 The process stared by strace can exit/terminate only once. When this
40282 * strace.c (print_signalled, print_exited): Clear strace_child when it
40288 * strace.c (maybe_allocate_tcb): If detach_on_execve is set, do not warn
40294 * strace.c (trace): Do not proceed after detach.
40302 * strace.c (print_debug_info, maybe_allocate_tcb, maybe_switch_tcbs,
40615 Change output format to be consistent with other parts of strace
40638 When strace supports more than one personality, run test suite
40852 Most architectures supported by strace have their own subdirectory in
40889 why should strace care?
41683 $ ./strace -yy -e network nc -l -U /tmp/example.sock
41694 $ ./strace -yy -e network nc -U /tmp/example.sock
42340 $ strace -e sendto -yy ip l > /dev/null
42361 * strace.c (startup_child): Replace MAXPATHLEN with PATH_MAX.
42557 https://gist.githubusercontent.com/whitequark/1263207/raw/strace-4.6-v4l2-ioctls.patch
42559 http://marc.info/?l=strace&m=139395588520675
42610 $ ./strace -e write=all ip link change dev enp0s25 mtu 1501 > /dev/null
42618 $ ./strace -e read=all ip link show > /dev/null
42660 If the user makes an ioctl call where they aren't, then strace ends up
42757 prepared by Zubin Mithra as a part of his GSoC 2014 strace project.
42765 * strace.1: Document -yy option.
42766 * strace.c (usage): Likewise.
42820 * strace.c (expand_tcbtab, alloctcb): Change 'i' type to unsigned.
42916 * strace.spec: 4.9-1.
42918 Sync strace.spec and debian/ with packages.
42922 * strace.spec: Sync with 4.8-5.
42997 * tests/detach-stopped.test: Check for "strace -d" output and skip the
43111 * strace.c (show_fd_path): Likewise.
43171 strace -k does not produce a reliable output on all supported
43172 configurations yet, even basic strace-k.test is known to fail
43175 * strace.c (usage): Document -k option as experimental.
43176 * strace.1: Likewise.
43196 * tests/strace-k.test: Update.
43258 * tests/strace-k.test: Likewise.
43290 * strace.c (init): Issue a warning if -i, -k, -r, -t, -T, or -y is used
43304 (strace, strace-udeb): Add x32 to architecture list.
43306 (strace, strace-udeb): Add or1k to architecture list.
43308 (strace, strace-udeb): Add arm64 to architecture list,
43317 $ groff -ww -mandoc -z strace.1
43318 strace.1:65: warning: macro `IX' not defined
43320 * strace.1: define IX macro as empty for groff.
43331 * tests/strace-k.test: New test driver.
43333 (TESTS): Add strace-k.test.
43395 ./strace -o /dev/null -k a.out
43426 $ strace -e unlink -k ./p-deleted
43429 > /home/yamato/var/strace/t_unwind/p-deleted (deleted)(+0x0) [0x575]
43441 $ strace -e unlink -k ./p-deleted
43444 > /home/yamato/var/strace/t_unwind/p-deleted (deleted)(+0x0) [0x575]
43450 mmap cache and before unwinding, strace cannot have a chance to record
43488 This implementation is inefficient. If strace attaches two processes
43521 > /home/yamato/var/strace/strace(exec_or_die+0x10c) [0x26ac]
43522 > /home/yamato/var/strace/strace(startup_child+0x346) [0x134f6]
43523 > /home/yamato/var/strace/strace(init+0x89f) [0x13dff]
43524 > /home/yamato/var/strace/strace(main+0xa) [0x26ca]
43526 > /home/yamato/var/strace/strace(_start+0x29) [0x2799]
43568 * strace.c: Likewise.
43577 * strace.c (droptcb): Move delete_mmap_cache call ...
43596 Based on the code that was originally taken from strace-plus
43606 * strace.c (usage, alloctcb, droptcb, init): Likewise.
43609 * strace.1: Document -k option.
43730 When strace is built with large file support definitions in CFLAGS (as
43868 Without this patch, strace claims that parent_tidptr == tls, which is
43944 If an aarch64 strace is tracing a process using the arm personality, it
43991 Fix decoding of arm struct stat64 by aarch64 strace.
44059 * strace.c [_LARGEFILE64_SOURCE]: Use fopen instead of fopen64
44138 This commit adds strace support for Altera's Nios-II official
44147 mainlined, the strace support will have to be re-factored accordingly.
44314 * tests/strace-f: Rename to strace-f.test.
44416 There is only one place left in the code where strace guesses whether
44423 * strace.c: Use _LARGEFILE64_SOURCE instead of _LFS64_LARGEFILE.
44543 by 64-bit strace. For that, we need more definitions than
44574 Fix select decoding on e.g. 32-bit ppc process by 64-bit strace.
44579 not to strace's word size.
44645 Take #2 on mainlining strace support for ARC (last one was 4.6 based back
44647 http://sourceforge.net/p/strace/mailman/message/27210168/
44779 but we (strace) end up copying 128 bytes (sizeof(sigset_t)),
44824 This includes decoding of 32-bit sigreturn by 64-bit strace,
45018 * strace.c (trace): Do not exit if we see an unknown pid in wait4.
45023 * strace.c (detach): Use goto's instead of excessive nesting.
45027 * strace.c (detach): If TCB_IGNORE_ONE_SIGSTOP is set,
45033 * strace.c (detach): Warn if we see ECHILD from waitpid.
45039 * strace.c (detach): Change return type from int to void.
45047 * strace (detach): Remove workarounds for ancient kernels lacking __WALL.
45060 * strace.c (detach): If PTRACE_SEIZE API is in use, stop the tracee
45078 after strace detached from it.
45082 tests: ensure that strace can detach from running processes.
45086 tests: ensure that strace does not leave sleeping processes stopped.
45100 tests: ensure that strace can detach from sleeping and stopped processes
45121 * tests/strace-f: Likewise.
45135 * tests/strace-f: Likewise.
45141 * strace.c (detach): Fix comment.
45162 * strace.spec: 4.8-1.
45188 * strace.c (trace): Do not suppress signal delivery messages with -qq.
45189 * strace.1: Update documentation about -qq option.
45216 * strace.spec (%files): Likewise.
45220 Sync strace.spec and debian/ with packages.
45222 * debian/strace.docs: Likewise.
45223 * strace.spec: Sync with 4.7-3.
45235 On NOMMU systems in "strace PROG" case, we have no way to attach to
45240 * strace.c (init) [NOMMU_SYSTEM]: Do not set hide_log_until_execve
45246 * strace.c [HAVE_PRCTL]: Include sys/prctl.h.
45257 Tested with "./strace [-D] [-q] [-bexecve] env true",
45261 * strace.c: Define hide_log_until_execve.
45264 (init): If "strace PROG" case (as opposed to "strace -pPID"),
45281 * strace.1: Document ability to repeat '-q' option.
45282 * strace.c: Allow '-q' to be repeated to quieten process
45381 * tests/strace-f: Likewise.
45660 Support seeing this output in the 'strace -efile' test.
45880 $ ./strace -ereadahead ./a.out
45973 Add example script which builds static (possibly cross-compiled) strace.
45978 strace already has a mechanism to use fopen64 for output when the 64-bit
45980 mechanism for other three functions to make strace fully adopted for
45983 * strace.c (struct_stat, stat_file, struct_dirent, read_dir,
46099 (try "strace -c /bin/true").
46102 "strace -c ls -lR /usr/share >/dev/null" shows total time spent
46111 244923 684 5676 251283 3d593 strace
46128 245019 676 5708 251403 3d60b strace
46139 245143 680 5708 251531 3d68b strace
46179 245075 680 9804 255559 3e647 strace
46316 (try "strace [-D] -b env echo HI" to see whether we detach on correct execve).
46350 244627 680 10860 256167 3e8a7 strace.t9/strace
46351 244563 680 10860 256103 3e867 strace.ta/strace
46365 can be raised with no cost for normal strace invocations.
46374 244471 700 12928 258099 3f033 strace.t7/strace
46375 244627 680 10860 256167 3e8a7 strace.t8/strace
46393 245579 700 12928 259207 3f487 strace.t5/strace
46394 244471 700 12928 258099 3f033 strace.t6/strace
46406 245703 700 19072 265475 40d03 strace.t4/strace
46407 245687 700 12928 259315 3f4f3 strace.t5/strace
46424 245975 700 19072 265747 40e13 strace.t3/strace
46425 245703 700 19072 265475 40d03 strace.t4/strace
46436 * strace.c (init): Add compile-time check that DEFAULT_QUAL_FLAGS
46527 * strace.c (exec_or_die): New function.
46825 * strace.c: Make os_release non-static, remove KERNEL_VERSION define.
46952 strace used to hang when decoding sigaltstack called with invalid
46971 The current strace code complains like so:
47071 This change should speed up strace by a tiny bit.
47079 * strace.c: Define need_fork_exec_workarounds flag variable.
47130 Add tilegx support to strace.
47133 present in strace, primarily the decision to use the
47176 strace -i was fetching PC with a separate PEEKUSER
47194 * strace.c (trace): Call get_regs(pid) as soon as we know the tcb
47245 2012-12-06 John Spencer <maillist-strace@barfooze.de>
47317 Add AArch64 support to strace.
47319 Add support for AArch64 in strace, tested on linux in a simulator.
47353 * strace.1: Document it.
47386 strace used to honor fflush(3) return value in trace_syscall_entering
47390 $ strace -o'|:' pwd
47393 There is little strace can do in case of fflush(3) returning EOF, and
47402 * strace.c (tprintf, tprints, detach, startup_attach): Likewise.
47409 Discovered by running test/sigkill_rain under strace.
47418 * strace.c: Fix compiler warning message about tgkill - we don't use it.
47425 * strace.c (startup_child): Check setreuid return code.
47432 Update the strace syscall list accordingly.
47445 In case of normal strace termination, when the trace output is
47449 * strace.c (main): Before normal exit, close shared_log when it
47457 * strace.c (ptrace_attach_or_seize): Replace PTRACE_SEIZE_DEVEL
47509 * strace.c (trace): Remove outdated comment.
47533 * strace.c (get_os_release): Handle "X.Y-something" utsname.release
47578 * strace.spec: 4.7-1.
47597 tests: raise strace check timeout to 60 seconds.
47600 * tests/strace-f: Likewise.
47675 Package strace-log-merge.
47676 * strace.spec (%files): Add strace-log-merge.
47700 Sync strace.spec and debian/ with packages.
47703 * strace.spec: Sync with 4.6-2.
47759 * strace.c (tprintf): Call strace_vfprintf instead of vfprintf.
47775 * strace.c (tprints): Use fputs_unlocked instead of fputs.
47784 Add x32 support to strace.
47791 This patch adds x32 support to strace. Tested on Linux/x32.
47885 * strace.c (test_ptrace_setoptions_for_all): Return if strace_vforked.
47908 strace-log-merge: fix file suffix calculation.
47909 * strace-log-merge: Quote file prefix to fix file suffix calculation.
47917 * strace.c (process_opt_p_list): Remove unreachable code.
47932 * strace.c (error_opt_arg): New function.
47940 strace-log-merge: enhance usage error diagnostics.
47941 * strace-log-merge: Add --help option. Check number of arguments.
47942 Issue an error message when no strace output was merged.
47965 236869 704 18944 256517 3ea05 strace.before
47966 236719 700 18944 256363 3e96b strace
47993 236953 704 18944 256601 3ea59 strace.before.prev.commit
47994 236905 704 18944 256553 3ea29 strace.before
47995 236869 704 18944 256517 3ea05 strace
47997 * strace.c: Replace curcol static variable by struct tcb *current_tcp.
48015 * strace.c (droptcb): Remove outfname check in "outfname && followfork >= 2" -
48032 * strace.c (trace): Show "+++ exited..." with -C too.
48048 * strace.c (printleader): Do not set TCB_REPRINT.
48064 This tells user that strace failed to let sendto syscall
48075 * strace.c (ptrace_restart): Emit message to log on error.
48103 * strace.c (ptrace_restart): Move its definition here.
48123 236973 704 18944 256621 3ea6d strace.before
48124 236929 704 18944 256577 3ea41 strace
48139 That is, "SYS_53" string had to be allocated and stored in strace binary.
48146 237389 704 18944 257037 3ec0d strace.before
48147 236973 704 18944 256621 3ea6d strace
48149 336551 153692 38320 528563 810b3 strace.before
48150 275543 153688 38320 467551 7225f strace
48162 238025 672 18980 257677 3ee8d strace.before
48163 237389 704 18944 257037 3ec0d strace
48207 237917 672 18980 257569 3ee21 strace
48335 * strace.c (startup_attach): Remove another "interrupt to quit" message.
48337 Fix "strace -oFILE -ff -p<nonexistant_pid>" behavior.
48338 * strace.c (newoutf): Set tcp->outf in non-ff mode too.
48355 * strace.c: Make alloc_tcb and droptcb static.
48440 $ gcc test.c && ./strace ./a.out
48463 239453 672 19012 259137 3f441 strace.before
48464 239329 672 19012 259013 3f3c5 strace
48483 associated with tracing, strace will not report that signal correctly."
48487 * strace.c (init): Set SIGCHLD to SIG_DFL earlier.
48493 * strace.c (strerror): Remove this function.
48508 * strace.c: Change os_release from string to integer.
48516 * strace.c: Define new detach_on_execve, skip_startup_execve bool variables.
48518 "strace PROG" form is used.
48522 * strace.c (usage): Document -d; document that -F is deprecated.
48536 * strace.c: Likewise.
48548 237950 676 19044 257670 3ee86 strace.before
48549 237838 676 19012 257526 3edf6 strace
48555 * strace.c: Change corresponding definitions. Do the same for static
48633 * strace.c (trace): Less ugly debug display of ptrace events.
48639 Fix logging for "strace -o FILE -ff test/threaded_execve" test case.
48646 * strace.c (line_ended): New function which sets up internal data
48670 * strace.c (init): Treat -ff without -o FILE as single -f.
48673 * strace.c (process_opt_p_list): Style fix.
48680 But they still take up stack for the entire life of strace.
48684 * strace.c (init): New function. Most of pre-existing code of
48691 * strace.c (tprintf): Move function up in the source file. No code changes.
48756 strace-log-merge: cleanup.
48757 * strace-log-merge: Redirect usage to stderr, make the check
48799 * strace.c (detach): Use waitpid instead of wait4.
48803 Don't consider PROG to be our child in "strace -D PROG" case.
48804 TCB_STRACE_CHILD is used for the case when "strace PROG" is ^C-ed
48805 or something like that. strace should not just exit - it should
48809 of strace's parent. It's ok to handle it exactly as an attached process.
48814 * strace.c (startup_attach): Don't set TCB_STRACE_CHILD if -D.
48821 $ strace -D -p1
48822 strace: -D and -p are mutually exclusive options
48827 * strace.c (kill_save_errno): Move up. No code changes.
48832 Set TCB_ATTACHED and TCB_STRACE_CHILD on attached strace child.
48841 * strace.c (trace): Call PTRACE_CONT with addr=0.
48843 install strace-log-merge by "make install"
48845 strace_log_merge: new file. Helper to merge timestamped strace -ff logs.
48849 Fix PID prefix printing in "strace -oLOG -ff -p1 -p2 -p3" case.
48855 * strace.c: Remove pflag_seen variable, add print_pid_pfx one.
48865 * strace.c (process_opt_p_list): New function.
48891 * strace.c (test_ptrace_setoptions_followfork): Use kill_save_errno
48924 236448 672 19044 256164 3e8a4 strace.before
48925 236360 672 19044 256076 3e84c strace
48938 * strace.c (strerror): Use smaller static buffer.
48945 237384 672 19044 257100 3ec4c strace.before
48946 236448 672 19044 256164 3e8a4 strace
49010 * strace.1: Modified: bugs should be reported to mailing list, not Debian.
49011 * strace.spec: do not install PORTING file.
49037 * strace.c: Likewise
49100 strace.1: fix a typo.
49101 * strace.1: Fix a typo in example description.
49109 * strace.c (main): Set RLIMIT_CORE to zero before terminating itself
49166 * strace.c [USE_PROCFS] (proc_open): Use sys_func to check for execve.
49183 strace -P: fix handling of invalid syscalls.
49227 used and strace won't link since they use realprintstat which isn't
49255 * strace.c (usage): Tweak help text: remove unpaired closing brackets,
49262 239474 672 20484 260630 3fa16 strace.before
49263 239234 668 19044 258946 3f382 strace
49270 * strace.c (startup_child): Don't strchr() for ':' twice in a row.
49276 * strace.c (cleanup): Read 'interrupted' volatile variable only once.
49282 "Why can't I kill strace?" and "Why strace dies on ^C when I want
49285 * strace.c: Replace 'interactive' variable with 'opt_intr' variable.
49295 * strace.c (trace): Frame potentially unused label with ifdef/endif.
49298 * strace.c (interrupt): Remember signal number.
49317 * strace.c: New variable post_attach_sigstop shows whether we age going
49361 Result of "time strace -oLOG ls -l /usr/lib >/dev/null":
49380 * strace.c: Add new variable printing_tcp.
49398 Before this patch, strace was "leaking" thread which exec'ed.
49408 strace panics because it thinks it sees return from exit syscall!
49410 And strace isn't aware 18466 (exec'ed thread) is gone.
49413 * strace.c: New variable "static char *os_release".
49428 * strace.c (pid2tcb): Make this function static.
49433 * strace.c (verror_msg): Remove redundant check for msg != NULL.
49436 * strace.c (verror_msg): More robust error check for vasprintf.
49442 238274 672 20484 259430 3f566 strace.before
49443 238226 672 20484 259382 3f536 strace
49445 * strace.c (main): Slightly more compact handling of argv[]
49450 * strace.c: Set default interactive = 1 statically instead
49457 238258 668 28676 267602 41552 strace.before
49458 238274 668 20484 259426 3f562 strace
49460 * strace.c (main): Allocate -o OUTFILE buffer only if needed:
49478 * strace.c (verror_msg): Attempt to print the message in single
49509 238454 664 28772 267890 41672 strace.before
49510 238106 664 28676 267446 414b6 strace
49530 237913 660 49284 287857 46471 strace.before
49531 237973 660 28772 267405 4148d strace
49563 It also works if I force strace to not use PTRACE_O_TRACESYSGOOD,
49564 which means strace stops will be marked with SIGTRAP,
49589 * strace.c (trace): Remove code which executes if TCB_SIGTRAPPED is set.
49598 * strace.c (trace): Flush output buffers in a few more cases.
49710 * strace (trace): Do not detach from tracee which experienced ptrace error.
49715 * strace.c (detach): Drop sig parameter - it is zero in all calls.
49734 * strace.c (alloc_tcb) [SUPPORTED_PERSONALITIES > 1]: Initialize
49766 strace.c (trace): Fix compilation warning.
50070 * strace.c (startup_attach): Set TCB_IGNORE_ONE_SIGSTOP after attach.
50071 Fix a case when "strace -p PID" found PID dead but sone other of its threads
50085 * strace.c (startup_attach): Use TCB_STARTUP instead of TCB_ATTACH_DONE
50096 * strace.c (startup_attach): Likewise.
50105 * strace.c (trace): Calculate WSTOPSIG(status) once,
50109 * strace.c (startup_attach): Emit message on fork() failure.
50122 would make strace exit. This change caps fdsize so that
50152 * strace.c (startup_child): Reformat setuid-ing code.
50157 * strace.c (startup_attach): Tweak comment.
50178 * strace.c: Likewise.
50188 * strace.c: Define tprints().
50204 in strace tree for now.
50212 * strace.c (die_out_of_memory): New function.
50284 * strace.c: Do not include <limits.h> explicitly, it is already included
50334 tabto is used in many lines of strace output.
50343 * strace.c: Make acolumn static, add static char *acolumn_spaces.
50439 * strace.c (proc_open): Rename get_scno_on_sysenter() to get_scno().
50479 which should make strace faster: for example, on x64 ORIG_EAX
50513 * strace.c (proc_open): Call get_scno_on_sysenter instead of get_scno.
50615 * strace.c (choose_pfd): Use entering/exiting macros instead of direct check
50631 * strace.c (trace): Optimize out dummy PC printing on signal delivery.
50645 * strace.c (proc_open): Change ifdefs so that braces are properly paired.
50649 * strace.c (alloc_tcb): Use tcp->pfd only if USE_PROCFS.
50653 * strace (expand_tcbtab): Shorten "out of memory" message.
50662 * strace.c (test_ptrace_setoptions_followfork): Likewise.
50830 * strace.c [LINUX] (kill_save_errno): New function.
50856 if one would run "strace -f -p THREAD_ID" and THREAD_ID is *not*
50857 a thread leader, strace will happily attach to it and all siblings
50864 IOW: after this patch strace has no need to know about threads, parents
50872 * strace.c (startup_attach): Use TCB_ATTACH_DONE flag instead of
50898 strace can determine who is its parent (it needs child's pid for this,
50913 * strace.c (handle_ptrace_event): Delete this function.
50943 which shows exact moment strace got exit notification.
50953 * strace.c (startup_attach): Don't tcbtab[tcbi]->nclone_threads++.
50973 * strace.c (trace): Do not recalculate "cflag ? &ru : NULL"
50981 * strace.c (trace): add ifdef/endif around WIFCONTINUED usage
51007 * strace.c (trace): Change ifdef LINUX to make a bit more sense,
51012 * strace.c: Remove redundant include <stdarg.h>
51015 * strace.c (startup_attach): Remove misplaced comment.
51020 * strace.c: Make run_uid, run_gid, outf, tcbtab, progname
51024 * strace.c (startup_attach): If -d, report pid and success/failure
51028 * strace.c (alloc_tcb): Print number of allocated tcb's if -d.
51089 * strace.c (startup_attach): Likewise.
51098 * strace.c (main): Make initial tcb allocation more readable.
51120 17445 16 8572 26033 65b1 strace.o.old
51121 16850 16 8572 25438 635e strace.o
51123 * strace.c: Replace fprintf[+cleanup]+exit with [p]error_msg_and_die,
51130 not on the next line. Almost all strace code alredy
51139 * strace.c: Likewise.
51158 * strace.c (strace_fopen): Abort on error instead of returning NULL.
51171 * strace (set_cloexec_flag): Abort instead of returning error
51185 * strace: Initialize popen_pid to 0 - this puts it in bss.
51202 extern char **environ declaration: strace.c had *two* of them...)
51209 * strace.c: Remove redundant "extern char **environ". Declare
51224 * strace.c (expand_tcbtab): Simplify this function. No logic changes.
51254 * strace.c (startup_attach): Likewise.
51262 * strace.c (droptcb): Remove "tcp->parent->nzombies++".
51282 * strace.c: Likewise.
51288 * strace.c (trace): Fix the bug where different options were set
51295 strace used to suspend waitpid until there is a child
51302 illustrates why without this change strace changes
51308 * strace.c (alloc_tcb): Do not set tcp->nclone_waiting.
51318 strace didn't decode important fields in the iocb passed to io_submit.
51369 * strace.c (verror_msg): Rewrite without use of heap memory allocation.
51416 * strace.c (sys_sigreturn): Add wrongly deleted "return 0" line
51426 * strace.c (printleader): add a space after ")" in " <unavailable>)"
51442 elsewhere in strace code, convert sizeof and offsetof where
51471 * strace.c: Likewise
51520 * strace.c: Likewise
51531 * strace.c (SYSCALLTRAP): Rename to syscall_trap_sig.
51543 * strace.c (strerror): Rename parameter errno to err_no
51549 * strace.c (ptrace_setoptions_for_all): Remove "static".
51558 * strace.c (ptrace_setoptions_for_all): New variable.
51589 * strace.c (show_fd_path, tracing_paths): New global variables.
51591 * strace.1: Add descriptions of -y and -P options.
51622 * strace.spec: 4.6-1.
51686 * strace.c [!USE_PROCFS] (trace): Differentiate output format depending
51691 * strace.c [!USE_PROCFS] (trace): Assume that PTRACE_GETSIGINFO is
51761 The former may result to strace being killed by SIGPIPE, which in
51777 * strace.spec: Update Source tag.
51779 * .gitignore: Add strace-*.tar.xz.
51781 Use "make check" in debian/rules and strace.spec.
51784 * strace.spec: Update BuildRequires. Run "make check" in %check section.
51786 Implement two basic "strace -f" tests.
51793 * tests/strace-f: Likewise.
51865 Sync debian/changelog and strace.spec with packages.
51867 * strace.spec: Likewise.
51910 * strace.c (handle_ptrace_event): Fix PTRACE_GETEVENTMSG usage.
52045 strace.1: fix misleading italics.
52046 * strace.1: Use bold instead of italics for "-e trace=" keywords.
52060 * strace.c (test_ptrace_setoptions): Add PTRACE_O_TRACECLONE and
52101 Fix strace -f -o '|command' hangup.
52102 * strace.c (main): Call test_ptrace_setoptions() before parsing
52134 * strace.c (test_ptrace_setoptions): Cleanup.
52151 * strace.c [LINUX] (handle_ptrace_event): New function.
52160 PTRACE_TRACEME at startup and then does a fork so strace can test
52167 * strace.c [LINUX] (test_ptrace_setoptions): New function, tests
52211 e.g. 'strace -e trace=open ls', syscall information would not be
52256 * strace.c (pid2tcb): Always match pid. Fail for argument <= 0.
52306 * strace.c (progname): Add const qualifier.
52326 flags, strace would print an unnecessary OR operator.
52342 * strace.c (startup_attach, alloc_tcb, droptcb, handle_group_exit):
52365 present -f option. Moreover, when executing 'strace -D -p <non-exist pid>',
52366 strace could not terminate normally.
52368 * strace.c (main): Check it.
52424 * strace.c (proc_open): Avoid unbalanced braces.
52436 * strace.c (usage): Document -C.
52437 * strace.1: Document -D.
52467 * strace.spec: 4.5.20-1.
52546 * strace.1: Fix quoting of hyphens and formatting of strace options.
52554 * strace.1: Document -C option.
52555 * strace.c (cflag): Update type.
52627 * strace.c (reaper, trace): Likewise.
52669 * strace.c (detach): Call clearbpt when TCB_BPTSET is set.
52696 * strace.c: Likewise.
52777 * strace.c: (alloc_tcb): Initialize it.
52784 * strace.spec: 4.5.19-1 release.
52861 * strace.c (strace_vforked): Define.
52903 * strace.spec (%doc): Add ChangeLog-CVS.
52961 * strace.spec: 4.5.19-1.
52967 (strace, strace64): Add Section and Priority tags.
53033 Fixes RH#519480 "64-bit strace is lazy on execve of 32-bit