diff --git a/build/tasks/kernel.mk b/build/tasks/kernel.mk index 6ba9cb88b..356d1fd5d 100644 --- a/build/tasks/kernel.mk +++ b/build/tasks/kernel.mk @@ -231,22 +231,6 @@ ifeq ($(TARGET_KERNEL_CLANG_COMPILE),true) KERNEL_CLANG_VERSION := $(LLVM_PREBUILTS_VERSION) endif - # As - ifeq ($(KERNEL_SUPPORTS_LLVM_TOOLS),true) - KERNEL_LD := LD=ld.lld - KERNEL_AR := AR=llvm-ar - KERNEL_OBJCOPY := OBJCOPY=llvm-objcopy - KERNEL_OBJDUMP := OBJDUMP=llvm-objdump - KERNEL_NM := NM=llvm-nm - KERNEL_STRIP := STRIP=llvm-strip - else - KERNEL_LD := - KERNEL_AR := - KERNEL_OBJCOPY := - KERNEL_OBJDUMP := - KERNEL_NM := - KERNEL_STRIP := - endif TARGET_KERNEL_CLANG_PATH ?= $(BUILD_TOP)/prebuilts/clang/host/$(HOST_PREBUILT_TAG)/$(KERNEL_CLANG_VERSION) ifeq ($(KERNEL_ARCH),arm64) KERNEL_CLANG_TRIPLE ?= CLANG_TRIPLE=aarch64-linux-gnu- @@ -264,6 +248,24 @@ ifeq ($(TARGET_KERNEL_CLANG_COMPILE),true) endif endif +# As +ifeq ($(KERNEL_SUPPORTS_LLVM_TOOLS),true) + LLVM_TOOLS ?= $(TARGET_KERNEL_CLANG_PATH)/bin + KERNEL_LD := LD=$(LLVM_TOOLS)/ld.lld + KERNEL_AR := AR=$(LLVM_TOOLS)/llvm-ar + KERNEL_OBJCOPY := OBJCOPY=$(LLVM_TOOLS)/llvm-objcopy + KERNEL_OBJDUMP := OBJDUMP=$(LLVM_TOOLS)/llvm-objdump + KERNEL_NM := NM=$(LLVM_TOOLS)/llvm-nm + KERNEL_STRIP := STRIP=$(LLVM_TOOLS)/llvm-strip +else + KERNEL_LD := + KERNEL_AR := + KERNEL_OBJCOPY := + KERNEL_OBJDUMP := + KERNEL_NM := + KERNEL_STRIP := +endif + ifneq ($(TARGET_KERNEL_MODULES),) $(error TARGET_KERNEL_MODULES is no longer supported!) endif diff --git a/config/BoardConfigKernel.mk b/config/BoardConfigKernel.mk index 1d22684c3..6bc3b791f 100644 --- a/config/BoardConfigKernel.mk +++ b/config/BoardConfigKernel.mk @@ -27,6 +27,8 @@ # defaults to arm-linux-androidkernel- for arm # aarch64-linux-android- for arm64 # x86_64-linux-android- for x86 +# TARGET_KERNEL_CROSS_COMPILE_PREFIX_ARM32 = Compiler prefix for building vDSO32 +# defaults to arm-linux-androidkernel- # # TARGET_KERNEL_CLANG_COMPILE = Compile kernel with clang, defaults to false # @@ -86,12 +88,26 @@ KERNEL_TOOLCHAIN ?= $(KERNEL_TOOLCHAIN_$(KERNEL_ARCH)) KERNEL_TOOLCHAIN_PREFIX ?= $(KERNEL_TOOLCHAIN_PREFIX_$(KERNEL_ARCH)) endif +TARGET_KERNEL_CROSS_COMPILE_PREFIX_ARM32 := $(strip $(TARGET_KERNEL_CROSS_COMPILE_PREFIX_ARM32)) +ifneq ($(TARGET_KERNEL_CROSS_COMPILE_PREFIX_ARM32),) +KERNEL_TOOLCHAIN_PREFIX_ARM32 ?= $(TARGET_KERNEL_CROSS_COMPILE_PREFIX_ARM32) +else +KERNEL_TOOLCHAIN_ARM32 ?= $(KERNEL_TOOLCHAIN_arm) +KERNEL_TOOLCHAIN_PREFIX_ARM32 ?= $(KERNEL_TOOLCHAIN_PREFIX_arm) +endif + ifeq ($(KERNEL_TOOLCHAIN),) KERNEL_TOOLCHAIN_PATH := $(KERNEL_TOOLCHAIN_PREFIX) else KERNEL_TOOLCHAIN_PATH := $(KERNEL_TOOLCHAIN)/$(KERNEL_TOOLCHAIN_PREFIX) endif +ifeq ($(KERNEL_TOOLCHAIN_ARM32),) +KERNEL_TOOLCHAIN_PATH_ARM32 := $(KERNEL_TOOLCHAIN_PREFIX_ARM32) +else +KERNEL_TOOLCHAIN_PATH_ARM32 := $(KERNEL_TOOLCHAIN_ARM32)/$(KERNEL_TOOLCHAIN_PREFIX_ARM32) +endif + # We need to add GCC toolchain to the path no matter what # for tools like `as` KERNEL_TOOLCHAIN_PATH_gcc := $(KERNEL_TOOLCHAIN_$(KERNEL_ARCH))/$(KERNEL_TOOLCHAIN_PREFIX_$(KERNEL_ARCH)) @@ -111,8 +127,8 @@ endif # Needed for CONFIG_COMPAT_VDSO, safe to set for all arm64 builds ifeq ($(KERNEL_ARCH),arm64) - KERNEL_CROSS_COMPILE += CROSS_COMPILE_ARM32="$(KERNEL_TOOLCHAIN_arm)/$(KERNEL_TOOLCHAIN_PREFIX_arm)" - KERNEL_CROSS_COMPILE += CROSS_COMPILE_COMPAT="$(KERNEL_TOOLCHAIN_arm)/$(KERNEL_TOOLCHAIN_PREFIX_arm)" + KERNEL_CROSS_COMPILE += CROSS_COMPILE_ARM32="$(KERNEL_TOOLCHAIN_PATH_ARM32)" + KERNEL_CROSS_COMPILE += CROSS_COMPILE_COMPAT="$(KERNEL_TOOLCHAIN_PATH_ARM32)" endif # Clear this first to prevent accidental poisoning from env diff --git a/config/xd_version.mk b/config/xd_version.mk index 7164217bb..2555e711b 100644 --- a/config/xd_version.mk +++ b/config/xd_version.mk @@ -25,7 +25,7 @@ ifndef XDROID_BUILD_TYPE XDROID_BUILD_TYPE := REL endif -XDROID_VERSION := r10 +XDROID_VERSION := r17 XDROID_ANDROID := 12.1 XDROID_PLATFORM_RELEASE_OR_CODENAME := 12L XDROID_REVISION := INA.XD.$(XDROID_ANDROID).$(XDROID_VERSION)-$(XDROID_GENID)-$(XDROID_BUILD).$(XDROID_BUILD_TYPE)