public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* 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