commit e67e0eb6a98b261caf45048f9eb95fd7609289c0 upstream.
LoongArch's toolchain may change the default code model from normal to medium. This is unnecessary for kernel, and generates some relocations which cannot be handled by the module loader. So explicitly specify the code model to normal in Makefile (for Rust 'normal' is 'small').
Cc: stable@vger.kernel.org Tested-by: Haiyong Sun sunhaiyong@loongson.cn Signed-off-by: Huacai Chen chenhuacai@loongson.cn --- V2: Add upstream commit id.
arch/loongarch/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/loongarch/Makefile b/arch/loongarch/Makefile index a74bbcb05ee1..f2966745b058 100644 --- a/arch/loongarch/Makefile +++ b/arch/loongarch/Makefile @@ -55,7 +55,7 @@ endif
ifdef CONFIG_64BIT ld-emul = $(64bit-emul) -cflags-y += -mabi=lp64s +cflags-y += -mabi=lp64s -mcmodel=normal endif
cflags-y += -pipe -msoft-float
[ Sasha's backport helper bot ]
Hi,
✅ All tests passed successfully. No issues detected. No action required from the submitter.
The upstream commit SHA1 provided is correct: e67e0eb6a98b261caf45048f9eb95fd7609289c0
Status in newer kernel trees: 6.14.y | Present (exact SHA1) 6.12.y | Present (different SHA1: 7b3a7918f10d) 6.6.y | Not found
Note: The patch differs from the upstream commit: --- 1: e67e0eb6a98b2 ! 1: 5d0dbec0340e9 LoongArch: Explicitly specify code model in Makefile @@ Metadata ## Commit message ## LoongArch: Explicitly specify code model in Makefile
+ commit e67e0eb6a98b261caf45048f9eb95fd7609289c0 upstream. + LoongArch's toolchain may change the default code model from normal to medium. This is unnecessary for kernel, and generates some relocations which cannot be handled by the module loader. So explicitly specify the @@ arch/loongarch/Makefile: endif +cflags-y += -mabi=lp64s -mcmodel=normal endif
- cflags-y += -pipe $(CC_FLAGS_NO_FPU) -@@ arch/loongarch/Makefile: ifdef CONFIG_OBJTOOL - KBUILD_CFLAGS += -fno-jump-tables - endif - --KBUILD_RUSTFLAGS += --target=loongarch64-unknown-none-softfloat -+KBUILD_RUSTFLAGS += --target=loongarch64-unknown-none-softfloat -Ccode-model=small - KBUILD_RUSTFLAGS_KERNEL += -Zdirect-access-external-data=yes - KBUILD_RUSTFLAGS_MODULE += -Zdirect-access-external-data=no - + cflags-y += -pipe -msoft-float ---
Results of testing on various branches:
| Branch | Patch Apply | Build Test | |---------------------------|-------------|------------| | stable/linux-6.1.y | Success | Success | | stable/linux-6.6.y | Success | Success |
linux-stable-mirror@lists.linaro.org