Re: 4.9.208 regression in perf building

From: Jin, Yao
Date: Sun Jan 05 2020 - 19:43:03 EST




On 1/6/2020 6:25 AM, Jiri Olsa wrote:
On Sun, Jan 05, 2020 at 12:06:07PM -0800, Akemi Yagi wrote:
On Sun, Jan 5, 2020 at 11:36 AM Jiri Olsa <jolsa@xxxxxxxxxx> wrote:

On Sun, Jan 05, 2020 at 10:21:25AM -0800, Akemi Yagi wrote:
Adding Arnaldo and Jiri to the CC list.

On Sun, Jan 5, 2020 at 9:01 AM Gordan Bobic <gordan@xxxxxxxxxxxxx> wrote:

It looks like 4.9.208 introduces a build regression for perf:

make -f /builddir/build/BUILD/kernel-4.9.208/linux-4.9.208-1.el7.x86_64/tools/build/Makefile.build
dir=. obj=perf

-c -o builtin-report.o builtin-report.c
builtin-report.c: In function âreport__setup_sample_typeâ:
builtin-report.c:296:6: error: âdwarf_callchain_usersâ undeclared
(first use in this function)
if (dwarf_callchain_users) {
^
builtin-report.c:296:6: note: each undeclared identifier is reported
only once for each function it appears in
mv: cannot stat â./.builtin-report.o.tmpâ: No such file or directory
make[3]: *** [builtin-report.o] Error 1
make[2]: *** [perf-in.o] Error 2
make[1]: *** [sub-make] Error 2
make: *** [all] Error 2

4,9.207 works fine.

The regression was caused by the following patch:

https://lore.kernel.org/lkml/20191021133834.25998-7-acme@xxxxxxxxxx/

To fix this, 'dwarf_callchain_users' needs to be declared.

hum, I see it's declared in callchain.h which is included in builtin-report.c
also I can't see that same stuff like you have on line 296.. what sources are you on?

could you please check with latest Arnaldo's perf/core?
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git

thanks,
jirka

This is kernel 4.4.208 that was released today.
'dwarf_callchain_users' is not declared in this kernel. I'm afraid it
was missed when the aforementioned patch was backported.

so 'dwarf_callchain_users' was introduced with:
eabad8c6856f perf unwind: Do not look just at the global callchain_param.record_mode

which wasn't backported to 4.4.y and it seems it will need more
dependencies to be applied properly

however if I revert aforementioned patch:
faece3af8072 perf report: Add warning when libunwind not compiled in

it compiles for me.. actualy I'm not sure why it went to stable,
it's just user info/warning

jirka


Yes, agree with Jiri, this patch is only warning for user, but not for fixing some issues.

Thanks
Jin Yao