Messages in this thread Patch in this message | | | Date | Thu, 4 Apr 2019 14:40:27 -0700 | From | Kees Cook <> | Subject | [PATCH] x86/build: Keep local relocations with ld.lld |
| |
The LLVM linker (ld.lld) defaults to removing local relocations, which causes KASLR boot failures. ld.bfd and ld.gold already handle this correctly. This adds the explicit instruction "--discard-none" during the link phase. There is no change in output for ld.bfd and ld.gold, but ld.lld now produces an image with all the needed relocations.
Link: https://github.com/ClangBuiltLinux/linux/issues/404 Signed-off-by: Kees Cook <keescook@chromium.org> --- arch/x86/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/x86/Makefile b/arch/x86/Makefile index a587805c6687..56e748a7679f 100644 --- a/arch/x86/Makefile +++ b/arch/x86/Makefile @@ -47,7 +47,7 @@ export REALMODE_CFLAGS export BITS ifdef CONFIG_X86_NEED_RELOCS - LDFLAGS_vmlinux := --emit-relocs + LDFLAGS_vmlinux := --emit-relocs --discard-none endif # -- 2.17.1
-- Kees Cook
| |