LLVM stack generates GOT table when building the kernel: ld.lld: warning: <internal>:(.got) is being placed in '.got' According to the debug assertions, it's not zero-sized and thus can't be handled the same way as .rel.dyn (like it's done for x86). Use the ARM/ARM64 path here and place it at the end of .text section. Reported-by: Nathan Chancellor <natechancellor@xxxxxxxxx> Signed-off-by: Alexander Lobakin <alobakin@xxxxx> --- arch/mips/kernel/vmlinux.lds.S | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/mips/kernel/vmlinux.lds.S b/arch/mips/kernel/vmlinux.lds.S index 0f736d60d43e..4709959f6985 100644 --- a/arch/mips/kernel/vmlinux.lds.S +++ b/arch/mips/kernel/vmlinux.lds.S @@ -69,6 +69,7 @@ SECTIONS *(.text.*) *(.fixup) *(.gnu.warning) + *(.got) } :text = 0 _etext = .; /* End of text section */ -- 2.30.0