Skip to content

Commit 94cdd5e

Browse files
NerdZ3nsxyzuan
authored andcommitted
xdroid: kernel: Allow to override toolchain prefix used for vDSO32 building
We can override prefix used for normal kernel building with TARGET_KERNEL_CROSS_COMPILE_PREFIX variable but we can't do the same for vDSO32. Let's correct this injustice by introducing TARGET_KERNEL_CROSS_COMPILE_PREFIX_ARM32 variable.
1 parent 025afee commit 94cdd5e

File tree

1 file changed

+18
-2
lines changed

1 file changed

+18
-2
lines changed

config/BoardConfigKernel.mk

+18-2
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@
2727
# defaults to arm-linux-androidkernel- for arm
2828
# aarch64-linux-android- for arm64
2929
# x86_64-linux-android- for x86
30+
# TARGET_KERNEL_CROSS_COMPILE_PREFIX_ARM32 = Compiler prefix for building vDSO32
31+
# defaults to arm-linux-androidkernel-
3032
#
3133
# TARGET_KERNEL_CLANG_COMPILE = Compile kernel with clang, defaults to false
3234
#
@@ -86,12 +88,26 @@ KERNEL_TOOLCHAIN ?= $(KERNEL_TOOLCHAIN_$(KERNEL_ARCH))
8688
KERNEL_TOOLCHAIN_PREFIX ?= $(KERNEL_TOOLCHAIN_PREFIX_$(KERNEL_ARCH))
8789
endif
8890

91+
TARGET_KERNEL_CROSS_COMPILE_PREFIX_ARM32 := $(strip $(TARGET_KERNEL_CROSS_COMPILE_PREFIX_ARM32))
92+
ifneq ($(TARGET_KERNEL_CROSS_COMPILE_PREFIX_ARM32),)
93+
KERNEL_TOOLCHAIN_PREFIX_ARM32 ?= $(TARGET_KERNEL_CROSS_COMPILE_PREFIX_ARM32)
94+
else
95+
KERNEL_TOOLCHAIN_ARM32 ?= $(KERNEL_TOOLCHAIN_arm)
96+
KERNEL_TOOLCHAIN_PREFIX_ARM32 ?= $(KERNEL_TOOLCHAIN_PREFIX_arm)
97+
endif
98+
8999
ifeq ($(KERNEL_TOOLCHAIN),)
90100
KERNEL_TOOLCHAIN_PATH := $(KERNEL_TOOLCHAIN_PREFIX)
91101
else
92102
KERNEL_TOOLCHAIN_PATH := $(KERNEL_TOOLCHAIN)/$(KERNEL_TOOLCHAIN_PREFIX)
93103
endif
94104

105+
ifeq ($(KERNEL_TOOLCHAIN_ARM32),)
106+
KERNEL_TOOLCHAIN_PATH_ARM32 := $(KERNEL_TOOLCHAIN_PREFIX_ARM32)
107+
else
108+
KERNEL_TOOLCHAIN_PATH_ARM32 := $(KERNEL_TOOLCHAIN_ARM32)/$(KERNEL_TOOLCHAIN_PREFIX_ARM32)
109+
endif
110+
95111
# We need to add GCC toolchain to the path no matter what
96112
# for tools like `as`
97113
KERNEL_TOOLCHAIN_PATH_gcc := $(KERNEL_TOOLCHAIN_$(KERNEL_ARCH))/$(KERNEL_TOOLCHAIN_PREFIX_$(KERNEL_ARCH))
@@ -111,8 +127,8 @@ endif
111127

112128
# Needed for CONFIG_COMPAT_VDSO, safe to set for all arm64 builds
113129
ifeq ($(KERNEL_ARCH),arm64)
114-
KERNEL_CROSS_COMPILE += CROSS_COMPILE_ARM32="$(KERNEL_TOOLCHAIN_arm)/$(KERNEL_TOOLCHAIN_PREFIX_arm)"
115-
KERNEL_CROSS_COMPILE += CROSS_COMPILE_COMPAT="$(KERNEL_TOOLCHAIN_arm)/$(KERNEL_TOOLCHAIN_PREFIX_arm)"
130+
KERNEL_CROSS_COMPILE += CROSS_COMPILE_ARM32="$(KERNEL_TOOLCHAIN_PATH_ARM32)"
131+
KERNEL_CROSS_COMPILE += CROSS_COMPILE_COMPAT="$(KERNEL_TOOLCHAIN_PATH_ARM32)"
116132
endif
117133

118134
# Clear this first to prevent accidental poisoning from env

0 commit comments

Comments
 (0)