lkml.org 
[lkml]   [2018]   [Apr]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] perf session: Fix undeclared 'oe'
From
Date
On 04/11/2018 05:21 PM, Murilo Opsfelder Araújo wrote:
> On 04/11/2018 04:33 PM, Greg Kroah-Hartman wrote:
>> On Wed, Apr 11, 2018 at 03:41:35PM -0300, Murilo Opsfelder Araujo wrote:
>>> Using linux-3.18.y branch, perf build fails with the following:
>>>
>>> $ make -s -j16 -C tools/perf V=1 WERROR=0 NO_LIBUNWIND=1 HAVE_CPLUS_DEMANGLE=1 NO_GTK2=1 NO_LIBNUMA=1 NO_STRLCPY=1 NO_BIONIC=1 prefix=/usr DESTDIR=/tmp/builddir/build all
>>> [...]
>>> util/session.c: In function ‘__perf_session__process_pipe_events’:
>>> util/session.c:1093:36: error: ‘oe’ undeclared (first use in this function)
>>> ordered_events__set_copy_on_queue(oe, true);
>>> ^
>>> util/session.c:1093:36: note: each undeclared identifier is reported only once for each function it appears in
>>>
>>> This patch fixes it for linux-3.18.y branch.
>>
>> Why is this failing now? Has it always been broken? Is there an
>> upstream patch that fixed this instead?
>>
>
> Hi, Greg.
>
> We've caught this build issue this week. I'm not sure since when it's
> failing.
>
> The upstream patch that fixes this is:
>
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=fa713a4eb9cebe5dec71b1bd11429603e17d841d
>
> commit fa713a4eb9cebe5dec71b1bd11429603e17d841d
> Author: Arnaldo Carvalho de Melo <acme@redhat.com>
> Date: Tue Mar 3 11:48:12 2015 -0300
>
> perf ordered_events: Untangle from perf_session
>
> But it doesn't apply straightforwardly. At
> fa713a4eb9cebe5dec71b1bd11429603e17d841d, perf API and perf_evlist
> struct are slightly different from linux-3.18.y.
>
> A list of upstream patches for a clean backport (I think) would be:
>
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=54245fdc357613633954bfd38cffb71cb9def067
>
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=75be989a7a18e9666efd92b846ee48bed79e8086
>
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=313e53b08e99b1dacf9ea2b0fbe97890db1ea95f
>
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9fa8727aa4d98d35ca50ef9cd8a50c6468af921d
>
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=fa713a4eb9cebe5dec71b1bd11429603e17d841d
>
> Do you prefer all above patches backported to linux-3.18.y or just the
> one-line fix I sent?
>
>>> Fixes: 95b33b99cdd6 ("perf inject: Copy events when reordering events in pipe mode")
>>
>> Was this just a bad backport?
>
> Some patches were left behind, I guess.
>
>>
>> thanks,
>>
>> greg k-h

Hi, Greg.

I've realized that perf build on v3.18.107 is still broken, actually, it
got a bit worse than v3.18.104.

After applying my patch to fix the undeclared 'oe', perf build fails
with the following errors:

$ make -s -j16 -C tools/perf V=1 WERROR=0 NO_LIBUNWIND=1
HAVE_CPLUS_DEMANGLE=1 NO_GTK2=1 NO_LIBNUMA=1 NO_STRLCPY=1 NO_BIONIC=1
prefix=/usr DESTDIR=/tmp/builddir/build all
[...]
tests/code-reading.c: In function ‘read_object_code’:
tests/code-reading.c:145:19: error: ‘KMOD_DECOMP_LEN’ undeclared (first
use in this function)
char decomp_name[KMOD_DECOMP_LEN];
^
tests/code-reading.c:145:19: note: each undeclared identifier is
reported only once for each function it appears in
tests/code-reading.c:208:2: warning: implicit declaration of function
‘dso__needs_decompress’ [-Wimplicit-function-declaration]
if (dso__needs_decompress(al.map->dso)) {
^
tests/code-reading.c:208:2: warning: nested extern declaration of
‘dso__needs_decompress’ [-Wnested-externs]
tests/code-reading.c:209:3: warning: implicit declaration of function
‘dso__decompress_kmodule_path’ [-Wimplicit-function-declaration]
if (dso__decompress_kmodule_path(al.map->dso, objdump_name,
^
tests/code-reading.c:209:3: warning: nested extern declaration of
‘dso__decompress_kmodule_path’ [-Wnested-externs]
tests/code-reading.c:145:7: warning: unused variable ‘decomp_name’
[-Wunused-variable]
char decomp_name[KMOD_DECOMP_LEN];
^

Apparently, this was introduced by commit
091b3b4ba55daf8b28f40794aefdaa0bdb5af7a1:

commit 091b3b4ba55daf8b28f40794aefdaa0bdb5af7a1
Author: Namhyung Kim <namhyung@kernel.org>
Date: Thu Jun 8 16:31:07 2017 +0900

perf tests: Decompress kernel module before objdump


Namhyung, are you fixing this?

Cheers
Murilo

\
 
 \ /
  Last update: 2018-04-30 19:12    [W:0.156 / U:0.284 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site