* Re: linux-next: build failure in dwarf-regs.c [not found] <CAOvdn6WPUDqYPpHZip7dxVVXJXT0-zJOUCpgDGb=o+zqq98F0Q@mail.gmail.com> @ 2012-10-02 4:24 ` Ian Munsie 2012-10-02 11:39 ` Ben Guthro 0 siblings, 1 reply; 6+ messages in thread From: Ian Munsie @ 2012-10-02 4:24 UTC (permalink / raw) To: Ben Guthro; +Cc: linux-kernel, David Ahern, Namhyung Kim, Jiri Olsa Hey Ben, Adding some people to CC... Excerpts from Ben Guthro's message of 2012-10-02 11:02:59 +1000: > I pulled the latest bits up to 797b9e5ae93270ec27a1f1ed48cd697d01b2269f - > but am seeing the following build failure with gcc 4.6.3 Building that SHA works for me (on x86, haven't tried PPC yet)... > CC arch/x86/util/dwarf-regs.o Is this correct? i.e. Are you building perf for x86? What commandline are you using to build? Any exported environment variables that may be relevant? What dev libraries does perf warn is missing (Is libdw-dev among them)? > arch/x86/util/dwarf-regs.c:72:13: error: no previous prototype for > 'get_arch_regstr' [-Werror=missing-prototypes] Hmmm... util/include/dwarf-regs.h not included? DWARF_SUPPORT undefined but still building that file for some reason? Can't see any obvious way that could happen... You didn't happen to see an warning along the lines of 'DWARF register mappings not defined for x86' did you? > `/data/home/bguthro/dev/orc-newdev.git/linux/build/tools/tools/perf' I hope the two 'tools' here is just an O= artefact? > git blame shows that line coming in from the following changeset - though > April is a long time ago in kernel time Especially when it's April from two years ago... > - so this must have come in with some other merge in this 3.7 window Seems likely, especially as (excerpt from git diff --stat v3.6 797b9e5 -- tools/perf): tools/perf/arch/x86/Makefile | 3 + tools/perf/arch/x86/include/perf_regs.h | 80 +++ tools/perf/Makefile | 173 ++++-- I see a few changes in there that may have caused this... Since I can't reproduce this myself I can't narrow it down, so I'm adding David Ahern, Namhyung Kim & Jiri Olsa to CC who have touched lines that look like the might be relevant. Ben: You should be able to narrow down the cause of the breakage a bit more with git bisect start 797b9e5 v3.6 -- tools/perf/Makefile Cheers, -Ian ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: linux-next: build failure in dwarf-regs.c 2012-10-02 4:24 ` linux-next: build failure in dwarf-regs.c Ian Munsie @ 2012-10-02 11:39 ` Ben Guthro 2012-10-02 13:10 ` [PATCH] perf tool: Fix build for NO_DWARF=1 case Jiri Olsa 0 siblings, 1 reply; 6+ messages in thread From: Ben Guthro @ 2012-10-02 11:39 UTC (permalink / raw) To: Ian Munsie; +Cc: linux-kernel, David Ahern, Namhyung Kim, Jiri Olsa Hi Ian, Once again - apologies for multiple copies of this email. Please reply to this (plain text) version so it will get through LKML filters. On Tue, Oct 2, 2012 at 12:24 AM, Ian Munsie <imunsie@au1.ibm.com> wrote: > > > > CC arch/x86/util/dwarf-regs.o > > Is this correct? i.e. Are you building perf for x86? Yes, x86_64, specifically. > > What commandline are you using to build? cd /data/home/bguthro/dev/orc-newdev.git/linux/build/tools/tools/perf && make EXTRAVERSION=-orc > > Any exported environment variables that may be relevant? none that I can think of. > > What dev libraries does perf warn is missing (Is libdw-dev among them)? make[3]: Entering directory `/data/home/bguthro/dev/orc-newdev.git/linux/build/tools/tools/perf' Makefile:502: No libunwind found, disabling post unwind support. Please install libunwind-dev[el] >= 0.99 Makefile:537: No libdw.h found or old libdw.h found or elfutils is older than 0.138, disables dwarf support. Please install new elfutils-devel/libdw-dev Makefile:567: No libaudit.h found, disables 'trace' tool, please install audit-libs-devel or libaudit-dev Makefile:580: newt not found, disables TUI support. Please install newt-devel or libnewt-dev Makefile:752: No bfd.h/libbfd found, install binutils-dev[el]/zlib-static to gain symbol demangling Actually - I hadn't noticed these warnings before. After installing libdw-dev - the perf build completed successfully. Perhaps this should be fatal, rather than a warning? Thanks for your help Ben ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH] perf tool: Fix build for NO_DWARF=1 case 2012-10-02 11:39 ` Ben Guthro @ 2012-10-02 13:10 ` Jiri Olsa 2012-10-02 21:45 ` Arnaldo Carvalho de Melo 0 siblings, 1 reply; 6+ messages in thread From: Jiri Olsa @ 2012-10-02 13:10 UTC (permalink / raw) To: Ben Guthro Cc: Ian Munsie, linux-kernel, David Ahern, Namhyung Kim, Arnaldo Carvalho de Melo On Tue, Oct 02, 2012 at 07:39:23AM -0400, Ben Guthro wrote: > Hi Ian, > > Once again - apologies for multiple copies of this email. Please reply > to this (plain text) version so it will get through LKML filters. > > On Tue, Oct 2, 2012 at 12:24 AM, Ian Munsie <imunsie@au1.ibm.com> wrote: > > > > > > > CC arch/x86/util/dwarf-regs.o > > > > Is this correct? i.e. Are you building perf for x86? > > Yes, x86_64, specifically. > > > > > What commandline are you using to build? > > cd /data/home/bguthro/dev/orc-newdev.git/linux/build/tools/tools/perf > && make EXTRAVERSION=-orc > > > > > Any exported environment variables that may be relevant? > > none that I can think of. > > > > > What dev libraries does perf warn is missing (Is libdw-dev among them)? > > make[3]: Entering directory > `/data/home/bguthro/dev/orc-newdev.git/linux/build/tools/tools/perf' > Makefile:502: No libunwind found, disabling post unwind support. > Please install libunwind-dev[el] >= 0.99 > Makefile:537: No libdw.h found or old libdw.h found or elfutils is > older than 0.138, disables dwarf support. Please install new > elfutils-devel/libdw-dev > Makefile:567: No libaudit.h found, disables 'trace' tool, please > install audit-libs-devel or libaudit-dev > Makefile:580: newt not found, disables TUI support. Please install > newt-devel or libnewt-dev > Makefile:752: No bfd.h/libbfd found, install > binutils-dev[el]/zlib-static to gain symbol demangling > > Actually - I hadn't noticed these warnings before. > > After installing libdw-dev - the perf build completed successfully. > Perhaps this should be fatal, rather than a warning? > > Thanks for your help > > Ben hi, attached patch fixies the issue for me. Adding Arnaldo to the loop. jirka --- We need to include arch Makefile after we decide the NO_DWARF value, otherwise we get might get build failure. The reason is the arch Makefile could include objects based on the NO_DWARF value, as it is for x86 case. Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Arnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: Jiri Olsa <jolsa@redhat.com> --- tools/perf/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/perf/Makefile b/tools/perf/Makefile index 6958ba4..0ca8f45 100644 --- a/tools/perf/Makefile +++ b/tools/perf/Makefile @@ -505,8 +505,6 @@ ifneq ($(call try-cc,$(SOURCE_LIBUNWIND),$(FLAGS_UNWIND)),y) endif # Libunwind support endif # NO_LIBUNWIND --include arch/$(ARCH)/Makefile - ifneq ($(OUTPUT),) BASIC_CFLAGS += -I$(OUTPUT) endif @@ -635,6 +633,8 @@ else endif endif +-include arch/$(ARCH)/Makefile + disable-python = $(eval $(disable-python_code)) define disable-python_code BASIC_CFLAGS += -DNO_LIBPYTHON -- 1.7.11.4 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] perf tool: Fix build for NO_DWARF=1 case 2012-10-02 13:10 ` [PATCH] perf tool: Fix build for NO_DWARF=1 case Jiri Olsa @ 2012-10-02 21:45 ` Arnaldo Carvalho de Melo 2012-10-03 10:29 ` Jiri Olsa 0 siblings, 1 reply; 6+ messages in thread From: Arnaldo Carvalho de Melo @ 2012-10-02 21:45 UTC (permalink / raw) To: Jiri Olsa; +Cc: Ben Guthro, Ian Munsie, linux-kernel, David Ahern, Namhyung Kim Em Tue, Oct 02, 2012 at 03:10:49PM +0200, Jiri Olsa escreveu: > On Tue, Oct 02, 2012 at 07:39:23AM -0400, Ben Guthro wrote: > > Actually - I hadn't noticed these warnings before. > > After installing libdw-dev - the perf build completed successfully. > > Perhaps this should be fatal, rather than a warning? > attached patch fixies the issue for me. Adding Arnaldo to the loop. [acme@sandy linux]$ make -j8 -C tools/perf/ LIBUNWIND_DIR=/opt/libunwind O=/home/acme/git/build/perf install cc1: warnings being treated as errors arch/x86/util/dwarf-regs.c:72: error: no previous prototype for ‘get_arch_regstr’ make: *** [/home/acme/git/build/perf/arch/x86/util/dwarf-regs.o] Error 1 make: *** Waiting for unfinished jobs.... make: Leaving directory `/home/git/linux/tools/perf' [acme@sandy linux]$ - Arnaldo ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] perf tool: Fix build for NO_DWARF=1 case 2012-10-02 21:45 ` Arnaldo Carvalho de Melo @ 2012-10-03 10:29 ` Jiri Olsa 2012-10-03 13:29 ` Namhyung Kim 0 siblings, 1 reply; 6+ messages in thread From: Jiri Olsa @ 2012-10-03 10:29 UTC (permalink / raw) To: Arnaldo Carvalho de Melo Cc: Ben Guthro, Ian Munsie, linux-kernel, David Ahern, Namhyung Kim On Tue, Oct 02, 2012 at 06:45:36PM -0300, Arnaldo Carvalho de Melo wrote: > Em Tue, Oct 02, 2012 at 03:10:49PM +0200, Jiri Olsa escreveu: > > On Tue, Oct 02, 2012 at 07:39:23AM -0400, Ben Guthro wrote: > > > Actually - I hadn't noticed these warnings before. > > > > After installing libdw-dev - the perf build completed successfully. > > > Perhaps this should be fatal, rather than a warning? > > > attached patch fixies the issue for me. Adding Arnaldo to the loop. > > [acme@sandy linux]$ make -j8 -C tools/perf/ LIBUNWIND_DIR=/opt/libunwind O=/home/acme/git/build/perf install > cc1: warnings being treated as errors > arch/x86/util/dwarf-regs.c:72: error: no previous prototype for ‘get_arch_regstr’ > make: *** [/home/acme/git/build/perf/arch/x86/util/dwarf-regs.o] Error 1 > make: *** Waiting for unfinished jobs.... > make: Leaving directory `/home/git/linux/tools/perf' > [acme@sandy linux]$ > > - Arnaldo ugh.. forgot the way you build perf ;) (also smells like 'automated make test' adept) Anyway, there's Makefile dependency on PERF_HAVE_DWARF_REGS which is defined in arch/x86/Makefile. So, there's only one right place for '-include arch/$(ARCH)/Makefile'. We should think of some other solution, since this seems fragile. I checked your make and simple make with attached patch (only x86_64 arch, and with and without libdw installed). jirka --- We need to include arch Makefile after we decide the NO_DWARF, otherwise we get might get build failure. The reason is the arch Makefile could include objects based on the NO_DWARF value, as it is for x86 case. Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Arnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: Jiri Olsa <jolsa@redhat.com> --- tools/perf/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/perf/Makefile b/tools/perf/Makefile index 6958ba4..c287c1d 100644 --- a/tools/perf/Makefile +++ b/tools/perf/Makefile @@ -505,8 +505,6 @@ ifneq ($(call try-cc,$(SOURCE_LIBUNWIND),$(FLAGS_UNWIND)),y) endif # Libunwind support endif # NO_LIBUNWIND --include arch/$(ARCH)/Makefile - ifneq ($(OUTPUT),) BASIC_CFLAGS += -I$(OUTPUT) endif @@ -539,6 +537,8 @@ ifneq ($(call try-cc,$(SOURCE_DWARF),$(FLAGS_DWARF)),y) NO_DWARF := 1 endif # Dwarf support +-include arch/$(ARCH)/Makefile + ifndef NO_DWARF ifeq ($(origin PERF_HAVE_DWARF_REGS), undefined) msg := $(warning DWARF register mappings have not been defined for architecture $(ARCH), DWARF support disabled); -- 1.7.11.4 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] perf tool: Fix build for NO_DWARF=1 case 2012-10-03 10:29 ` Jiri Olsa @ 2012-10-03 13:29 ` Namhyung Kim 0 siblings, 0 replies; 6+ messages in thread From: Namhyung Kim @ 2012-10-03 13:29 UTC (permalink / raw) To: Jiri Olsa Cc: Arnaldo Carvalho de Melo, Ben Guthro, Ian Munsie, linux-kernel, David Ahern, Namhyung Kim Hi all, On Wed, 3 Oct 2012 12:29:28 +0200, Jiri Olsa wrote: > On Tue, Oct 02, 2012 at 06:45:36PM -0300, Arnaldo Carvalho de Melo wrote: >> Em Tue, Oct 02, 2012 at 03:10:49PM +0200, Jiri Olsa escreveu: >> > On Tue, Oct 02, 2012 at 07:39:23AM -0400, Ben Guthro wrote: >> > > Actually - I hadn't noticed these warnings before. >> >> > > After installing libdw-dev - the perf build completed successfully. >> > > Perhaps this should be fatal, rather than a warning? >> >> > attached patch fixies the issue for me. Adding Arnaldo to the loop. >> >> [acme@sandy linux]$ make -j8 -C tools/perf/ LIBUNWIND_DIR=/opt/libunwind O=/home/acme/git/build/perf install >> cc1: warnings being treated as errors >> arch/x86/util/dwarf-regs.c:72: error: no previous prototype for ‘get_arch_regstr’ >> make: *** [/home/acme/git/build/perf/arch/x86/util/dwarf-regs.o] Error 1 >> make: *** Waiting for unfinished jobs.... >> make: Leaving directory `/home/git/linux/tools/perf' >> [acme@sandy linux]$ >> >> - Arnaldo > > ugh.. forgot the way you build perf ;) > (also smells like 'automated make test' adept) > > Anyway, there's Makefile dependency on PERF_HAVE_DWARF_REGS which > is defined in arch/x86/Makefile. > > So, there's only one right place for '-include arch/$(ARCH)/Makefile'. > We should think of some other solution, since this seems fragile. > > I checked your make and simple make with attached patch > (only x86_64 arch, and with and without libdw installed). I posted similar patch few days ago and it slipped into acme/perf/core: https://lkml.org/lkml/2012/9/28/194 Can you reproduce it with above change? Anyway, my apologies, sorry for the inconvenience. Thanks, Namhyung ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2012-10-03 13:29 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <CAOvdn6WPUDqYPpHZip7dxVVXJXT0-zJOUCpgDGb=o+zqq98F0Q@mail.gmail.com>
2012-10-02 4:24 ` linux-next: build failure in dwarf-regs.c Ian Munsie
2012-10-02 11:39 ` Ben Guthro
2012-10-02 13:10 ` [PATCH] perf tool: Fix build for NO_DWARF=1 case Jiri Olsa
2012-10-02 21:45 ` Arnaldo Carvalho de Melo
2012-10-03 10:29 ` Jiri Olsa
2012-10-03 13:29 ` Namhyung Kim
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox