Merge pull request #2506 from HiassofT/le9-kernel-toolchain

Compile kernel on 64/32 split archs without redefining TARGET_PREFIX
This commit is contained in:
Radostan Riedel 2018-02-23 20:12:59 +01:00 committed by GitHub
commit d450819323
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
22 changed files with 29 additions and 35 deletions

View File

@ -37,6 +37,13 @@ SYSROOT_PREFIX=$TOOLCHAIN/$TARGET_NAME/sysroot
LIB_PREFIX=$SYSROOT_PREFIX/usr LIB_PREFIX=$SYSROOT_PREFIX/usr
TARGET_PREFIX=$TOOLCHAIN/bin/$TARGET_NAME- 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 FAKEROOT_SCRIPT=$BUILD/.fakeroot
if [ -z "$INSTALL" ]; then if [ -z "$INSTALL" ]; then

View File

@ -40,7 +40,7 @@ make_target() {
make V=1 \ make V=1 \
ARCH=$TARGET_KERNEL_ARCH \ ARCH=$TARGET_KERNEL_ARCH \
KSRC=$(kernel_path) \ KSRC=$(kernel_path) \
CROSS_COMPILE=$TARGET_PREFIX \ CROSS_COMPILE=$TARGET_KERNEL_PREFIX \
CONFIG_POWER_SAVING=n CONFIG_POWER_SAVING=n
} }

View File

@ -39,7 +39,7 @@ make_target() {
make V=1 \ make V=1 \
ARCH=$TARGET_KERNEL_ARCH \ ARCH=$TARGET_KERNEL_ARCH \
KSRC=$(kernel_path) \ KSRC=$(kernel_path) \
CROSS_COMPILE=$TARGET_PREFIX \ CROSS_COMPILE=$TARGET_KERNEL_PREFIX \
CONFIG_POWER_SAVING=n CONFIG_POWER_SAVING=n
} }

View File

@ -39,7 +39,7 @@ make_target() {
make V=1 \ make V=1 \
ARCH=$TARGET_KERNEL_ARCH \ ARCH=$TARGET_KERNEL_ARCH \
KSRC=$(kernel_path) \ KSRC=$(kernel_path) \
CROSS_COMPILE=$TARGET_PREFIX \ CROSS_COMPILE=$TARGET_KERNEL_PREFIX \
CONFIG_POWER_SAVING=n CONFIG_POWER_SAVING=n
} }

View File

@ -39,7 +39,7 @@ make_target() {
make V=1 \ make V=1 \
ARCH=$TARGET_KERNEL_ARCH \ ARCH=$TARGET_KERNEL_ARCH \
KSRC=$(kernel_path) \ KSRC=$(kernel_path) \
CROSS_COMPILE=$TARGET_PREFIX \ CROSS_COMPILE=$TARGET_KERNEL_PREFIX \
CONFIG_POWER_SAVING=n \ CONFIG_POWER_SAVING=n \
USER_EXTRA_CFLAGS="-Wno-error=date-time" USER_EXTRA_CFLAGS="-Wno-error=date-time"
} }

View File

@ -39,7 +39,7 @@ make_target() {
make V=1 \ make V=1 \
ARCH=$TARGET_KERNEL_ARCH \ ARCH=$TARGET_KERNEL_ARCH \
KSRC=$(kernel_path) \ KSRC=$(kernel_path) \
CROSS_COMPILE=$TARGET_PREFIX \ CROSS_COMPILE=$TARGET_KERNEL_PREFIX \
CONFIG_POWER_SAVING=n CONFIG_POWER_SAVING=n
} }

View File

@ -42,7 +42,7 @@ make_target() {
LDFLAGS="" make -C $(kernel_path) M=$PKG_BUILD/rtl8xxx_EU \ LDFLAGS="" make -C $(kernel_path) M=$PKG_BUILD/rtl8xxx_EU \
ARCH=$TARGET_KERNEL_ARCH \ ARCH=$TARGET_KERNEL_ARCH \
KSRC=$(kernel_path) \ KSRC=$(kernel_path) \
CROSS_COMPILE=$TARGET_PREFIX \ CROSS_COMPILE=$TARGET_KERNEL_PREFIX \
USER_EXTRA_CFLAGS="-fgnu89-inline" USER_EXTRA_CFLAGS="-fgnu89-inline"
} }

View File

@ -46,7 +46,7 @@ make_target() {
make -C $(kernel_path) M=$PKG_BUILD/rtl8189ES \ make -C $(kernel_path) M=$PKG_BUILD/rtl8189ES \
ARCH=$TARGET_KERNEL_ARCH \ ARCH=$TARGET_KERNEL_ARCH \
KSRC=$(kernel_path) \ KSRC=$(kernel_path) \
CROSS_COMPILE=$TARGET_PREFIX \ CROSS_COMPILE=$TARGET_KERNEL_PREFIX \
USER_EXTRA_CFLAGS="-fgnu89-inline" USER_EXTRA_CFLAGS="-fgnu89-inline"
} }

View File

@ -46,7 +46,7 @@ make_target() {
make -C $(kernel_path) M=$PKG_BUILD/rtl8189FS \ make -C $(kernel_path) M=$PKG_BUILD/rtl8189FS \
ARCH=$TARGET_KERNEL_ARCH \ ARCH=$TARGET_KERNEL_ARCH \
KSRC=$(kernel_path) \ KSRC=$(kernel_path) \
CROSS_COMPILE=$TARGET_PREFIX \ CROSS_COMPILE=$TARGET_KERNEL_PREFIX \
USER_EXTRA_CFLAGS="-fgnu89-inline" USER_EXTRA_CFLAGS="-fgnu89-inline"
} }

View File

@ -46,7 +46,7 @@ make_target() {
make -C $(kernel_path) M=$PKG_BUILD/rtl8723BS \ make -C $(kernel_path) M=$PKG_BUILD/rtl8723BS \
ARCH=$TARGET_KERNEL_ARCH \ ARCH=$TARGET_KERNEL_ARCH \
KSRC=$(kernel_path) \ KSRC=$(kernel_path) \
CROSS_COMPILE=$TARGET_PREFIX \ CROSS_COMPILE=$TARGET_KERNEL_PREFIX \
USER_EXTRA_CFLAGS="-fgnu89-inline" USER_EXTRA_CFLAGS="-fgnu89-inline"
} }

View File

@ -46,7 +46,7 @@ make_target() {
make -C $(kernel_path) M=$PKG_BUILD/rtl8723DS \ make -C $(kernel_path) M=$PKG_BUILD/rtl8723DS \
ARCH=$TARGET_KERNEL_ARCH \ ARCH=$TARGET_KERNEL_ARCH \
KSRC=$(kernel_path) \ KSRC=$(kernel_path) \
CROSS_COMPILE=$TARGET_PREFIX \ CROSS_COMPILE=$TARGET_KERNEL_PREFIX \
USER_EXTRA_CFLAGS="-fgnu89-inline" USER_EXTRA_CFLAGS="-fgnu89-inline"
} }

View File

@ -46,7 +46,7 @@ make_target() {
make -C $(kernel_path) M=$PKG_BUILD/rtl8822BU \ make -C $(kernel_path) M=$PKG_BUILD/rtl8822BU \
ARCH=$TARGET_KERNEL_ARCH \ ARCH=$TARGET_KERNEL_ARCH \
KSRC=$(kernel_path) \ KSRC=$(kernel_path) \
CROSS_COMPILE=$TARGET_PREFIX \ CROSS_COMPILE=$TARGET_KERNEL_PREFIX \
USER_EXTRA_CFLAGS="-fgnu89-inline" USER_EXTRA_CFLAGS="-fgnu89-inline"
} }

View File

@ -39,7 +39,7 @@ pre_make_target() {
make_target() { make_target() {
make -C $(kernel_path) M=$PKG_BUILD/bcmdhd.1.363.59.144.x.cn \ make -C $(kernel_path) M=$PKG_BUILD/bcmdhd.1.363.59.144.x.cn \
ARCH=$TARGET_KERNEL_ARCH \ ARCH=$TARGET_KERNEL_ARCH \
CROSS_COMPILE=$TARGET_PREFIX \ CROSS_COMPILE=$TARGET_KERNEL_PREFIX \
CONFIG_BCMDHD_DISABLE_WOWLAN=y CONFIG_BCMDHD_DISABLE_WOWLAN=y
} }

View File

@ -39,7 +39,7 @@ pre_make_target() {
make_target() { make_target() {
make -C $(kernel_path) M=$PKG_BUILD \ make -C $(kernel_path) M=$PKG_BUILD \
ARCH=$TARGET_KERNEL_ARCH \ ARCH=$TARGET_KERNEL_ARCH \
CROSS_COMPILE=$TARGET_PREFIX CROSS_COMPILE=$TARGET_KERNEL_PREFIX
} }
makeinstall_target() { makeinstall_target() {

View File

@ -39,7 +39,7 @@ pre_make_target() {
make_target() { make_target() {
make LINUX_SRC=$(kernel_path) \ make LINUX_SRC=$(kernel_path) \
ARCH=$TARGET_KERNEL_ARCH \ ARCH=$TARGET_KERNEL_ARCH \
CROSS_COMPILE=$TARGET_PREFIX \ CROSS_COMPILE=$TARGET_KERNEL_PREFIX \
RT28xx_DIR=$PKG_BUILD \ RT28xx_DIR=$PKG_BUILD \
-f $PKG_BUILD/Makefile -f $PKG_BUILD/Makefile
} }

View File

@ -45,7 +45,7 @@ pre_make_target() {
make_target() { make_target() {
make KERNEL_SRC="$(kernel_path)" \ make KERNEL_SRC="$(kernel_path)" \
ARCH=$TARGET_KERNEL_ARCH \ ARCH=$TARGET_KERNEL_ARCH \
CROSS_COMPILE=$TARGET_PREFIX \ CROSS_COMPILE=$TARGET_KERNEL_PREFIX \
CONFIG_CLD_HL_SDIO_CORE=y CONFIG_CLD_HL_SDIO_CORE=y
} }

View File

@ -51,7 +51,7 @@ make_target() {
cp Makefile.android Makefile cp Makefile.android Makefile
sed -i 's,PLATFORMS =,PLATFORMS = '"$PLATFORM"',g' Makefile sed -i 's,PLATFORMS =,PLATFORMS = '"$PLATFORM"',g' Makefile
make module SSV_ARCH="$TARGET_KERNEL_ARCH" \ make module SSV_ARCH="$TARGET_KERNEL_ARCH" \
SSV_CROSS="$TARGET_PREFIX" \ SSV_CROSS="$TARGET_KERNEL_PREFIX" \
SSV_KERNEL_PATH="$(kernel_path)" SSV_KERNEL_PATH="$(kernel_path)"
} }

View File

@ -36,7 +36,7 @@ make_target() {
LDFLAGS="" make V=1 \ LDFLAGS="" make V=1 \
-C $(kernel_path) M=$PKG_BUILD/bcmdhd_1_201_59_x \ -C $(kernel_path) M=$PKG_BUILD/bcmdhd_1_201_59_x \
ARCH=$TARGET_KERNEL_ARCH \ ARCH=$TARGET_KERNEL_ARCH \
CROSS_COMPILE=$TARGET_PREFIX CROSS_COMPILE=$TARGET_KERNEL_PREFIX
} }
makeinstall_target() { makeinstall_target() {

View File

@ -59,11 +59,8 @@ PKG_KERNEL_CFG_FILE=$(kernel_config_path)
if [ "$TARGET_KERNEL_ARCH" = "arm64" -a "$TARGET_ARCH" = "arm" ]; then if [ "$TARGET_KERNEL_ARCH" = "arm64" -a "$TARGET_ARCH" = "arm" ]; then
PKG_DEPENDS_HOST="$PKG_DEPENDS_HOST gcc-linaro-aarch64-linux-gnu:host" 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_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 HEADERS_ARCH=$TARGET_ARCH
PKG_BUILD_PERF="no" PKG_BUILD_PERF="no"
else
PKG_TARGET_PREFIX=$TARGET_PREFIX
fi fi
if [ "$DEVTOOLS" = "yes" -a "$PKG_BUILD_PERF" != "no" ] && grep -q ^CONFIG_PERF_EVENTS= $PKG_KERNEL_CFG_FILE ; then 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|" \ sed -i -e "s|^HOSTCC[[:space:]]*=.*$|HOSTCC = $TOOLCHAIN/bin/host-gcc|" \
-e "s|^HOSTCXX[[:space:]]*=.*$|HOSTCXX = $TOOLCHAIN/bin/host-g++|" \ -e "s|^HOSTCXX[[:space:]]*=.*$|HOSTCXX = $TOOLCHAIN/bin/host-g++|" \
-e "s|^ARCH[[:space:]]*?=.*$|ARCH = $TARGET_KERNEL_ARCH|" \ -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 $PKG_BUILD/Makefile
cp $PKG_KERNEL_CFG_FILE $PKG_BUILD/.config cp $PKG_KERNEL_CFG_FILE $PKG_BUILD/.config

View File

@ -44,9 +44,9 @@ make_target() {
echo "UBOOT_SYSTEM must be set to build an image" echo "UBOOT_SYSTEM must be set to build an image"
echo "see './scripts/uboot_helper' for more information" echo "see './scripts/uboot_helper' for more information"
else else
CROSS_COMPILE="$TARGET_PREFIX" LDFLAGS="" ARCH=arm make mrproper CROSS_COMPILE="$TARGET_KERNEL_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_KERNEL_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 HOSTCC="$HOST_CC" HOSTSTRIP="true"
fi fi
} }

View File

@ -212,13 +212,6 @@ if [ "$(type -t configure_package)" = "function" ]; then
configure_package configure_package
fi 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 # build dependencies, only when PKG_DEPENDS_? is filled
unset _pkg_depends unset _pkg_depends
case "$TARGET" in case "$TARGET" in

View File

@ -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 $TOOLCHAIN/bin/depmod -b $INSTALL/usr/lib/kernel-overlays/base -a -e -F "$BUILD/linux-$(kernel_version)/System.map" $MODVER
# strip kernel modules # 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 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 done
# symlink overlayed modules to /usr/lib/modules # symlink overlayed modules to /usr/lib/modules