Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

perf build: Fix a build error on REFCNT_CHECKING=1

Recently it added -fno-strict-aliasing to sync with the kernel behavior.
But it caused an error due to potential uninitialized access like below:

In file included from util/symbol.c:27:
In function ‘dso__set_symbol_names_len’,
inlined from ‘dso__sort_by_name’ at util/symbol.c:638:4:
util/dso.h:654:46: error: ‘len’ may be used uninitialized [-Werror=maybe-uninitialized]
654 | RC_CHK_ACCESS(dso)->symbol_names_len = len;
| ^
util/symbol.c: In function ‘dso__sort_by_name’:
util/symbol.c:634:24: note: ‘len’ was declared here
634 | size_t len;
| ^~~

Let's just initialize it with 0.

Fixes: 55a18d2f3ff79c90 ("perf build: enable -fno-strict-aliasing")
Closes: https://lore.kernel.org/r/aF7JC8zkG5-_-nY_@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org>

+1 -1
+1 -1
tools/perf/util/symbol.c
··· 631 631 { 632 632 mutex_lock(dso__lock(dso)); 633 633 if (!dso__sorted_by_name(dso)) { 634 - size_t len; 634 + size_t len = 0; 635 635 636 636 dso__set_symbol_names(dso, symbols__sort_by_name(dso__symbols(dso), &len)); 637 637 if (dso__symbol_names(dso)) {