Re: [RFC PATCH v1] perf parse-events: Make legacy events lower priority than sysfs/json

From: Arnaldo Carvalho de Melo
Date: Fri Nov 24 2023 - 08:49:24 EST


Em Thu, Nov 23, 2023 at 06:15:09PM -0300, Arnaldo Carvalho de Melo escreveu:
>
> I'll collect those, but only after addressing these:
>
> [perfbuilder@five ~]$ export BUILD_TARBALL=http://192.168.86.5/perf/perf-6.6.0-rc1.tar.xz
> [perfbuilder@five ~]$ time dm
> 1 100.09 almalinux:8 : FAIL clang version 15.0.7 (Red Hat 15.0.7-1.module_el8.8.0+3466+dfcbc058)
> util/parse-events.c:1461:6: error: variable 'alias_rewrote_terms' is used uninitialized whenever '&&' condition is false [-Werror,-Wsometimes-uninitialized]
> if (!parse_state->fake_pmu && perf_pmu__check_alias(pmu, &parsed_terms,
> ^~~~~~~~~~~~~~~~~~~~~~
> util/parse-events.c:1477:6: note: uninitialized use occurs here
> if (alias_rewrote_terms &&
> ^~~~~~~~~~~~~~~~~~~
> util/parse-events.c:1461:6: note: remove the '&&' if its condition is always true
> if (!parse_state->fake_pmu && perf_pmu__check_alias(pmu, &parsed_terms,
> ^~~~~~~~~~~~~~~~~~~~~~~~~
> util/parse-events.c:1401:26: note: initialize the variable 'alias_rewrote_terms' to silence this warning
> bool alias_rewrote_terms;
> ^
> = false
> 1 error generated.
> make[3]: *** [/git/perf-6.6.0-rc1/tools/build/Makefile.build:158: util] Error 2

It built well with gcc but clang didn't notice that
perf_pmu__check_alias() unconditionally initializes that variable to
false as one of its first steps.

So I just did what clang suggested.

- Arnaldo