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

From: Alexey Brodkin
Date: Mon Sep 21 2015 - 12:29:53 EST


Hi Stephane,

> 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?

--
AlexeyN‹§²æ¸›yú²X¬¶ÇvØ–)Þ{.nlj·¥Š{±‘êX§¶›¡Ü}©ž²ÆzÚj:+v‰¨¾«‘êZ+€Êzf£¢·hšˆ§~†­†Ûÿû®w¥¢¸?™¨è&¢)ßf”ùy§m…á«a¶Úÿ 0¶ìå