MIPS: vmlinux.lds.S: explicitly declare .got table
authorAlexander Lobakin <alobakin@pm.me>
Sun, 10 Jan 2021 11:56:41 +0000 (11:56 +0000)
committerThomas Bogendoerfer <tsbogend@alpha.franken.de>
Fri, 15 Jan 2021 14:27:54 +0000 (15:27 +0100)
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 way it's done for x86.
Also use the ARM64 path here and place it at the end of .text section.

Reported-by: Nathan Chancellor <natechancellor@gmail.com>
Signed-off-by: Alexander Lobakin <alobakin@pm.me>
Reviewed-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Nathan Chancellor <natechancellor@gmail.com>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
arch/mips/kernel/vmlinux.lds.S

index 70bba1f..c1c345b 100644 (file)
@@ -68,6 +68,8 @@ SECTIONS
                SOFTIRQENTRY_TEXT
                *(.fixup)
                *(.gnu.warning)
+               . = ALIGN(16);
+               *(.got) /* Global offset table */
        } :text = 0
        _etext = .;     /* End of text section */