From ebaff257b93f234db455503fb15cfc0cf5a4e078 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Wed, 14 Feb 2018 13:31:57 +0100 Subject: [PATCH 1/6] config/path: define TARGET_KERNEL_PREFIX Signed-off-by: Matthias Reichl --- config/path | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/config/path b/config/path index fcca196b45..c0f62ef277 100644 --- a/config/path +++ b/config/path @@ -37,6 +37,13 @@ SYSROOT_PREFIX=$TOOLCHAIN/$TARGET_NAME/sysroot LIB_PREFIX=$SYSROOT_PREFIX/usr TARGET_PREFIX=$TOOLCHAIN/bin/$TARGET_NAME- +# use linaro toolchain on 64/32 split builds +if [ "$TARGET_KERNEL_ARCH" = "arm64" -a "$TARGET_ARCH" = "arm" ]; then + TARGET_KERNEL_PREFIX=$TOOLCHAIN/lib/gcc-linaro-aarch64-linux-gnu/bin/aarch64-linux-gnu- +else + TARGET_KERNEL_PREFIX=$TARGET_PREFIX +fi + FAKEROOT_SCRIPT=$BUILD/.fakeroot if [ -z "$INSTALL" ]; then From a5f476156096721b646e7e55c4525a8ada267729 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Wed, 14 Feb 2018 13:33:12 +0100 Subject: [PATCH 2/6] scripts/image: use kernel toolchain to strip modules Signed-off-by: Matthias Reichl --- scripts/image | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/scripts/image b/scripts/image index 550d6fb8a8..21a20c1f5e 100755 --- a/scripts/image +++ b/scripts/image @@ -230,11 +230,8 @@ find $INSTALL/usr/lib/kernel-overlays/base/lib/modules/$MODVER/ -name *.ko | \ $TOOLCHAIN/bin/depmod -b $INSTALL/usr/lib/kernel-overlays/base -a -e -F "$BUILD/linux-$(kernel_version)/System.map" $MODVER # strip kernel modules -if [ "$TARGET_KERNEL_ARCH" = "arm64" -a "$TARGET_ARCH" = "arm" ]; then - STRIP=$TOOLCHAIN/lib/gcc-linaro-aarch64-linux-gnu/bin/aarch64-linux-gnu-strip -fi for MOD in `find $INSTALL/usr/lib/kernel-overlays/ -type f -name *.ko`; do - $STRIP --strip-debug $MOD + ${TARGET_KERNEL_PREFIX}strip --strip-debug $MOD done # symlink overlayed modules to /usr/lib/modules From 6dd1537b4b4b1ea8118a53125d2ad3536d14d764 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Wed, 14 Feb 2018 13:36:44 +0100 Subject: [PATCH 3/6] linux: use TARGET_KERNEL_ARCH Signed-off-by: Matthias Reichl --- packages/linux/package.mk | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/packages/linux/package.mk b/packages/linux/package.mk index 52262910a6..0e3ba5d222 100644 --- a/packages/linux/package.mk +++ b/packages/linux/package.mk @@ -59,11 +59,8 @@ PKG_KERNEL_CFG_FILE=$(kernel_config_path) if [ "$TARGET_KERNEL_ARCH" = "arm64" -a "$TARGET_ARCH" = "arm" ]; then PKG_DEPENDS_HOST="$PKG_DEPENDS_HOST gcc-linaro-aarch64-linux-gnu:host" PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET gcc-linaro-aarch64-linux-gnu:host" - PKG_TARGET_PREFIX=$TOOLCHAIN/lib/gcc-linaro-aarch64-linux-gnu/bin/aarch64-linux-gnu- HEADERS_ARCH=$TARGET_ARCH PKG_BUILD_PERF="no" -else - PKG_TARGET_PREFIX=$TARGET_PREFIX fi if [ "$DEVTOOLS" = "yes" -a "$PKG_BUILD_PERF" != "no" ] && grep -q ^CONFIG_PERF_EVENTS= $PKG_KERNEL_CFG_FILE ; then @@ -85,7 +82,7 @@ post_patch() { sed -i -e "s|^HOSTCC[[:space:]]*=.*$|HOSTCC = $TOOLCHAIN/bin/host-gcc|" \ -e "s|^HOSTCXX[[:space:]]*=.*$|HOSTCXX = $TOOLCHAIN/bin/host-g++|" \ -e "s|^ARCH[[:space:]]*?=.*$|ARCH = $TARGET_KERNEL_ARCH|" \ - -e "s|^CROSS_COMPILE[[:space:]]*?=.*$|CROSS_COMPILE = $PKG_TARGET_PREFIX|" \ + -e "s|^CROSS_COMPILE[[:space:]]*?=.*$|CROSS_COMPILE = $TARGET_KERNEL_PREFIX|" \ $PKG_BUILD/Makefile cp $PKG_KERNEL_CFG_FILE $PKG_BUILD/.config From 5712669e8949f7c826db3eaa4f008c609deea4ca Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Wed, 14 Feb 2018 13:38:31 +0100 Subject: [PATCH 4/6] linux drivers: use TARGET_KERNEL_PREFIX instead of TARGET_PERFIX Signed-off-by: Matthias Reichl --- packages/linux-drivers/RTL8188EU/package.mk | 2 +- packages/linux-drivers/RTL8192CU/package.mk | 2 +- packages/linux-drivers/RTL8192DU/package.mk | 2 +- packages/linux-drivers/RTL8192EU/package.mk | 2 +- packages/linux-drivers/RTL8812AU/package.mk | 2 +- packages/linux-drivers/amlogic/RTL8188EU-aml/package.mk | 2 +- packages/linux-drivers/amlogic/RTL8189ES-aml/package.mk | 2 +- packages/linux-drivers/amlogic/RTL8189FS-aml/package.mk | 2 +- packages/linux-drivers/amlogic/RTL8723BS-aml/package.mk | 2 +- packages/linux-drivers/amlogic/RTL8723DS-aml/package.mk | 2 +- packages/linux-drivers/amlogic/RTL8822BU-aml/package.mk | 2 +- packages/linux-drivers/amlogic/ap6xxx-aml/package.mk | 2 +- packages/linux-drivers/amlogic/mt7601u-aml/package.mk | 2 +- packages/linux-drivers/amlogic/mt7603u-aml/package.mk | 2 +- packages/linux-drivers/amlogic/qca9377-aml/package.mk | 2 +- packages/linux-drivers/amlogic/ssv6xxx-aml/package.mk | 2 +- packages/linux-drivers/brcmap6xxx-aml/package.mk | 2 +- 17 files changed, 17 insertions(+), 17 deletions(-) diff --git a/packages/linux-drivers/RTL8188EU/package.mk b/packages/linux-drivers/RTL8188EU/package.mk index fd5ae98d8d..0bdb1a7878 100644 --- a/packages/linux-drivers/RTL8188EU/package.mk +++ b/packages/linux-drivers/RTL8188EU/package.mk @@ -40,7 +40,7 @@ make_target() { make V=1 \ ARCH=$TARGET_KERNEL_ARCH \ KSRC=$(kernel_path) \ - CROSS_COMPILE=$TARGET_PREFIX \ + CROSS_COMPILE=$TARGET_KERNEL_PREFIX \ CONFIG_POWER_SAVING=n } diff --git a/packages/linux-drivers/RTL8192CU/package.mk b/packages/linux-drivers/RTL8192CU/package.mk index 1eea7c8d75..51dbffc477 100644 --- a/packages/linux-drivers/RTL8192CU/package.mk +++ b/packages/linux-drivers/RTL8192CU/package.mk @@ -39,7 +39,7 @@ make_target() { make V=1 \ ARCH=$TARGET_KERNEL_ARCH \ KSRC=$(kernel_path) \ - CROSS_COMPILE=$TARGET_PREFIX \ + CROSS_COMPILE=$TARGET_KERNEL_PREFIX \ CONFIG_POWER_SAVING=n } diff --git a/packages/linux-drivers/RTL8192DU/package.mk b/packages/linux-drivers/RTL8192DU/package.mk index 53041b8cfe..1ae694ecdc 100644 --- a/packages/linux-drivers/RTL8192DU/package.mk +++ b/packages/linux-drivers/RTL8192DU/package.mk @@ -39,7 +39,7 @@ make_target() { make V=1 \ ARCH=$TARGET_KERNEL_ARCH \ KSRC=$(kernel_path) \ - CROSS_COMPILE=$TARGET_PREFIX \ + CROSS_COMPILE=$TARGET_KERNEL_PREFIX \ CONFIG_POWER_SAVING=n } diff --git a/packages/linux-drivers/RTL8192EU/package.mk b/packages/linux-drivers/RTL8192EU/package.mk index 4ab2c34c44..04f8a05e7f 100644 --- a/packages/linux-drivers/RTL8192EU/package.mk +++ b/packages/linux-drivers/RTL8192EU/package.mk @@ -39,7 +39,7 @@ make_target() { make V=1 \ ARCH=$TARGET_KERNEL_ARCH \ KSRC=$(kernel_path) \ - CROSS_COMPILE=$TARGET_PREFIX \ + CROSS_COMPILE=$TARGET_KERNEL_PREFIX \ CONFIG_POWER_SAVING=n \ USER_EXTRA_CFLAGS="-Wno-error=date-time" } diff --git a/packages/linux-drivers/RTL8812AU/package.mk b/packages/linux-drivers/RTL8812AU/package.mk index bfcfbf09a7..e806470140 100644 --- a/packages/linux-drivers/RTL8812AU/package.mk +++ b/packages/linux-drivers/RTL8812AU/package.mk @@ -39,7 +39,7 @@ make_target() { make V=1 \ ARCH=$TARGET_KERNEL_ARCH \ KSRC=$(kernel_path) \ - CROSS_COMPILE=$TARGET_PREFIX \ + CROSS_COMPILE=$TARGET_KERNEL_PREFIX \ CONFIG_POWER_SAVING=n } diff --git a/packages/linux-drivers/amlogic/RTL8188EU-aml/package.mk b/packages/linux-drivers/amlogic/RTL8188EU-aml/package.mk index 3b4571fe7a..513d0f1dcc 100644 --- a/packages/linux-drivers/amlogic/RTL8188EU-aml/package.mk +++ b/packages/linux-drivers/amlogic/RTL8188EU-aml/package.mk @@ -42,7 +42,7 @@ make_target() { LDFLAGS="" make -C $(kernel_path) M=$PKG_BUILD/rtl8xxx_EU \ ARCH=$TARGET_KERNEL_ARCH \ KSRC=$(kernel_path) \ - CROSS_COMPILE=$TARGET_PREFIX \ + CROSS_COMPILE=$TARGET_KERNEL_PREFIX \ USER_EXTRA_CFLAGS="-fgnu89-inline" } diff --git a/packages/linux-drivers/amlogic/RTL8189ES-aml/package.mk b/packages/linux-drivers/amlogic/RTL8189ES-aml/package.mk index 73d9d835d1..e385e3a649 100644 --- a/packages/linux-drivers/amlogic/RTL8189ES-aml/package.mk +++ b/packages/linux-drivers/amlogic/RTL8189ES-aml/package.mk @@ -46,7 +46,7 @@ make_target() { make -C $(kernel_path) M=$PKG_BUILD/rtl8189ES \ ARCH=$TARGET_KERNEL_ARCH \ KSRC=$(kernel_path) \ - CROSS_COMPILE=$TARGET_PREFIX \ + CROSS_COMPILE=$TARGET_KERNEL_PREFIX \ USER_EXTRA_CFLAGS="-fgnu89-inline" } diff --git a/packages/linux-drivers/amlogic/RTL8189FS-aml/package.mk b/packages/linux-drivers/amlogic/RTL8189FS-aml/package.mk index cb70b9c7e6..c02b076108 100644 --- a/packages/linux-drivers/amlogic/RTL8189FS-aml/package.mk +++ b/packages/linux-drivers/amlogic/RTL8189FS-aml/package.mk @@ -46,7 +46,7 @@ make_target() { make -C $(kernel_path) M=$PKG_BUILD/rtl8189FS \ ARCH=$TARGET_KERNEL_ARCH \ KSRC=$(kernel_path) \ - CROSS_COMPILE=$TARGET_PREFIX \ + CROSS_COMPILE=$TARGET_KERNEL_PREFIX \ USER_EXTRA_CFLAGS="-fgnu89-inline" } diff --git a/packages/linux-drivers/amlogic/RTL8723BS-aml/package.mk b/packages/linux-drivers/amlogic/RTL8723BS-aml/package.mk index 0e5b094164..93bf02d243 100644 --- a/packages/linux-drivers/amlogic/RTL8723BS-aml/package.mk +++ b/packages/linux-drivers/amlogic/RTL8723BS-aml/package.mk @@ -46,7 +46,7 @@ make_target() { make -C $(kernel_path) M=$PKG_BUILD/rtl8723BS \ ARCH=$TARGET_KERNEL_ARCH \ KSRC=$(kernel_path) \ - CROSS_COMPILE=$TARGET_PREFIX \ + CROSS_COMPILE=$TARGET_KERNEL_PREFIX \ USER_EXTRA_CFLAGS="-fgnu89-inline" } diff --git a/packages/linux-drivers/amlogic/RTL8723DS-aml/package.mk b/packages/linux-drivers/amlogic/RTL8723DS-aml/package.mk index de64675c01..ec3f09d1bd 100644 --- a/packages/linux-drivers/amlogic/RTL8723DS-aml/package.mk +++ b/packages/linux-drivers/amlogic/RTL8723DS-aml/package.mk @@ -46,7 +46,7 @@ make_target() { make -C $(kernel_path) M=$PKG_BUILD/rtl8723DS \ ARCH=$TARGET_KERNEL_ARCH \ KSRC=$(kernel_path) \ - CROSS_COMPILE=$TARGET_PREFIX \ + CROSS_COMPILE=$TARGET_KERNEL_PREFIX \ USER_EXTRA_CFLAGS="-fgnu89-inline" } diff --git a/packages/linux-drivers/amlogic/RTL8822BU-aml/package.mk b/packages/linux-drivers/amlogic/RTL8822BU-aml/package.mk index 649bc7bc43..1611d5e561 100644 --- a/packages/linux-drivers/amlogic/RTL8822BU-aml/package.mk +++ b/packages/linux-drivers/amlogic/RTL8822BU-aml/package.mk @@ -46,7 +46,7 @@ make_target() { make -C $(kernel_path) M=$PKG_BUILD/rtl8822BU \ ARCH=$TARGET_KERNEL_ARCH \ KSRC=$(kernel_path) \ - CROSS_COMPILE=$TARGET_PREFIX \ + CROSS_COMPILE=$TARGET_KERNEL_PREFIX \ USER_EXTRA_CFLAGS="-fgnu89-inline" } diff --git a/packages/linux-drivers/amlogic/ap6xxx-aml/package.mk b/packages/linux-drivers/amlogic/ap6xxx-aml/package.mk index d4cae7f040..0a8aafb73c 100644 --- a/packages/linux-drivers/amlogic/ap6xxx-aml/package.mk +++ b/packages/linux-drivers/amlogic/ap6xxx-aml/package.mk @@ -39,7 +39,7 @@ pre_make_target() { make_target() { make -C $(kernel_path) M=$PKG_BUILD/bcmdhd.1.363.59.144.x.cn \ ARCH=$TARGET_KERNEL_ARCH \ - CROSS_COMPILE=$TARGET_PREFIX \ + CROSS_COMPILE=$TARGET_KERNEL_PREFIX \ CONFIG_BCMDHD_DISABLE_WOWLAN=y } diff --git a/packages/linux-drivers/amlogic/mt7601u-aml/package.mk b/packages/linux-drivers/amlogic/mt7601u-aml/package.mk index d99268f3c5..4fb24a40fa 100644 --- a/packages/linux-drivers/amlogic/mt7601u-aml/package.mk +++ b/packages/linux-drivers/amlogic/mt7601u-aml/package.mk @@ -39,7 +39,7 @@ pre_make_target() { make_target() { make -C $(kernel_path) M=$PKG_BUILD \ ARCH=$TARGET_KERNEL_ARCH \ - CROSS_COMPILE=$TARGET_PREFIX + CROSS_COMPILE=$TARGET_KERNEL_PREFIX } makeinstall_target() { diff --git a/packages/linux-drivers/amlogic/mt7603u-aml/package.mk b/packages/linux-drivers/amlogic/mt7603u-aml/package.mk index 04bf19cbe8..a7470d4e5c 100644 --- a/packages/linux-drivers/amlogic/mt7603u-aml/package.mk +++ b/packages/linux-drivers/amlogic/mt7603u-aml/package.mk @@ -39,7 +39,7 @@ pre_make_target() { make_target() { make LINUX_SRC=$(kernel_path) \ ARCH=$TARGET_KERNEL_ARCH \ - CROSS_COMPILE=$TARGET_PREFIX \ + CROSS_COMPILE=$TARGET_KERNEL_PREFIX \ RT28xx_DIR=$PKG_BUILD \ -f $PKG_BUILD/Makefile } diff --git a/packages/linux-drivers/amlogic/qca9377-aml/package.mk b/packages/linux-drivers/amlogic/qca9377-aml/package.mk index 9d5dd2b50b..d06e7b21f5 100644 --- a/packages/linux-drivers/amlogic/qca9377-aml/package.mk +++ b/packages/linux-drivers/amlogic/qca9377-aml/package.mk @@ -45,7 +45,7 @@ pre_make_target() { make_target() { make KERNEL_SRC="$(kernel_path)" \ ARCH=$TARGET_KERNEL_ARCH \ - CROSS_COMPILE=$TARGET_PREFIX \ + CROSS_COMPILE=$TARGET_KERNEL_PREFIX \ CONFIG_CLD_HL_SDIO_CORE=y } diff --git a/packages/linux-drivers/amlogic/ssv6xxx-aml/package.mk b/packages/linux-drivers/amlogic/ssv6xxx-aml/package.mk index d197c8700f..96b533f28e 100644 --- a/packages/linux-drivers/amlogic/ssv6xxx-aml/package.mk +++ b/packages/linux-drivers/amlogic/ssv6xxx-aml/package.mk @@ -51,7 +51,7 @@ make_target() { cp Makefile.android Makefile sed -i 's,PLATFORMS =,PLATFORMS = '"$PLATFORM"',g' Makefile make module SSV_ARCH="$TARGET_KERNEL_ARCH" \ - SSV_CROSS="$TARGET_PREFIX" \ + SSV_CROSS="$TARGET_KERNEL_PREFIX" \ SSV_KERNEL_PATH="$(kernel_path)" } diff --git a/packages/linux-drivers/brcmap6xxx-aml/package.mk b/packages/linux-drivers/brcmap6xxx-aml/package.mk index da24abd2eb..03b7340c9a 100644 --- a/packages/linux-drivers/brcmap6xxx-aml/package.mk +++ b/packages/linux-drivers/brcmap6xxx-aml/package.mk @@ -36,7 +36,7 @@ make_target() { LDFLAGS="" make V=1 \ -C $(kernel_path) M=$PKG_BUILD/bcmdhd_1_201_59_x \ ARCH=$TARGET_KERNEL_ARCH \ - CROSS_COMPILE=$TARGET_PREFIX + CROSS_COMPILE=$TARGET_KERNEL_PREFIX } makeinstall_target() { From 13c3bdf23815811386d7514923b708d4f0ee71f9 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Wed, 14 Feb 2018 13:45:47 +0100 Subject: [PATCH 5/6] u-boot: compile with KERNEL toolchain Signed-off-by: Matthias Reichl --- packages/tools/u-boot/package.mk | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/tools/u-boot/package.mk b/packages/tools/u-boot/package.mk index aab4b29f9b..2212817d01 100644 --- a/packages/tools/u-boot/package.mk +++ b/packages/tools/u-boot/package.mk @@ -44,9 +44,9 @@ make_target() { echo "UBOOT_SYSTEM must be set to build an image" echo "see './scripts/uboot_helper' for more information" else - CROSS_COMPILE="$TARGET_PREFIX" LDFLAGS="" ARCH=arm make mrproper - CROSS_COMPILE="$TARGET_PREFIX" LDFLAGS="" ARCH=arm make $($ROOT/$SCRIPTS/uboot_helper $PROJECT $DEVICE $UBOOT_SYSTEM config) - CROSS_COMPILE="$TARGET_PREFIX" LDFLAGS="" ARCH=arm make HOSTCC="$HOST_CC" HOSTSTRIP="true" + CROSS_COMPILE="$TARGET_KERNEL_PREFIX" LDFLAGS="" ARCH=arm make mrproper + CROSS_COMPILE="$TARGET_KERNEL_PREFIX" LDFLAGS="" ARCH=arm make $($ROOT/$SCRIPTS/uboot_helper $PROJECT $DEVICE $UBOOT_SYSTEM config) + CROSS_COMPILE="$TARGET_KERNEL_PREFIX" LDFLAGS="" ARCH=arm make HOSTCC="$HOST_CC" HOSTSTRIP="true" fi } From d41e3ac23975eb385d36a224f03c5919ce7a3938 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Wed, 14 Feb 2018 13:37:59 +0100 Subject: [PATCH 6/6] scripts/build: don't redefine TARGET_PREFIX on 64/32 builds Signed-off-by: Matthias Reichl --- scripts/build | 7 ------- 1 file changed, 7 deletions(-) diff --git a/scripts/build b/scripts/build index a145f9d431..8317721de1 100755 --- a/scripts/build +++ b/scripts/build @@ -213,13 +213,6 @@ if [ "$(type -t configure_package)" = "function" ]; then configure_package fi -if [ "$PKG_IS_KERNEL_PKG" = "yes" ]; then - if [ "$TARGET_KERNEL_ARCH" = "arm64" -a "$TARGET_ARCH" = "arm" ]; then - TARGET_PREFIX=$TOOLCHAIN/lib/gcc-linaro-aarch64-linux-gnu/bin/aarch64-linux-gnu- - STRIP=${TARGET_PREFIX}strip - fi -fi - # build dependencies, only when PKG_DEPENDS_? is filled unset _pkg_depends case "$TARGET" in