From 54648c2a3badc101121cda01ed81cc422c0fe70f Mon Sep 17 00:00:00 2001 From: Ziyan Date: Thu, 12 Jan 2017 18:47:54 +0100 Subject: [PATCH] build: kernel: build arm kernel modules with -fno-pic With androidkernel (androideabi) toolchains, -fpic is enabled by default. At least on my 3.4 arm kernel, this causes an issue with kernel modules: "Unknown symbol _GLOBAL_OFFSET_TABLE_". On traditional armeabi toolchains, -fpic is not enabled, resulting in working kernel modules; let's follow that here. Change-Id: I3058b5213b34bdde9bb9d744563c7d55cd42d2a5 --- build/tasks/kernel.mk | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/build/tasks/kernel.mk b/build/tasks/kernel.mk index c4ddebf9..2e81f1b3 100644 --- a/build/tasks/kernel.mk +++ b/build/tasks/kernel.mk @@ -116,6 +116,11 @@ TARGET_PREBUILT_INT_KERNEL := $(KERNEL_OUT)/arch/$(KERNEL_ARCH)/boot/$(TARGET_PR # Clear this first to prevent accidental poisoning from env MAKE_FLAGS := +ifeq ($(KERNEL_ARCH),arm) + # Avoid "Unknown symbol _GLOBAL_OFFSET_TABLE_" errors + MAKE_FLAGS += CFLAGS_MODULE="-fno-pic" +endif + ifeq ($(KERNEL_ARCH),arm64) # Avoid "unsupported RELA relocation: 311" errors (R_AARCH64_ADR_GOT_PAGE) MAKE_FLAGS += CFLAGS_MODULE="-fno-pic"