From 544045c88cfb07f0f5d3500fd2ff51993717a5dd Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sat, 17 Feb 2018 13:00:42 +0100 Subject: [PATCH 1/5] libunwind: only install to sysroot Signed-off-by: Matthias Reichl --- packages/debug/libunwind/package.mk | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/debug/libunwind/package.mk b/packages/debug/libunwind/package.mk index 9384798aa6..7108cf050f 100644 --- a/packages/debug/libunwind/package.mk +++ b/packages/debug/libunwind/package.mk @@ -29,3 +29,7 @@ PKG_LONGDESC="library to determine the call-chain of a program" PKG_CONFIGURE_OPTS_TARGET="--enable-static \ --disable-shared" + +makeinstall_target() { + make DESTDIR=$SYSROOT_PREFIX install +} From 18ad7260b02d2913abd03991d85877302cc03975 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sat, 17 Feb 2018 13:01:26 +0100 Subject: [PATCH 2/5] linux: perf: don't link against -llzma on x86_84 Signed-off-by: Matthias Reichl --- .../linux-999-no-lzma-in-x86-perf-build.patch | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 packages/linux/patches/default/linux-999-no-lzma-in-x86-perf-build.patch diff --git a/packages/linux/patches/default/linux-999-no-lzma-in-x86-perf-build.patch b/packages/linux/patches/default/linux-999-no-lzma-in-x86-perf-build.patch new file mode 100644 index 0000000000..676d0d98ca --- /dev/null +++ b/packages/linux/patches/default/linux-999-no-lzma-in-x86-perf-build.patch @@ -0,0 +1,13 @@ +diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config +index 0294bfb6c5f8..153036bbed7e 100644 +--- a/tools/perf/Makefile.config ++++ b/tools/perf/Makefile.config +@@ -35,7 +35,7 @@ ifeq ($(SRCARCH),x86) + ifeq (${IS_64_BIT}, 1) + CFLAGS += -DHAVE_ARCH_X86_64_SUPPORT -DHAVE_SYSCALL_TABLE -I$(OUTPUT)arch/x86/include/generated + ARCH_INCLUDE = ../../arch/x86/lib/memcpy_64.S ../../arch/x86/lib/memset_64.S +- LIBUNWIND_LIBS = -lunwind-x86_64 -lunwind -llzma ++ LIBUNWIND_LIBS = -lunwind-x86_64 -lunwind + $(call detected,CONFIG_X86_64) + else + LIBUNWIND_LIBS = -lunwind-x86 -llzma -lunwind From 2f3f746d7f95330de2d26867eb1c3b1dda0602f1 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Wed, 14 Feb 2018 13:37:23 +0100 Subject: [PATCH 3/5] linux: fix perf build properly set ARCH, CROSS_COMPILE, LDFLAGS and JOBS. This fixes build failure on aarch64 / kernel 4.4 and feature detection issues due to LTO warnings on 32bit Rockchip builds. Signed-off-by: Matthias Reichl --- packages/linux/package.mk | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/packages/linux/package.mk b/packages/linux/package.mk index 52262910a6..09a7d268d3 100644 --- a/packages/linux/package.mk +++ b/packages/linux/package.mk @@ -164,6 +164,20 @@ make_target() { if [ "$PKG_BUILD_PERF" = "yes" ] ; then ( cd tools/perf + + # arch specific perf build args + case "$TARGET_ARCH" in + x86_64) + PERF_BUILD_ARGS="ARCH=x86" + ;; + aarch64) + PERF_BUILD_ARGS="ARCH=arm64" + ;; + *) + PERF_BUILD_ARGS="ARCH=$TARGET_ARCH" + ;; + esac + WERROR=0 \ NO_LIBPERL=1 \ NO_LIBPYTHON=1 \ @@ -173,9 +187,11 @@ make_target() { NO_LIBAUDIT=1 \ NO_LZMA=1 \ NO_SDT=1 \ - LDFLAGS="-ldw -ldwfl -lebl -lelf -ldl -lz" \ + LDFLAGS="$LDFLAGS -ldw -ldwfl -lebl -lelf -ldl -lz" \ EXTRA_PERFLIBS="-lebl" \ - make + CROSS_COMPILE="$TARGET_PREFIX" \ + JOBS="$CONCURRENCY_MAKE_LEVEL" \ + make $PERF_BUILD_ARGS mkdir -p $INSTALL/usr/bin cp perf $INSTALL/usr/bin ) From 3e8571e74afa7f518b27273b38a4031360271e1f Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Mon, 19 Feb 2018 11:22:34 +0100 Subject: [PATCH 4/5] binutils: cleanup target build, add libbfd Signed-off-by: Matthias Reichl --- packages/devel/binutils/package.mk | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/devel/binutils/package.mk b/packages/devel/binutils/package.mk index 22ee7d8153..9c09085548 100644 --- a/packages/devel/binutils/package.mk +++ b/packages/devel/binutils/package.mk @@ -50,6 +50,8 @@ PKG_CONFIGURE_OPTS_TARGET="--target=$TARGET_NAME \ --with-lib-path=$SYSROOT_PREFIX/lib:$SYSROOT_PREFIX/usr/lib \ --without-ppl \ --without-cloog \ + --enable-static \ + --disable-shared \ --disable-werror \ --disable-multilib \ --disable-libada \ @@ -79,10 +81,12 @@ makeinstall_host() { make_target() { make configure-host - make -C libiberty libiberty.a + make -C libiberty + make -C bfd } makeinstall_target() { mkdir -p $SYSROOT_PREFIX/usr/lib cp libiberty/libiberty.a $SYSROOT_PREFIX/usr/lib + make DESTDIR="$SYSROOT_PREFIX" -C bfd install } From 6b7a5ce8d908b07662572a4147c378733e9e324a Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Tue, 20 Feb 2018 10:52:17 +0100 Subject: [PATCH 5/5] gdb: only install to target Don't pollute sysroot with static libs and headers Signed-off-by: Matthias Reichl --- packages/debug/gdb/package.mk | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/debug/gdb/package.mk b/packages/debug/gdb/package.mk index 1153af3383..e327bc9353 100644 --- a/packages/debug/gdb/package.mk +++ b/packages/debug/gdb/package.mk @@ -52,6 +52,10 @@ PKG_CONFIGURE_OPTS_TARGET="bash_cv_have_mbstate_t=set \ --enable-libssp \ --disable-werror" +makeinstall_target() { + make DESTDIR=$INSTALL install +} + post_makeinstall_target() { rm -rf $INSTALL/usr/share/gdb/python }