summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbuild.sh2
-rwxr-xr-xbuildkernel.sh2
-rw-r--r--kernel_definitions.mk21
3 files changed, 16 insertions, 9 deletions
diff --git a/build.sh b/build.sh
index 4da6dfc..2037f68 100755
--- a/build.sh
+++ b/build.sh
@@ -171,7 +171,7 @@ export INITRAMFS_STAGING_DIR=${MODULES_STAGING_DIR}/initramfs_staging
cd ${ROOT_DIR}
-export CLANG_TRIPLE CROSS_COMPILE CROSS_COMPILE_ARM32 ARCH SUBARCH
+export CLANG_TRIPLE CROSS_COMPILE CROSS_COMPILE_ARM32 CROSS_COMPILE_COMPAT ARCH SUBARCH
# Restore the previously saved CC argument that might have been overridden by
# the BUILD_CONFIG.
diff --git a/buildkernel.sh b/buildkernel.sh
index e71e454..d1243c1 100755
--- a/buildkernel.sh
+++ b/buildkernel.sh
@@ -33,7 +33,7 @@ export KERNEL_PREBUILT_DIR=$(readlink -m ${KERNEL_DIR}/../ship_prebuilt)
export MODULES_PRIVATE_DIR=$(readlink -m ${COMMON_OUT_DIR}/private)
export DIST_DIR=$(readlink -m ${DIST_DIR:-${COMMON_OUT_DIR}/dist})
export UNSTRIPPED_DIR=${KERNEL_MODULES_OUT}/unstripped
-export CLANG_TRIPLE CROSS_COMPILE CROSS_COMPILE_ARM32 ARCH SUBARCH
+export CLANG_TRIPLE CROSS_COMPILE CROSS_COMPILE_ARM32 CROSS_COMPILE_COMPAT ARCH SUBARCH
#Setting up for build
PREBUILT_KERNEL_IMAGE=$(basename ${TARGET_PREBUILT_INT_KERNEL})
diff --git a/kernel_definitions.mk b/kernel_definitions.mk
index 91e16e6..38991ef 100644
--- a/kernel_definitions.mk
+++ b/kernel_definitions.mk
@@ -89,11 +89,12 @@ KERNEL_CONFIG_OVERRIDE := CONFIG_ANDROID_BINDER_IPC_32BIT=y
endif
endif
-TARGET_KERNEL_CROSS_COMPILE_PREFIX := $(strip $(TARGET_KERNEL_CROSS_COMPILE_PREFIX))
-ifeq ($(TARGET_KERNEL_CROSS_COMPILE_PREFIX),)
-KERNEL_CROSS_COMPILE := arm-eabi-
+ifeq ($(KERNEL_NEW_GCC_SUPPORT),true)
+KERNEL_CROSS_COMPILE := aarch64-none-linux-gnu-
+KERNEL_CROSS_COMPILE_ARM32 := arm-none-eabi-
else
-KERNEL_CROSS_COMPILE := $(shell pwd)/$(TARGET_TOOLS_PREFIX)
+KERNEL_CROSS_COMPILE := aarch64-linux-gnu-
+KERNEL_CROSS_COMPILE_ARM32 := arm-linux-gnueabi-
endif
ifeq ($(TARGET_PREBUILT_KERNEL),)
@@ -107,7 +108,12 @@ CLANG_ARCH := arm-linux-gnueabi-
endif
cc_args :=
-ifeq ($(KERNEL_LLVM_SUPPORT),true)
+ifeq ($(KERNEL_NEW_GCC_SUPPORT), true) #Using gcc compiler
+ KERNEL_ARM64_GCC_BIN := $(SOURCE_ROOT)/prebuilts/gcc/$(BUILD_OS)-x86/aarch64/aarch64-none-linux-gnu/bin
+ KERNEL_ARM32_GCC_BIN := $(SOURCE_ROOT)/prebuilts/gcc/$(BUILD_OS)-x86/arm/arm-none-eabi/bin
+ $(warning "Using latest gcc" $(KERNEL_ARM64_GCC_BIN)/gcc)
+ cc_args := PATH=$(KERNEL_ARM64_GCC_BIN):$(KERNEL_ARM32_GCC_BIN):$$PATH
+else ifeq ($(KERNEL_LLVM_SUPPORT),true)
ifeq ($(KERNEL_SD_LLVM_SUPPORT), true) #Using sd-llvm compiler
ifeq ($(shell echo $(SDCLANG_PATH) | head -c 1),/)
KERNEL_LLVM_BIN := $(SDCLANG_PATH)
@@ -124,7 +130,7 @@ ifeq ($(KERNEL_LLVM_SUPPORT),true)
$(warning "Not using latest aosp-llvm" $(KERNEL_LLVM_BIN)/clang)
endif
endif
- cc_args := PATH=$(KERNEL_LLVM_BIN):$$PATH CC=clang REAL_CC=clang CLANG_TRIPLE=$(CLANG_ARCH) AR=llvm-ar LD=ld.lld NM=llvm-nm LLVM=1 LLVM_IAS=1
+ cc_args := PATH=$(KERNEL_LLVM_BIN):$$PATH CC=clang REAL_CC=clang CLANG_TRIPLE=$(CLANG_ARCH) AR=llvm-ar LD=ld.lld NM=llvm-nm OBJCOPY=llvm-objcopy LLVM=1 LLVM_IAS=1
else
ifeq ($(strip $(KERNEL_GCC_NOANDROID_CHK)),0)
KERNEL_CFLAGS := KCFLAGS=-mno-android
@@ -278,7 +284,8 @@ define build-kernel
MAKE_PATH=$(MAKE_PATH)\
ARCH=$(KERNEL_ARCH) \
CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) \
- CROSS_COMPILE_ARM32=$(TARGET_KERNEL_CROSS_COMPILE_ARM32_PREFIX) \
+ CROSS_COMPILE_ARM32=$(KERNEL_CROSS_COMPILE_ARM32) \
+ CROSS_COMPILE_COMPAT=$(KERNEL_CROSS_COMPILE_ARM32) \
KERNEL_MODULES_OUT=$(3) \
KERNEL_HEADERS_INSTALL=$(4) \
HEADERS_INSTALL=$(5) \