[OE-core] [PATCH] perf: Fix to obey LD failure on host i686
sujith h
sujith.h at gmail.com
Mon Sep 19 11:10:47 UTC 2016
On Thu, Sep 8, 2016 at 12:36 PM, Andre McCurdy <armccurdy at gmail.com> wrote:
> On Wed, Sep 7, 2016 at 11:51 PM, Sujith H <sujith.h at gmail.com> wrote:
> > From: Christopher Larson <chris_larson at mentor.com>
> >
> > When built on an i686 host for qemux86-64 without the
> > fix to obey LD and it fails:
> >
> > /scratch/dogwood/toolchains/x86_64/bin/i686-pc-linux-gnu-ld:
> > Relocatable linking with relocations from format elf64-x86-64
> > (/scratch/dogwood/perf-ld-test/build/tmp/work/qemux86_
> 64-mel-linux/perf/1.0-r9/perf-1.0/fs/fs.o)
> > to format elf32-i386 (/scratch/dogwood/perf-ld-
> test/build/tmp/work/qemux86_64-mel-linux/perf/1.0-r9/perf-
> 1.0/fs/libapi-in.o)
> > is not supported
> >
> > This is because LD includes HOST_LD_ARCH, which contains TUNE_LDARGS,
> > which is -m elf32_x86_64 for x86_64. Without that, direct use of ld will
> fail.
> >
> > Signed-off-by: Christopher Larson <chris_larson at mentor.com>
> > Signed-off-by: Sujith Haridasan <Sujith_Haridasan at mentor.com>
> > ---
> > meta/recipes-kernel/perf/perf.bb | 9 +++++++++
> > 1 file changed, 9 insertions(+)
> >
> > diff --git a/meta/recipes-kernel/perf/perf.bb
> b/meta/recipes-kernel/perf/perf.bb
> > index 88e3a0a..85fe0ea 100644
> > --- a/meta/recipes-kernel/perf/perf.bb
> > +++ b/meta/recipes-kernel/perf/perf.bb
> > @@ -79,6 +79,7 @@ EXTRA_OEMAKE = '\
> > ARCH=${ARCH} \
> > CC="${CC}" \
> > AR="${AR}" \
> > + LD="${LD}" \
> > EXTRA_CFLAGS="-ldw" \
> > perfexecdir=${libexecdir} \
> > NO_GTK2=1 ${TUI_DEFINES} NO_DWARF=1 ${LIBUNWIND_DEFINES} \
> > @@ -98,6 +99,14 @@ EXTRA_OEMAKE += "\
> > 'infodir=${@os.path.relpath(infodir, prefix)}' \
> > "
> >
> > +do_configure_prepend () {
> > + for makefile in "${S}/tools/perf/Makefile.perf" \
> > + "${S}/tools/lib/api/Makefile"; do
> > + if [ -e "$makefile" ]; then
> > + sed -i 's,LD = $(CROSS_COMPILE)ld,#LD,' "$makefile"
> > + fi
> > + done
> > +}
>
> Isn't passing LD via the Make command line enough to over-ride these
> definitions in the Makefiles?
>
Unfortunately that didn't helped I believe. That's the reason, this patch
was created.
>
> > do_compile() {
> > # Linux kernel build system is expected to do the right thing
> > --
> > 1.9.1
> >
> > --
> > _______________________________________________
> > Openembedded-core mailing list
> > Openembedded-core at lists.openembedded.org
> > http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
--
സുജിത് ഹരിദാസന്
Bangalore
<Project>Contributor to KDE project
<Project>Contributor to Yocto project
http://fci.wikia.com/wiki/Anti-DRM-Campaign
<Blog> http://sujithh.info
C-x C-c
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20160919/f3ad4b07/attachment-0002.html>
More information about the Openembedded-core
mailing list