lkml.org 
[lkml]   [2019]   [May]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.1 235/405] x86/build: Keep local relocations with ld.lld
    Date
    [ Upstream commit 7c21383f3429dd70da39c0c7f1efa12377a47ab6 ]

    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.

    Signed-off-by: Kees Cook <keescook@chromium.org>
    Signed-off-by: Borislav Petkov <bp@suse.de>
    Cc: "H. Peter Anvin" <hpa@zytor.com>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Nick Desaulniers <ndesaulniers@google.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: clang-built-linux@googlegroups.com
    Cc: x86-ml <x86@kernel.org>
    Link: https://lkml.kernel.org/r/20190404214027.GA7324@beast
    Link: https://github.com/ClangBuiltLinux/linux/issues/404
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    arch/x86/Makefile | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/arch/x86/Makefile b/arch/x86/Makefile
    index a587805c6687f..56e748a7679f4 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.20.1


    \
     
     \ /
      Last update: 2019-05-30 06:46    [W:4.077 / U:0.064 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site