* filter_action.c (default_flags): Add default flags variable. (add_action): Update default flags. (filter_syscall): Add default_flags to qual_flg. (filtering_parse_finish): Init trace action for pathtracing. * strace.c (init): Remove default filters. --- filter_action.c | 6 ++++++ strace.c | 3 --- 2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/filter_action.c b/filter_action.c index 0f75f2e5..f424bd35 100644 --- a/filter_action.c +++ b/filter_action.c @@ -90,6 +90,7 @@ struct filter_action { void *_priv_data; }; +static int default_flags = DEFAULT_QUAL_FLAGS; static struct filter_action *filter_actions; static unsigned int nfilter_actions; @@ -169,6 +170,10 @@ add_action(const struct filter_action_type *type) { struct filter_action *action; + /* Update default_flags */ + if (default_flags & type->qual_flg) + default_flags &= ~type->qual_flg; + filter_actions = xreallocarray(filter_actions, ++nfilter_actions, sizeof(struct filter_action)); action = &filter_actions[nfilter_actions - 1]; @@ -228,6 +233,7 @@ filter_syscall(struct tcb *tcp) { unsigned int i; + tcp->qual_flg |= default_flags; for (i = 0; i < nfilter_actions; ++i) run_filter_action(tcp, &filter_actions[i]); } diff --git a/strace.c b/strace.c index 3fa15a5c..17896f0d 100644 --- a/strace.c +++ b/strace.c @@ -1578,9 +1578,6 @@ init(int argc, char *argv[]) shared_log = stderr; set_sortby(DEFAULT_SORTBY); set_personality(DEFAULT_PERSONALITY); - qualify("trace=all"); - qualify("abbrev=all"); - qualify("verbose=all"); #if DEFAULT_QUAL_FLAGS != (QUAL_TRACE | QUAL_ABBREV | QUAL_VERBOSE) # error Bug in DEFAULT_QUAL_FLAGS #endif -- 2.11.0 ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Strace-devel mailing list Strace-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/strace-devel