Re: [PATCH v4 2/6] perf tools: Promote proper messages for cross-platform unwind

From: Jiri Olsa
Date: Fri May 20 2016 - 05:54:03 EST


On Fri, May 20, 2016 at 10:59:05AM +0800, Hekuang wrote:
> hi
>
> å 2016/5/20 0:46, Jiri Olsa åé:
> > On Thu, May 19, 2016 at 11:47:38AM +0000, He Kuang wrote:
> >
> > SNIP
> >
> > > #endif /* ARCH_PERF_COMMON_H */
> > > diff --git a/tools/perf/config/Makefile b/tools/perf/config/Makefile
> > > index 1e46277..a86b864 100644
> > > --- a/tools/perf/config/Makefile
> > > +++ b/tools/perf/config/Makefile
> > > @@ -345,6 +345,12 @@ ifeq ($(ARCH),powerpc)
> > > endif
> > > ifndef NO_LIBUNWIND
> > > + ifeq ($(feature-libunwind-x86), 1)
> > > + LIBUNWIND_LIBS += -lunwind-x86
> > > + $(call detected,CONFIG_LIBUNWIND_X86)
> > > + CFLAGS += -DHAVE_LIBUNWIND_X86_SUPPORT
> > > + endif
> > > +
> > how does one install that lirary?
> >
> > thanks,
> > jirka
>
> My work environment is on an old suse distribution, so it's
> difficult to find libunwind-$arch rpm packages, so I build them
> from source.
>
> The git repository url is here:
> http://git.savannah.gnu.org/r/libunwind.git(master)
>
> Then flow the build step in README, first for i686:
>
> $ ./autogen.sh
> $ ./configure prefix=/xx/dst_i686 --target=i686-oe-linux
> CC=x86_64-oe-linux-gcc
> $ make && make install
>
> Similar for aarch64:
>
> $ make clean
> $ ./configure prefix=/xx/dst_aarch64 --target=i686-oe-linux
> CC=x86_64-oe-linux-gcc
> $ make && make install
>
> NOTICE: the contents in '--target' should be like
> 'i686-oe-linux', only give 'i686' cause strange build errors.
>
> It looks like that libunwind don't support building for multiple
> platforms at the same time, so I build them separately into
> different directories.
>
> Finally, copy the outputs into /usr/include and /usr/lib64, now
> perf can detect them:

we will need to extend LIBUNWIND_DIR or add variable,
to be able to detect this from arbitrary directory

jirka