Re: LLVM Linker
On Sat, Oct 16, 2021 at 10:16 AM Elimar Riesebieter <riesebie@lxtec.de> wrote:
>
> does somebody knows why lld isn't available for powerpc?
I don't have an answer to this. Maybe the LLVM folks have not provided
it? Maybe it is available, but not on-path?
(LLVM has some sharp edges on PowerPC. I ran into a fair amount of
trouble in the past, when I was building LLVM/Compiler-Rt/libc++ for
PPC).
> compile a kernel with
> 'make LLVM=1 HOSTCC=/usr/bin/clang-13 HOSTCXX=/usr/bin/clang++-13 CC=/usr/bin/clang-13'
> where LLVM=1 points to the llvm linker. Without LLVM-1 it seems to use the binutils.
I believe it depends on the builtin makefile rules and what the author
of the makefile is doing.
You can check the builtin makefile rules with '-p' option:
$ make -p | grep -E 'LD|LINK'
...
LINK.m = $(OBJC) $(OBJCFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_ARCH)
LINK.o = $(CC) $(LDFLAGS) $(TARGET_ARCH)
LINK.p = $(PC) $(PFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_ARCH)
LINK.cc = $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_ARCH)
LD = ld
LINK.r = $(FC) $(FFLAGS) $(RFLAGS) $(LDFLAGS) $(TARGET_ARCH)
LINK.C = $(LINK.cc)
LINK.S = $(CC) $(ASFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_MACH)
LINK.c = $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_ARCH)
LINK.s = $(CC) $(ASFLAGS) $(LDFLAGS) $(TARGET_MACH)
LINK.cpp = $(LINK.cc)
...
If you want to use a different linker, then set the variable LD to that linker.
Jeff
Reply to:
- References:
- LLVM Linker
- From: Elimar Riesebieter <riesebie@lxtec.de>