Re: [PATCH] perf tools: Fix build errors with mipsel-linux-uclibc compiler

From: Aaro Koskinen
Date: Mon Sep 21 2015 - 17:07:25 EST


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.

A.
--
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/