Re: [PATCH] perf tools: Fix build errors with mipsel-linux-uclibc compiler
From: Alexey Brodkin
Date: Sun Oct 04 2015 - 09:53:44 EST
Hello Stephane, Armaldo,
On Tue, 2015-09-22 at 00:06 +0300, Aaro Koskinen wrote:
> Hi,
>
> On Mon, Sep 21, 2015 at 04:29:39PM +0000, Alexey Brodkin wrote:
> > > Em Fri, Sep 04, 2015 at 04:01:54PM -0700, Petri Gynther escreveu:
> > > > On Fri, Sep 4, 2015 at 3:48 PM, Arnaldo Carvalho de Melo
> > > > <ac...@xxxxxxxxxx> wrote:
> > > > > Em Fri, Sep 04, 2015 at 03:45:03PM -0700, Petri Gynther escreveu:
> > > > > > This commit breaks the perf tool MIPS build because MIPS doesn't have
> > > > > > CONFIG_PERF_REGS=y in .config-detected:
> > > > > >
> > > > > > commit bcc84ec65ad1bd9f777a1fade6f8e5e0c5808fa5
> > > > > > Author: Stephane Eranian <era...@xxxxxxxxxx>
> > > > > > Date: Mon Aug 31 18:41:12 2015 +0200
> > > > > >
> > > > > > perf record: Add ability to name registers to record
> > > > >
> > > > > There was a fix for another arch that came after this one.. here it is, already
> > > > > upstream, can you take a look?
> > > > >
> > > > > commit af4aeadd8c04303c0aa2d112145c3627e2ebd026
> > > > > Author: Stephane Eranian <era...@xxxxxxxxxx>
> > > > > Date: Tue Sep 1 11:30:14 2015 +0200
> > > > >
> > > > > perf tools: Fix link time error with sample_reg_masks on non x86
> > > > >
> > > > > This patch makes perf compile on non x86 platforms by defining a weak
> > > > > symbol for sample_reg_masks[] in util/perf_regs.c.
> > > > >
> > > > > The patch also moves the REG() and REG_END() macros into the
> > > > > util/per_regs.h header file. The macros are renamed to
> > > > > SMPL_REG/SMPL_REG_END to avoid clashes with other header files.
> > > > >
> > > > >
> > > >
> > > > I have the above commit in my tree (as I have the latest Linus' tree
> > > > as of right now).
> > > > The MIPS build is still broken as I reported.
> > >
> > > Stephane, can you please take a look?
> >
> > The same problem happens when building perf on ARC.
> > I'm on 4.3-rc2 and that's what I see:
> > ------------------->8-----------------
> > LINK .../linux-4.3-rc2/tools/perf/perf
> > .../linux-4.3-rc2/tools/perf/libperf.a(libperf-in.o): In function `parse_regs':
> > .../linux-4.3-rc2/tools/perf/util/parse-regs-options.c:28: undefined reference to `sample_reg_masks'
> > .../linux-4.3-rc2/tools/perf/util/parse-regs-options.c:45: undefined reference to `sample_reg_masks'
> > .../linux-4.3-rc2/tools/perf/util/parse-regs-options.c:38: undefined reference to `sample_reg_masks'
> > collect2: error: ld returned 1 exit status
> > ------------------->8-----------------
> >
> > Any chance for this to be discussed any further?
>
> Also (with 4.3-rc2) on PA-RISC, PowerPC and SPARC the same errors are
> seen. 4.2 builds fine.
Any chance to take a look at this issue?
It's already 4.3-rc3 so it would be nice to get some fix to try so there will be time
to make sure that new fix doesn't break stuff for other arches.
Regards,
Alexey