Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933123Ab0GAVf0 (ORCPT ); Thu, 1 Jul 2010 17:35:26 -0400 Received: from s15228384.onlinehome-server.info ([87.106.30.177]:50448 "EHLO mail.x86-64.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1759010Ab0GAVfS (ORCPT ); Thu, 1 Jul 2010 17:35:18 -0400 Date: Thu, 1 Jul 2010 23:37:06 +0200 From: Borislav Petkov To: Arnaldo Carvalho de Melo Cc: Steven Rostedt , Peter Zijlstra , Ingo Molnar , Frederic Weisbecker , LKML Subject: Re: [PATCH 05/21] perf: rewire generic library stuff, p1 Message-ID: <20100701213706.GA21607@aftab> References: <1277992175-19821-1-git-send-email-bp@amd64.org> <1277992175-19821-6-git-send-email-bp@amd64.org> <20100701154737.GE8902@ghostprotocols.net> <20100701161054.GF8902@ghostprotocols.net> <20100701161738.GH17823@aftab> <20100701171449.GG8902@ghostprotocols.net> <20100701201418.GA21223@aftab> <20100701211331.GA28165@ghostprotocols.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20100701211331.GA28165@ghostprotocols.net> User-Agent: Mutt/1.5.20 (2009-06-14) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 4008 Lines: 67 From: Arnaldo Carvalho de Melo Date: Thu, Jul 01, 2010 at 05:13:31PM -0400 > Em Thu, Jul 01, 2010 at 10:14:18PM +0200, Borislav Petkov escreveu: > > From: Arnaldo Carvalho de Melo > > Date: Thu, Jul 01, 2010 at 01:14:49PM -0400 > > > But we have one other problem: > > > > [acme@emilia linux-2.6-tip]$ make O=~/git/build/perf -C tools/ > > > make: Entering directory `/home/acme/git/linux-2.6-tip/tools' > > > make[1]: Entering directory `/home/acme/git/linux-2.6-tip/tools/lib' > > > make[1]: `lklib.a' is up to date. > > > make[1]: Leaving directory `/home/acme/git/linux-2.6-tip/tools/lib' > > > make[1]: Entering directory `/home/acme/git/linux-2.6-tip/tools/perf' > > > GEN perf-archive > > > make[1]: Leaving directory `/home/acme/git/linux-2.6-tip/tools/perf' > > > make: Leaving directory `/home/acme/git/linux-2.6-tip/tools' > > > [acme@emilia linux-2.6-tip]$ make O=~/git/build/perf -C tools/perf/ > > > make: Entering directory `/home/acme/git/linux-2.6-tip/tools/perf' > > > * new build flags or prefix > > > CC /home/acme/git/build/perf/perf.o > > > CC /home/acme/git/build/perf/builtin-annotate.o > > > > > > The logic that detects "new build flags or prefix" gets confused when we > > > alternate between tools/ and tools/perf/, checking that. > > > > This might need an up-to-date check for the lklib.a archive first and > > not do "new build flags or prefix" if it is. Yeah, this is a different > > library and the logic doesn't know about it. > > I got sidetracked, but this is what is in $(O)/PERF-CFLAGS for > make -C tools/ > > [acme@emilia linux-2.6-tip]$ cat ../build/perf/PERF-CFLAGS > -ggdb3 -Wall -Wextra -std=gnu99 -Werror -O6 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Wformat-y2k -Wshadow -Winit-self -Wpacked -Wredundant-decls -Wstack-protector -Wstrict-aliasing=3 -Wswitch-default -Wswitch-enum -Wno-system-headers -Wundef -Wvolatile-register-var -Wwrite-strings -Wbad-function-cast -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wstrict-prototypes -Wdeclaration-after-statement -fstack-protector-all -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I/home/acme/git/linux-2.6-tip/tools/lib -I/home/acme/git/linux-2.6-tip/tools/perf -I/home/acme/git/linux-2.6-tip/tools/perf/util/include -Iutil/include -Iarch/x86/include -I../lib/ -I/home/acme/git/build/perf/ -DLIBELF_NO_MMAP -I/usr/include/elfutils -DDWARF_SUPPORT -I/usr/include/slang -DSHA1_HEADER='' : /home/acme/bin:libexec/perf-core:share/perf-core/templates:/home/acme > [acme@emilia linux-2.6-tip]$ > > And this is its contents if we use "make -C tools/perf/" > > -ggdb3 -Wall -Wextra -std=gnu99 -Werror -O6 -D_FORTIFY_SOURCE=2 -fstack-protector-all -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Iutil/include -Iarch/x86/include -I../lib/ -I/home/acme/git/build/perf/ -DLIBELF_NO_MMAP -I/usr/include/elfutils -DDWARF_SUPPORT -I/usr/include/slang -DSHA1_HEADER='' : /home/acme/bin:libexec/perf-core:share/perf-core/templates:/home/acme > > Its just a matter of making both match :-) Oh yeah, I see the difference. The second one is missing all the -Wxxx settings and the BASIS_CFLAGS with all the include paths which get computed in the top Makefile and exported to the Makefiles in the subdirectories. Hmm, maybe we should reroute the "make -C tools/perf/" invocation to go up one dir and execute the top-Makefile after all... I'll look into it soon, I'm almost falling asleep now :) Good night. -- Regards/Gruss, Boris. Advanced Micro Devices GmbH Einsteinring 24, 85609 Dornach General Managers: Alberto Bozzo, Andrew Bowd Registration: Dornach, Gemeinde Aschheim, Landkreis Muenchen Registergericht Muenchen, HRB Nr. 43632 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/