Messages in this thread | | | From | Masahiro Yamada <> | Date | Fri, 5 Apr 2019 19:16:50 +0900 | Subject | Re: [PATCH v3] Makefile: lld: tell clang to use lld |
| |
On Tue, Apr 2, 2019 at 4:09 PM Nick Desaulniers <ndesaulniers@google.com> wrote: > > This is needed because clang doesn't select which linker to use based on > $LD but rather -fuse-ld={bfd,gold,lld,<absolute path to linker>}. This > is problematic especially for cc-ldoption, which checks for linker flag > support via invoking the compiler, rather than the linker. > > Select the linker via absolute path from $PATH via `which`. This allows > you to build with: > > $ make LD=ld.lld > $ make LD=ld.lld-8 > $ make LD=/path/to/ld.lld > > Add -Qunused-arguments to KBUILD_CPPFLAGS when using LLD, as otherwise > Clang likes to complain about -fuse-lld= being unused when compiling but > not linking (-c) such as when cc-option is used. > > Link: https://github.com/ClangBuiltLinux/linux/issues/342 > Link: https://github.com/ClangBuiltLinux/linux/issues/366 > Link: https://github.com/ClangBuiltLinux/linux/issues/357 > Suggested-by: Nathan Chancellor <natechancellor@gmail.com> > Suggested-by: Masahiro Yamada <yamada.masahiro@socionext.com> > Signed-off-by: Nick Desaulniers <ndesaulniers@google.com> > --- > Changes V2->V3: > * Use absolute path based on `which $LD` as per Masahiro.
This is not what I suggested. I wanted to say: "You cannot do this for GCC, so do not do it at all".
I want to propose alternative solution. Please check the attached patches.
To apply 0002, you need the following as a prerequisite:
https://lore.kernel.org/patchwork/patch/1057685/
-- Best Regards Masahiro Yamada [unhandled content-type:application/x-patch][unhandled content-type:application/x-patch] | |