[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20181219003030.GG20955@mini-arch.hsd1.ca.comcast.net>
Date: Tue, 18 Dec 2018 16:30:30 -0800
From: Stanislav Fomichev <sdf@...ichev.me>
To: Ivan Babrou <ivan@...udflare.com>
Cc: netdev@...r.kernel.org, jakub.kicinski@...ronome.com,
Ignat Korchagin <ignat@...udflare.com>
Subject: Re: bpftool cross-compilation for arm64
On 12/18, Ivan Babrou wrote:
> Hey,
>
> Is it possible to cross-compile bpftool for arm64? I'm trying to do
> the same thing we do for perf, but bpftool Makefile doesn't seem to
> support CROSS_COMPILE variable, so one needs to pass
> CC=aarch64-linux-gnu-gcc as well. Problems do not end there as it
What error are you getting? Can you try setting the ARCH:
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-
[..]
> requires EXTRA_LDFLAGS="-lz" too. With that I'm getting a long sad
> error about missing stuff from libbfd:
For this I've been waiting for the following patch to be merged
first: https://lkml.org/lkml/2018/11/16/243
Basically, on some platforms, -lbfd requires -liberty and/or -lz.
We need to test each case individually for bpftool, but the feature
tests are semi-broken without the patch above.
>
> /lib/aarch64-linux-gnu/libbfd.a(elflink.o): In function
> `elf_link_add_object_symbols':
> /build/binutils-YyZpUv/binutils-2.28/builddir-single/bfd/../../bfd/elflink.c:4938:
> undefined reference to `objalloc_free_block'
> /build/binutils-YyZpUv/binutils-2.28/builddir-single/bfd/../../bfd/elflink.c:5185:
> undefined reference to `_sch_istable'
> /build/binutils-YyZpUv/binutils-2.28/builddir-single/bfd/../../bfd/elflink.c:5185:
> undefined reference to `_sch_istable'
> /lib/aarch64-linux-gnu/libbfd.a(elflink.o): In function
> `bfd_elf_size_dynamic_sections':
> /build/binutils-YyZpUv/binutils-2.28/builddir-single/bfd/../../bfd/elflink.c:6373:
> undefined reference to `lbasename'
> /build/binutils-YyZpUv/binutils-2.28/builddir-single/bfd/../../bfd/elflink.c:6604:
> undefined reference to `lbasename'
> /lib/aarch64-linux-gnu/libbfd.a(elflink.o): In function `elf_output_implib':
> /build/binutils-YyZpUv/binutils-2.28/builddir-single/bfd/../../bfd/elflink.c:11172:
> undefined reference to `xmalloc'
> /lib/aarch64-linux-gnu/libbfd.a(archures.o): In function `bfd_default_scan':
> /build/binutils-YyZpUv/binutils-2.28/builddir-single/bfd/../../bfd/archures.c:1171:
> undefined reference to `_sch_istable'
> /build/binutils-YyZpUv/binutils-2.28/builddir-single/bfd/../../bfd/archures.c:1171:
> undefined reference to `_sch_istable'
>
> Binutils for arm64 are installed:
>
> $ dpkg -l | fgrep binutils
> ii binutils 2.28-5
> amd64 GNU assembler, linker and binary utilities
> ii binutils-aarch64-linux-gnu 2.28-5
> amd64 GNU binary utilities, for aarch64-linux-gnu target
> ii binutils-dev 2.28-5
> amd64 GNU binary utilities (BFD development files)
>
> I'd love for it to work out of the box just like perf.
Powered by blists - more mailing lists