[OE-core] [PATCH] perf: Fix to obey LD failure on host i686
Andre McCurdy
armccurdy at gmail.com
Thu Sep 8 07:06:49 UTC 2016
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?
> 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
More information about the Openembedded-core
mailing list