Re: 4.9.208 regression in perf building

Jin, Yao
2020-01-06T00:43:02Z

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@redhat.com> 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@redsleeve.org> 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@kernel.org/
>>>>
>>>> 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