From: Andi Kleen <[email protected]> The branch target output relies on the user_set flag to determine if the branch target should be implicitely printed. When modifying the fields with + or - also set user_set, so that ADDR can be removed. We also need to set wildcard_set to make the initial sanity check pass.
Signed-off-by: Andi Kleen <[email protected]> --- tools/perf/builtin-script.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tools/perf/builtin-script.c b/tools/perf/builtin-script.c index 6a470dd8f2d0..14b19ff43cbd 100644 --- a/tools/perf/builtin-script.c +++ b/tools/perf/builtin-script.c @@ -2497,6 +2497,8 @@ static int parse_output_fields(const struct option *opt __maybe_unused, output[j].fields &= ~all_output_options[i].field; else output[j].fields |= all_output_options[i].field; + output[j].user_set = true; + output[j].wildcard_set = true; } } } else { @@ -2507,7 +2509,8 @@ static int parse_output_fields(const struct option *opt __maybe_unused, rc = -EINVAL; goto out; } - output[type].fields |= all_output_options[i].field; + output[j].user_set = true; + output[j].wildcard_set = true; } } -- 2.17.1

