summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorQingfang Deng <qingfang.deng@siflower.com.cn>2024-05-11 04:57:25 +0300
committerPalmer Dabbelt <palmer@rivosinc.com>2024-05-23 02:12:46 +0300
commit2aff5f955bbae311ca4b66e1dbd934e8f346d1f1 (patch)
treebb28325c5200f313589749f0a8ab7e6cb5b4643d /arch
parent07501c4907851fa2f2038ea602bc1fcfaebd3407 (diff)
downloadlinux-2aff5f955bbae311ca4b66e1dbd934e8f346d1f1.tar.xz
riscv: do not select MODULE_SECTIONS by default
Since commit aad15bc85c18 ("riscv: Change code model of module to medany to improve data accessing"), kernel modules have not been built with -fPIC, so they wouldn't have R_RISCV_GOT_HI20 or R_RISCV_CALL_PLT relocations, and handling of those relocations is unnecessary. If RELOCATABLE=y, kernel modules will be built with -fPIE, which would reintroduce said relocations, so only select MODULE_SECTIONS when RELOCATABLE. Signed-off-by: Qingfang Deng <qingfang.deng@siflower.com.cn> Reviewed-by: Charlie Jenkins <charlie@rivosinc.com> Link: https://lore.kernel.org/r/20240511015725.1162-1-dqfext@gmail.com Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/riscv/Kconfig2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
index dc846689230a..b219570d4ad7 100644
--- a/arch/riscv/Kconfig
+++ b/arch/riscv/Kconfig
@@ -176,7 +176,6 @@ config RISCV
select LOCK_MM_AND_FIND_VMA
select MMU_GATHER_RCU_TABLE_FREE if SMP && MMU
select MODULES_USE_ELF_RELA if MODULES
- select MODULE_SECTIONS if MODULES
select OF
select OF_EARLY_FLATTREE
select OF_IRQ
@@ -867,6 +866,7 @@ config PARAVIRT_TIME_ACCOUNTING
config RELOCATABLE
bool "Build a relocatable kernel"
depends on MMU && 64BIT && !XIP_KERNEL
+ select MODULE_SECTIONS if MODULES
help
This builds a kernel as a Position Independent Executable (PIE),
which retains all relocation metadata required to relocate the