UPSTREAM: arm64: Change .weak to SYM_FUNC_START_WEAK_PI for arch/arm64/lib/mem*.S
commit ec9d7807 upstream. Commit 39d114dd ("arm64: add KASAN support") added .weak directives to arch/arm64/lib/mem*.S instead of changing the existing SYM_FUNC_START_PI macros. This can lead to the assembly snippet `.weak memcpy ... .globl memcpy` which will produce a STB_WEAK memcpy with GNU as but STB_GLOBAL memcpy with LLVM's integrated assembler before LLVM 12. LLVM 12 (since https://reviews.llvm.org/D90108 ) will error on such an overridden symbol binding. Use the appropriate SYM_FUNC_START_WEAK_PI instead. Fixes: 39d114dd ("arm64: add KASAN support") Reported-by:Sami Tolvanen <samitolvanen@google.com> Signed-off-by:
Fangrui Song <maskray@google.com> Tested-by:
Sami Tolvanen <samitolvanen@google.com> Tested-by:
Nick Desaulniers <ndesaulniers@google.com> Reviewed-by:
Nick Desaulniers <ndesaulniers@google.com> Cc: <stable@vger.kernel.org> Link: https://lore.kernel.org/r/20201029181951.1866093-1-maskray@google.com Signed-off-by:
Will Deacon <will@kernel.org> Cc: Jian Cai <jiancai@google.com> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org> Bug: 173474958 Signed-off-by:
Nick Desaulniers <ndesaulniers@google.com> (cherry picked from commit ca16a42f) Change-Id: I1388af64f28b7d31f64401aad252047e9c032cee
Loading
Please sign in to comment