Re: [PATCHv2 00/36] perf tools: New build framework

From: Jiri Olsa
Date: Fri Jan 16 2015 - 07:45:18 EST


On Fri, Jan 16, 2015 at 01:30:13PM +0100, Jiri Olsa wrote:
> On Fri, Jan 16, 2015 at 12:22:21PM +0000, Will Deacon wrote:
> > On Fri, Jan 16, 2015 at 12:12:14PM +0000, Mark Rutland wrote:
> > > On Fri, Jan 16, 2015 at 11:39:22AM +0000, Will Deacon wrote:
> > > > On Thu, Jan 15, 2015 at 12:54:56PM +0000, Jiri Olsa wrote:
> > > > > hi,
> > > > > I'm following up on latest post from Alexis:
> > > > > http://marc.info/?l=linux-kernel&m=141427580405357&w=2
> > > > >
> > > > > v2 changes:
> > > > > - build Makefiles librarized and moved to 'tools/build' [Ingo]
> > > > > - several minor fixies [Namhyung]
> > > > > - tested on other archs now - x86_64, i386, powerpc
> > > > > - moved tools/lib/* under new build framework to show
> > > > > that it's possible ;-)
> > > > > included traceevent/lockdep maintainers to get the feedback
> > > > > - omitted last 2 patches
> > > > >
> > > > > The patchset is also available in:
> > > > > git://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf.git
> > > > > perf/build
> > > > >
> > > > > All tests/make tests passed.
> > > > >
> > > > > Any feedback from ARM guys would be great ;-)
> > > >
> > > > [adding Mark Rutland to Cc]
> > >
> > > Cheers.
> > >
> > > I just tried a cross-build for arm, and that blew up when trying to do
> > > something with arch/arm/util/libperf-in.o (log below). I bisected that
> > > to f169fbc4c59dd9d4 "perf build: Add arch x86 objects building". I'm
> > > looking into why now.
> >
> > I get a similar failure doing a native arm64 build. I think the problem is
> > because the arch/ files for arm and arm64 aren't always required (i.e. there
> > are configurations where nothing is built under there) and, consequently,
> > libperf-in.o isn't actually needed and we try to link against something that
> > doesn't exist.
>
> exactly ;-) I'll spin v3 shortly..

this fixes the issue for me

jirka


---
diff --git a/tools/build/Makefile.build b/tools/build/Makefile.build
index d35b66014992..396b33b124d1 100644
--- a/tools/build/Makefile.build
+++ b/tools/build/Makefile.build
@@ -52,7 +52,7 @@ quiet_cmd_cc_s_c = AS $@

# Link agregate command
quiet_cmd_ld_multi = LD $@
- cmd_ld_multi = $(LD) -r -o $@ $^
+ cmd_ld_multi = $(LD) -r -o $@ $(wildcard $^)

# Build rules
$(OUTPUT)%.o: %.c FORCE
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/