lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20121003102928.GA945@krava.brq.redhat.com>
Date:	Wed, 3 Oct 2012 12:29:28 +0200
From:	Jiri Olsa <jolsa@...hat.com>
To:	Arnaldo Carvalho de Melo <acme@...hat.com>
Cc:	Ben Guthro <ben.guthro@...il.com>,
	Ian Munsie <imunsie@....ibm.com>,
	linux-kernel <linux-kernel@...r.kernel.org>,
	David Ahern <dsahern@...il.com>,
	Namhyung Kim <namhyung.kim@....com>
Subject: Re: [PATCH] perf tool: Fix build for NO_DWARF=1 case

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@...dy 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@...dy 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@...llo.nl>
Cc: Frederic Weisbecker <fweisbec@...il.com>
Cc: Ingo Molnar <mingo@...e.hu>
Cc: Paul Mackerras <paulus@...ba.org>
Cc: Peter Zijlstra <a.p.zijlstra@...llo.nl>
Cc: Arnaldo Carvalho de Melo <acme@...hat.com>
Signed-off-by: Jiri Olsa <jolsa@...hat.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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ