From 088e6a765e4a87966333300bc6ba0ef9d3c49a5b Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Mon, 5 Feb 2018 11:29:08 +0100 Subject: [PATCH] binutils: build libiberty for target Libiberty is needed by perf to demangle symbols. Signed-off-by: Matthias Reichl --- packages/devel/binutils/package.mk | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/packages/devel/binutils/package.mk b/packages/devel/binutils/package.mk index a0cd2d844b..d0aa389917 100644 --- a/packages/devel/binutils/package.mk +++ b/packages/devel/binutils/package.mk @@ -24,6 +24,7 @@ PKG_LICENSE="GPL" PKG_SITE="http://www.gnu.org/software/binutils/" PKG_URL="http://ftpmirror.gnu.org/binutils/$PKG_NAME-$PKG_VERSION.tar.gz" PKG_DEPENDS_HOST="ccache:host bison:host flex:host linux:host" +PKG_DEPENDS_TARGET="toolchain binutils:host" PKG_SECTION="toolchain/devel" PKG_SHORTDESC="binutils: A GNU collection of binary utilities" PKG_LONGDESC="The GNU binutils are utilities of use when dealing with object files. the packages includes ld - the GNU linker, as - the GNU assembler, addr2line - converts addresses into filenames and line numbers, ar - a utility for creating, modifying and extracting from archives, c++filt - filter to demangle encoded C++ symbols, gprof - displays profiling information, nlmconv - converts object code into an NLM, nm - lists symbols from object files, objcopy - Copys and translates object files, objdump - displays information from object files, ranlib - generates an index to the contents of an archive, readelf - displays information from any ELF format object file, size - lists the section sizes of an object or archive file, strings - lists printable strings from files, strip - discards symbols as well as windres - a compiler for Windows resource files." @@ -44,6 +45,21 @@ PKG_CONFIGURE_OPTS_HOST="--target=$TARGET_NAME \ --enable-lto \ --disable-nls" +PKG_CONFIGURE_OPTS_TARGET="--target=$TARGET_NAME \ + --with-sysroot=$SYSROOT_PREFIX \ + --with-lib-path=$SYSROOT_PREFIX/lib:$SYSROOT_PREFIX/usr/lib \ + --without-ppl \ + --without-cloog \ + --disable-werror \ + --disable-multilib \ + --disable-libada \ + --disable-libssp \ + --disable-plugins \ + --disable-gold \ + --disable-ld \ + --disable-lto \ + --disable-nls" + pre_configure_host() { unset CPPFLAGS unset CFLAGS @@ -60,3 +76,13 @@ makeinstall_host() { cp -v ../include/libiberty.h $SYSROOT_PREFIX/usr/include make install } + +make_target() { + make configure-host + make -C libiberty libiberty.a +} + +makeinstall_target() { + mkdir -p $SYSROOT_PREFIX/usr/lib + cp libiberty/libiberty.a $SYSROOT_PREFIX/usr/lib +}