From: Petr Pavlu Date: Fri, 27 Mar 2026 07:59:03 +0000 (+0100) Subject: module, riscv: force sh_addr=0 for arch-specific sections X-Git-Url: http://git.ipfire.org/gitweb/index.cgi?a=commitdiff_plain;h=04e17ca3f77e1722a5db068fbcd7b93c51656013;p=thirdparty%2Flinux.git module, riscv: force sh_addr=0 for arch-specific sections When linking modules with 'ld.bfd -r', sections defined without an address inherit the location counter, resulting in non-zero sh_addr values in the resulting .ko files. Relocatable objects are expected to have sh_addr=0 for all sections. Non-zero addresses are confusing in this context, typically worse compressible, and may cause tools to misbehave [1]. Force sh_addr=0 for all riscv-specific module sections. Link: https://sourceware.org/bugzilla/show_bug.cgi?id=33958 [1] Signed-off-by: Petr Pavlu Signed-off-by: Sami Tolvanen --- diff --git a/arch/riscv/include/asm/module.lds.h b/arch/riscv/include/asm/module.lds.h index 1075beae1ac64..9ced27c8ccb62 100644 --- a/arch/riscv/include/asm/module.lds.h +++ b/arch/riscv/include/asm/module.lds.h @@ -2,8 +2,8 @@ /* Copyright (C) 2017 Andes Technology Corporation */ #ifdef CONFIG_MODULE_SECTIONS SECTIONS { - .plt : { BYTE(0) } - .got : { BYTE(0) } - .got.plt : { BYTE(0) } + .plt 0 : { BYTE(0) } + .got 0 : { BYTE(0) } + .got.plt 0 : { BYTE(0) } } #endif