| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
struct v4l2_input
Interpret $audioset as flags, $tuner as integer. Add ID list for
v4l2_std_id. Add flags for status and capabilities and interpret
them.
This is based off Linux commit:
b6456c0cfe9d ("V4L/DVB (13571): v4l: Adding Digital Video Timings APIs")
Latest documentation is at:
https://docs.kernel.org/userspace-api/media/v4l/vidioc-enuminput.html
Signed-off-by: Marek Vasut <marex@denx.de>
|
|
|
|
|
|
|
|
|
| |
* configure.ac: When deciding whether to use bundled version of kernel
headers, ignore the SUBLEVEL part of the kernel version, assuming that
any potential changes in UAPI introduced in stable kernels are not
important.
Resolves: https://github.com/strace/strace/issues/253
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It used the wrong attribute table initially.
An example of an actual usage:
tc actions add action simple sdata "foobar" index 1
* src/xlat/rtnl_tca_root_attrs.in: New file.
* src/xlat/rtnl_tca_root_flags.in: Likewise.
* src/rtnl_tc_action.c: Include "xlat/rtnl_tca_root_flags.h"
and "xlat/rtnl_tca_root_attrs.h".
(tcamsg_nla_decoders): Rename to...
(tca_act_nla_decoders): ...this.
(decode_tca_action, decode_tca_root_act_tab, decode_tca_root_act_flags,
decode_tca_msecs): New functions.
(tcamsg_nla_decoders): New decoder table.
(decode_tcamsg): Use rtnl_tca_root_attrs and "TCA_ROOT_???" as xlat
and dflt arguments in the decode_nlattr call. respectively.
* tests/.gitignore: Add nlattr_tcamsg-Xabbrev, nlattr_tcamsg-Xraw,
and nlattr_tcamsg-Xverbose.
* tests/pure_executables.list: Likewise.
* tests/gen_tests.in (nlattr_tcamsg-Xabbrev, nlattr_tcamsg-Xraw,
nlattr_tcamsg-Xverbose): New tests.
* tests/nlattr_tcamsg-Xabbrev.c: New file.
* tests/nlattr_tcamsg-Xraw.c: Likewise.
* tests/nlattr_tcamsg-Xverbose.c: Likewise.
* tests/nlattr_tcamsg.c: Update the expected output.
|
|
|
|
|
|
|
|
|
|
| |
Also, remove all this dance with separate fractional part printing as %f
doesn't trim the trailing zeroes and checking whether %g does the right
thing in all cases is too much hassle.
* src/defs.h (print_ticks): New declaration.
* src/util.c (print_ticks): New function.
(print_clock_t): Call it.
|
|
|
|
|
| |
* src/stage_output.c (strace_open_memstream, strace_close_memstream):
Fix HAVE_OPEN_MEMSTREAM check.
|
|
|
|
|
|
| |
* NEWS: Add a header line for the next release.
* debian/changelog.in: Add a changelog entry for 6.3-1.
* strace.spec.in: Likewise.
|
|
|
|
| |
* NEWS: Update for 6.3 release.
|
|
|
|
|
|
|
|
|
| |
Indent the C preprocessor directives to reflect their nesting
using the following script:
$ cppi -l $(git grep -El '^[[:space:]]*#[[:space:]]*(if|ifdef|ifndef|elif|else|endif|define|pragma)[[:space:]]' src tests |grep -v '\.sh$') |while read f; do
cppi < "$f" > "$f".cppi; mv "$f".cppi "$f"
done
|
|
|
|
|
|
|
| |
* tests/Makefile.am (DECODER_TESTS, MISC_TESTS, check_SCRIPTS,
check_DATA, EXTRA_DIST): Make the list sorted again.
* tests/gen_tests.in: Likewise.
* tests/pure_executables.list: Likewise.
|
|
|
|
|
|
|
|
| |
* tests/options-syntax.test: Check --argv0 without command.
* tests/strace--argv0.test: New test.
* tests/strace--argv0.expected: New file.
* tests/Makefile.am (MISC_TESTS): Add strace--argv0.test.
(check_DATA): Add strace--argv0.expected.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This option is useful for tracing multi-call executables which interpret
argv[0], such as busybox or kmod.
* NEWS: Mention this.
* doc/strace.1.in: Document this.
* src/strace.c (usage): Likewise.
(argv0): New variable.
(startup_child): Use it.
(GETOPT_ARGV0): New enum constant.
(longopts, init): Use it.
Co-authored-by: Dmitry V. Levin <ldv@strace.io>
Resolves: https://github.com/strace/strace/pull/248
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As strace already has a lot of short options which are hard to remember,
let's avoid introducing new short options for a while.
* NEWS: Mention this.
* doc/strace.1.in: Update --syscall-limit documentation.
* src/strace.c (print_version): Do not mention -l option.
(optstring): Remove 'l'.
(GETOPT_SYSCALL_LIMIT): New enum constant.
(longopts, init): Use it instead of 'l'.
* tests/gen_tests.in (strace--syscall-limit-status-c,
strace--syscall-limit-status-summary): Replace -l with --syscall-limit.
* tests/options-syntax.test: Update expected output.
* tests/strace--syscall-limit-path.c: Update comment.
* tests/strace--syscall-limit-status.c: Likewise.
* tests/strace--syscall-limit.c: Likewise.
* tests/strace--syscall-limit.test: Likewise.
|
|
|
|
|
|
|
|
| |
* doc/strace.1.in (.SH SYNOPSIS): Add --tips options to the list of
possible options, add "strace --tips" invocation variant.
Complements: v5.18~38 "Raise strace awareness"
Complements: v6.2-10-g7a289e79b "Make --tips more easily available"
|
|
|
|
|
| |
* doc/strace.1.in (.SH SYNOPSYS): Sort options in the lexicographical
order, add -Y to the list of one-letter options, similarly to -z/-Z.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/syscall.c (syscall_exiting_trace): Move cflag handling right
before tprint_arg_end() and in the res != 1 code path, avoid printing
anything if cflag is set to CFLAG_ONLY_STATS.
* tests/.gitignore: Add strace--syscall-limit-c
and strace--syscall-limit-status-c.
* tests/Makefile.am (check_PROGRAMS): Likewise.
* tests/gen_tests.in (strace--syscall-limit-c,
strace--syscall-limit-status-c): New tests.
* tests/strace--syscall-limit-c.c: New file.
* tests/strace--syscall-limit-status-c.c: Likewise.
* tests/strace--syscall-limit-status-summary.c: Likewise.
* tests/strace--syscall-limit-summary.c: Likewise.
* tests/strace--syscall-limit.c [!PRINT_INVALID] (PRINT_INVALID): New
macro, set to 1.
[!PRINT_STATS] (PRINT_STATS): New macro, set to 0.
[!UNLINKAT_CNT] (UNLINKAT_CNT): New macro, set to 1.
[!TOTAL_CNT] (TOTAL_CNT): New macro, set to 3.
(test_chdir, test_rmdir) [!PRINT_INVALID]: Do not print syscalls with
non-zero return value.
(main) [PRINT_STATS]: Print the expected syscall statistics output.
* NEWS: Mention it.
Fixes: v5.2~6 "Implement -e status=set option"
Fixes: v6.2-13-gac1d1e25d "Introduce -l/--syscall-limit options"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Linux commit v6.2-rc1~39^2~7 has broken UAPI on PA-RISC by changing
the values of some MADV_* constants; that forces some special handling
for them, since we cannot have any assumptions about the version
of the kernel headers and/or kernel both strace and tracees are built
and/or being run on.
* src/mem.c: Include "xlat/madvise_hppa_generic_cmds.h".
[HPPA]: Include "xlat/madvise_hppa_old_cmds.h".
(SYS_FUNC(madvise)) <advice>: New local variable, set to tcp->u_arg[2].
[HPPA] (SYS_FUNC(madvise)): Check madvise_hppa_old_cmds for the advice
value and print it appropriately if it is there; then check
madvise_hppa_generic_cmds and print it appropriately if it is there;
then fallback to printing advice as madvise_cmds xval.
[!HPPA] (SYS_FUNC(madvise)): Print advice as madvise_cmds
and madvise_hppa_generic_cmds xval.
* src/xlat/madvise_cmds.in: Add sorted; remove "Generated ..." comment;
move hppa-specific values to madvise_hppa_old_cmds.in and their generic
counterparts to madvise_hppa_generic_cmds.in.
* src/xlat/madvise_hppa_generic_cmds.in: New file.
* src/xlat/madvise_hppa_old_cmds.in: Likewise.
* tests/.gitignore: Add madvise-Xabbrev, madvise-Xraw,
and madvise-Xverbose.
* tests/pure_executables.list: Likewise.
* tests/gen_tests.in (advise-Xabbrev, madvise-Xraw, madvise-Xverbos):
New tests.
* tests/madvise.c: Add checks for the advice argument decoding.
* tests/madvise-Xabbrev.c: New file.
* tests/madvise-Xraw.c: Likewise.
* tests/madvise-Xverbose.c: Likewise.
* NEWS: Mention it.
Reported-by: Matoro Mahri <matoro@users.noreply.github.com>
Closes: https://github.com/strace/strace/issues/241
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This enables storing "wrong" values in xlats, so they can be referenced
in cases when there are discrepancies between what UAPI headers provide
and what they used to provide.
* src/xlat/gen.sh (cond_def): Emit static_assert() only if $nocheckval
is not enabled.
(cond_xlat): Add is_shift local variable; check whether $m starts
with "1<<" and set $is_shift if it is; use print_xval() only if neither
is_shift nor nocheckval are set; call print_xlat_pair() if $nocheckval
is set.
(gen_header): Add nocheckval to local variables; handle "#checkval"
and "#nocheckval" directives.
|
|
|
|
|
| |
Headers updated automatically using maint/update_copyright_years.sh
script.
|
|
|
|
|
|
| |
* maint/update_copyright_years.sh (process_file): Skip updating
copyright years range if the last year in the file is later than
the year calculated from the latest commit.
|
|
|
|
| |
* dist/INSTALL: Pass -j`nproc` to "make" and "make check" invocations.
|
|
|
|
|
|
|
| |
* src/generate_mpers_am.sh: Explicitly issue an error if the generated
list of mpers source files is empty.
Resolves: https://github.com/strace/strace/issues/249
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When signalfds are used, normal signal handling method is usually
disabled, leaving strace without signals to catch and decode.
This patch adds decoding of signal masks associated with signalfd file
descriptors.
Decoding the signalfd_siginfo struct requires additional work mentioned
in github#199.
Signed-off-by: leedagee <leedageea@gmail.com>
* NEWS: Mention this change.
* doc/strace.1.in: Document --decode-fds=signalfd.
* src/strace.c (usage): Likewise.
* src/number_set.h (enum decode_fd_bits): Add DECODE_FD_SIGNALFD.
* src/filter_qualify.c (decode_fd_str_to_uint): Handle signalfd.
* src/util.c (print_fdinfo_sigmask, printsignalfd): New functions.
(printfd_pid_with_finfo): Use printsignalfd when DECODE_FD_SIGNALFD
is set in decode_fd_set.
* tests/signalfd4.c [PRINT_SIGNALFD]: Check decoding of signal masks
associated with signalfd file descriptors.
* tests/signalfd4-yy.c: New file.
* tests/pure_executables.list: Add signalfd4-yy.
* tests/.gitignore: Likewise.
* tests/gen_tests.in (signalfd4): Add -a32.
(signalfd4-yy): New test.
Co-authored-by: Dmitry V. Levin <ldv@strace.io>
|
|
|
|
|
|
|
|
| |
* src/util.c (scan_fdinfo_fn): New type.
(scan_fdinfo, parse_fdinfo_pid): New functions.
(pidfd_get_pid): Use them.
Suggested-by: Masatake YAMATO <yamato@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Introduced by Linux kernel commit v6.3-rc1~162^2~206^2~1.
* src/net.c (print_port_range): New function.
(print_getsockopt) <case SOL_IP> <case IP_LOCAL_PORT_RANGE>: Call it.
(print_setsockopt) <case SOL_IP> <case IP_LOCAL_PORT_RANGE>: Ditto.
* tests/.gitignore: Add ip_local_port_range, ip_local_port_range-Xabbrev,
ip_local_port_range-Xraw, ip_local_port_range-Xverbose,
ip_local_port_range-success, ip_local_port_range-success-Xabbrev,
ip_local_port_range-success-Xraw,
and ip_local_port_range-success-Xverbose.
* tests/Makefile.am (check_PROGRAMS): Add ip_local_port_range-success,
ip_local_port_range-success-Xabbrev, ip_local_port_range-success-Xraw,
and ip_local_port_range-success-Xverbose.
* tests/gen_tests.in (ip_local_port_range, ip_local_port_range-Xabbrev,
ip_local_port_range-Xraw, ip_local_port_range-Xverbose,
ip_local_port_range-success, ip_local_port_range-success-Xabbrev,
ip_local_port_range-success-Xraw, ip_local_port_range-success-Xverbose):
New tests.
* tests/pure_executables.list: Add ip_local_port_range,
ip_local_port_range-Xabbrev, ip_local_port_range-Xraw,
and ip_local_port_range-Xverbose.
* tests/ip_local_port_range.c: New file.
* tests/ip_local_port_range-Xabbrev.c: Likewise.
* tests/ip_local_port_range-Xraw.c: Likewise.
* tests/ip_local_port_range-Xverbose.c: Likewise.
* tests/ip_local_port_range-success-Xabbrev.c: Likewise.
* tests/ip_local_port_range-success-Xraw.c: Likewise.
* tests/ip_local_port_range-success-Xverbose.c: Likewise.
* tests/ip_local_port_range-success.c: Likewise.
* NEWS: Mention it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Introduced by Linux commit v6.3-rc1~113^2~215.
* src/xlat/pr_mdwe_flags.in: New file.
* src/prctl.c: Include "xlat/pr_mdwe_flags.h".
(SYS_FUNC(prctl)) <case PR_SET_MDWE, case PR_GET_MDWE>: Implement
command decoders.
* tests/.gitignore: Add prctl-mdwe.
* tests/Makefile.am (check_PROGRAMS): Add prctl-mdwe.
* tests/gen_tests.in (prctl-mdwe): New test.
* tests/prctl-mdwe.c: New file.
* NEWS: Mention it.
|
|
|
|
|
|
|
|
| |
* bundled/linux/include/uapi/linux/io_uring.h (struct io_uring_buf_reg):
Rename pad to flags following the change introduced by Linux kernel
commit v6.3-rc5-6-g81cf17cd3ab3.
* src/io_uring.c (print_io_uring_buf_reg): Likewise.
* tests/io_uring_register.c (main): Likewise.
|
|
|
|
|
|
|
|
|
| |
* src/xlat/v4l2_pix_fmts.in (V4L2_PIX_FMT_RGBX1010102,
V4L2_PIX_FMT_RGBA1010102, V4L2_PIX_FMT_ARGB2101010): New constants
introduced by Linux kernel commit v6.3-rc1~28^2~19^2~18.
(V4L2_PIX_FMT_Y210, V4L2_PIX_FMT_Y212, V4L2_PIX_FMT_Y216): New constants
introduced by Linux kernel commit v6.3-rc1~28^2~19^2~17.
* NEWS: Mention this.
|
|
|
|
|
|
|
| |
* src/xlat/rtnl_tc_attrs.in (TCA_EXT_WARN_MSG): New constant introduced
by Linux kernel commit v6.3-rc1~162^2~279.
* src/rtnl_tc.c (tcmsg_nla_decoders): Add TCA_EXT_WARN_MSG.
* NEWS: Mention this.
|
|
|
|
|
|
|
| |
* src/xlat/prctl_options.in (PR_SET_MDWE, PR_GET_MDWE): New constants
introduced by Linux kernel commit v6.3-rc1~113^2~215.
* src/prctl.c (SYS_FUNC(prctl)): Handle them.
* NEWS: Mention this.
|
|
|
|
|
|
|
|
|
| |
* src/xlat/nf_nftables_msg_types.in (NFT_MSG_DESTROYTABLE,
NFT_MSG_DESTROYCHAIN, NFT_MSG_DESTROYRULE, NFT_MSG_DESTROYSET,
NFT_MSG_DESTROYSETELEM, NFT_MSG_DESTROYOBJ, NFT_MSG_DESTROYFLOWTABLE):
New constants introduced by Linux kernel commit v6.3-rc1~162^2~264^2.
* src/netlink.c (decode_nlmsg_flags_netfilter): Handle them.
* NEWS: Mention this.
|
|
|
|
|
|
|
| |
* src/xlat/memfd_create_flags.in (MFD_NOEXEC_SEAL, MFD_EXEC): New
constants introduced by Linux kernel commit v6.3-rc1~113^2~502.
* tests/memfd_create.c (main): Update expected output.
* NEWS: Mention this.
|
|
|
|
|
|
| |
* src/xlat/uring_setup_features.in (IORING_FEAT_REG_REG_RING): New
constant introduced by Linux kernel commit v6.3-rc1~209^2.
* NEWS: Mention this.
|
|
|
|
|
|
| |
* src/xlat/sock_ip_options.in (IP_LOCAL_PORT_RANGE): New constant
introduced by Linux kernel commit v6.3-rc1~162^2~206^2~1.
* NEWS: Mention this.
|
|
|
|
|
|
|
|
|
|
|
| |
* src/xlat/rtnl_ifla_brport_attrs.in (IFLA_BRPORT_MCAST_N_GROUPS,
IFLA_BRPORT_MCAST_MAX_GROUPS): New constants introduced by Linux kernel
commit v6.3-rc1~162^2~139^2~8.
* src/rtnl_link.c (ifla_brport_nla_decoders): Add
IFLA_BRPORT_MCAST_N_GROUPS and IFLA_BRPORT_MCAST_MAX_GROUPS.
* tests/nlattr_ifla_brport.c (main): Update expected output.
* tests/nlattr_ifla_linkinfo.c (main): Likewise.
* NEWS: Mention this.
|
|
|
|
|
|
|
|
|
| |
* src/xlat/rtnl_link_attrs.in (IFLA_GSO_IPV4_MAX_SIZE,
IFLA_GRO_IPV4_MAX_SIZE): New constants introduced by Linux kernel commit
v6.3-rc1~162^2~162^2~1.
* src/rtnl_link.c (ifinfomsg_nla_decoders): Add IFLA_GSO_IPV4_MAX_SIZE
and IFLA_GRO_IPV4_MAX_SIZE.
* NEWS: Mention this.
|
|
|
|
|
|
| |
* xlat/f_seals.in (F_SEAL_EXEC): New constant introduced
by Linux kernel commit v6.3-rc1~113^2~504.
* NEWS: Mention this.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* bundled/linux/include/uapi/linux/btrfs.h: Update to headers_install'ed
Linux kernel v6.3-rc7.
* bundled/linux/include/uapi/linux/dcbnl.h: Likewise.
* bundled/linux/include/uapi/linux/fcntl.h: Likewise.
* bundled/linux/include/uapi/linux/if_bridge.h: Likewise.
* bundled/linux/include/uapi/linux/if_link.h: Likewise.
* bundled/linux/include/uapi/linux/in.h: Likewise.
* bundled/linux/include/uapi/linux/io_uring.h: Likewise.
* bundled/linux/include/uapi/linux/memfd.h: Likewise.
* bundled/linux/include/uapi/linux/netfilter/nf_tables.h: Likewise.
* bundled/linux/include/uapi/linux/netfilter/nfnetlink_cttimeout.h: Likewise.
* bundled/linux/include/uapi/linux/prctl.h: Likewise.
* bundled/linux/include/uapi/linux/rtnetlink.h: Likewise.
* bundled/linux/include/uapi/linux/v4l2-controls.h: Likewise.
* bundled/linux/include/uapi/linux/version.h: Likewise.
* bundled/linux/include/uapi/linux/videodev2.h: Likewise.
|
|
|
|
|
|
|
|
|
|
| |
* tests/strace--syscall-limit.c: Include "scno.h" and <fcntl.h>.
(test_rmdir): Invoke unlinkat syscall instead of rmdir because the
latter is not guaranteed to be present on all architectures nowadays.
* tests/strace--syscall-limit.test: Filter unlinkat syscall instead of
rmdir.
Fixes: v6.2-15-g628b7eb7449e "tests: check -l/--syscall-limit options"
|
|
|
|
|
|
|
|
|
| |
* tests/prctl-sve.c: Print the expected return value string based
on the value returned, similarly to the way it is done
in tests/prctl-sme.c:print_sme_vl_arg().
Fixes: v5.13~8 "tests: improve test coverage of prctl syscall decoder"
Closes: https://github.com/strace/strace/issues/251
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
--trace=all option for strace--syscall-limit-path in
gen_tests.in can be omitted. Only 'chdir' and 'rmdir'
are used to access 'invalid.dir' in the test and
--trace='chdir,rmdir' is set in the corresponding
bash script.
* tests/gen_tests.in (strace--syscall-limit-path):
Remove --trace=all option.
Signed-off-by: Sahil Siddiq <icegambit91@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
| |
* tests/.gitignore: Add symlink-P.
* tests/Makefile.am (check_PROGRAMS): Likewise.
* tests/gen_tests.in (symlink): Change the alignment from 32 to 20
columns.
(symlink-P): New test.
* tests/symlink-P.c: New file.
* tests/symlink.c: Add checks, print the output based on the presence
of the PATH_TRACING macro.
|
|
|
|
|
|
|
|
|
|
| |
* tests/.gitignore: Add link-P.
* tests/Makefile.am (check_PROGRAMS): Likewise.
* tests/gen_tests.in (link): Add -a17 option.
(link-P): New test.
* tests/link-P.c: New file.
* tests/link.c: Add checks, print the output based on the presence
of the PATH_TRACING macro.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Introduce -e trace-fds= qualifier that allows specifying a set of FDs
of interest, operations on which are to be traced. Works in conjunction
(or, more specifically, inclusive disjunction) with the path tracing
functionality.
* src/defs.h: Include "number_set.h".
(tracing_fds): New external variable.
(pathtrace_match_set): Add new fdset argument to the declaration.
(pathtrace_match): Pass trace_fd_set in the new argument
to the pathtrace_match_set call.
(qualify_trace_fd): New function declaration.
* src/filter_qualify.c (trace_fd_set): New variable.
(qualify_trace_fd): New function.
(qual_options): Add various FD tracing-related items.
* src/number_set.h (trace_fd_set): New external variable declaration.
* src/pathtrace.c (pathmatch, upathmatch): Bail out if set is NULL.
(fdmatch): Add fdset argument, check fd for non-negativity and presence
in fdset if fdset is non-NULL.
(match_xselect_args): Add fdset argument, pass it to the fdmatch call.
(pathtrace_match_set): Add fdset argument, pass it to fdmatch
and match_xselect_args calls.
* src/syscall.c (syscall_entering_trace): Check tracing_fds in addition
to tracing_paths as a predicate for performing pathtrace_match check.
* src/strace.c (tracing_fds): New variable.
(init) <GETOPT_QUAL_TRACE_FD>: New enum item.
(init) <longopts>: Add"trace-fds" option.
(init) <case GETOPT_QUAL_TRACE_FD>: Call qualify_trace_fd.
(usage): Document -e trace-fds.
* doc/strace.1.in: Likewise.
* tests/.gitignore: Add dup-trace-fds-0, dup-trace-fds-0-9,
dup-trace-fds-0-P, dup-trace-fds-not-9, dup2-e-fd-0, dup2-e-fd-0-9,
dup2-e-fd-0-P, dup2-e-fd-not-9, ppoll-e-trace-fds-23,
ppoll-e-trace-fds-23-42, ppoll-e-trace-fds-not-9-42-P,
select-trace-fd-7, select-trace-fd-7-9, and select-trace-fd-7-P.
* tests/Makefile.am (check_PROGRAMS): Add ppoll-e-trace-fds-23,
ppoll-e-trace-fds-23-42, ppoll-e-trace-fds-not-9-42-P,
select-trace-fd-7, select-trace-fd-7-9, and select-trace-fd-7-P.
* tests/dup-P.c (PATH_TRACING): Set to 1.
* tests/dup2-P.c (PATH_TRACING): Likewise.
* tests/dup.c: Accommodate test for checking tracing-fds functionality.
* tests/dup2.c: Likewise.
* tests/ppoll.c: Likewise.
* tests/xselect.c: Likewise.
* tests/gen_tests.in (dup-trace-fds-0, dup-trace-fds-0-9,
dup-trace-fds-0-P, dup-trace-fds-not-9, dup2-e-fd-0, dup2-e-fd-0-9,
dup2-e-fd-0-P, dup2-e-fd-not-9, ppoll-e-trace-fds-23,
ppoll-e-trace-fds-23-42, ppoll-e-trace-fds-not-9-42-P,
select-trace-fd-7, select-trace-fd-7-9, select-trace-fd-7-P): New tests.
* tests/options-syntax.test: Add trace-fds-related option syntax checks.
* tests/pure_executables.list: Add dup-trace-fds-0, dup-trace-fds-0-9,
dup-trace-fds-0-P, dup-trace-fds-not-9, dup2-e-fd-0, dup2-e-fd-0-9,
dup2-e-fd-0-P, and dup2-e-fd-not-9.
* tests/dup-trace-fds-0-9.c: New file.
* tests/dup-trace-fds-0-P.c: Likewise.
* tests/dup-trace-fds-0.c: Likewise.
* tests/dup-trace-fds-not-9.c: Likewise.
* tests/dup2-e-fd-0-9.c: Likewise.
* tests/dup2-e-fd-0-P.c: Likewise.
* tests/dup2-e-fd-0.c: Likewise.
* tests/dup2-e-fd-not-9.c: Likewise.
* tests/ppoll-e-trace-fds-23-42.c: Likewise.
* tests/ppoll-e-trace-fds-23.c: Likewise.
* tests/ppoll-e-trace-fds-not-9-42-P.c: Likewise.
* tests/select-trace-fd-7-9.c: Likewise.
* tests/select-trace-fd-7-P.c: Likewise.
* tests/select-trace-fd-7.c: Likewise.
* NEWS: Mention it.
Suggested-by: Marty Leisner <maleisner@gmail.com>
Link: https://lists.strace.io/pipermail/strace-devel/2023-March/011209.html
|
|
|
|
|
|
| |
* src/strauss.c (tips_tricks_tweaks): Add a note about the historical
handling of "(deleted)" in file paths got from procfs and about system
time accounting.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The regression introduced in commit v5.19~99 "strauss: tips whitespace
and phrasing cleanups" (and subsequently fixed in v6.2-6-g5b4f05f42
"strauss: add missing line separators") highlights the issue
with the current approach with respect to tips formatting: it masks
the issues related to overlong lines in favor to the pretty formatting;
however, the presence of a (working) strace--tips test, that checks the
correctness of the tips rendering, makes this trimming superfluous.
Drop it and rely on the testing with respect to the guaranteeing
the proper wrapping of (overly) long tip lines.
* src/strauss.c (print_totd): Do not provide precision to the format
specification that prints tip line.
References: v6.2-6-g5b4f05f42 "strauss: add missing line separators"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Apparently, it has been broken in many places and checked the output
incorrectly, so it was basically useless. Make it a bit less broken
by properly escaping all the regular expressions and implement the logic
that actually checks the output against the expected patterns.
* tests/strace--tips.test (IFS): Set the variable to avoid stripping
whitespace from the read lines.
(grep_ere_escape): A variant of sed_re_escape that also escapes "{",
"}", and "|" characters.
Add "-r" option to the read call to avoid interpreting backslashes,
especially at the end of the line; escape "|", "/", and "\" characters
in $pat/$end/$btm definitions and fix the whitespace usage in there;
use grep_ere_escape instead of sed_re_escape; break after matching one
last line against $btm if TIPS_FULL is not set; pass "-x" option
to the grep calls.
Fixes: v5.18~38 "Raise strace awareness"
|
|
|
|
| |
This fixes shellcheck SC2068.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These tests check the correctness of -l/--syscall-limit options
when used with --trace, --trace-path and --status options.
* tests/options-syntax.test: Check for invalid -l/--syscall-limit
arguments.
* tests/strace--syscall-limit.c: New file.
* tests/strace--syscall-limit-path.c: Likewise.
* tests/strace--syscall-limit-status.c: Likewise.
* tests/strace--syscall-limit.test: New test.
* tests/.gitignore: Add strace--syscall-limit,
strace--syscall-limit-path, and strace--syscall-limit-status.
* tests/Makefile.am (check_PROGRAMS): Likewise.
(MISC_TESTS): Add strace--syscall-limit.test.
* tests/gen_tests.in (strace--syscall-limit-path,
strace--syscall-limit-status): New entries.
Signed-off-by: Sahil Siddiq <icegambit91@gmail.com>
Co-authored-by: Dmitry V. Levin <ldv@strace.io>
|
|
|
|
|
|
|
| |
* doc/strace.1.in: Document -l/--syscall-limit options.
* NEWS: Mention them.
Signed-off-by: Sahil Siddiq <icegambit91@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add new options to detach strace after capturing the specified number
of syscalls.
* src/defs.h (syscall_limit): New variable declaration.
* src/strace.c (syscall_limit): New variable.
(usage): Mention new options.
(init): Handle them.
(next_event): Break the event loop when syscall_limit == 0.
* src/syscall.c (syscall_exiting_trace): Update syscall_limit.
Signed-off-by: Sahil Siddiq <icegambit91@gmail.com>
Resolves: https://github.com/strace/strace/issues/179
|