Looks like 2 crashes in lld trying to link an arm64 kernel image:
$ ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- make CC=clang LD=ld.lld
...
LD [M] arch/arm64/crypto/aes-neon-blk.ko
0. Program arguments: ld.lld -r -EL -maarch64elf -T ./scripts/module-common.lds -T ./arch/arm64/kernel/module.lds --build-id -o arch/arm64/crypto/aes-neon-blk.ko arch/arm64/crypto/aes-neon-blk.o arch/arm64/crypto/aes-neon-blk.mod.o
LLVMSymbolizer: error reading file: No such file or directory
#0 0x000055df5568ac8a (ld.lld+0x22ac8a)
#1 0x000055df556891e4 (ld.lld+0x2291e4)
#2 0x000055df55689322 (ld.lld+0x229322)
#3 0x00007fcdab81d890 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x12890)
#4 0x000055df557a92c0 (ld.lld+0x3492c0)
#5 0x000055df557a970a (ld.lld+0x34970a)
#6 0x000055df55859232 (ld.lld+0x3f9232)
#7 0x000055df5574e377 (ld.lld+0x2ee377)
#8 0x000055df5560fb66 (ld.lld+0x1afb66)
#9 0x000055df5574fb6c (ld.lld+0x2efb6c)
#10 0x000055df5560ccc5 (ld.lld+0x1accc5)
#11 0x00007fcdaa6b5b97 __libc_start_main /build/glibc-OTsEL5/glibc-2.27/csu/../csu/libc-start.c:344:0
#12 0x000055df5567404a (ld.lld+0x21404a)
Segmentation fault
scripts/Makefile.modpost:129: recipe for target 'arch/arm64/crypto/aes-neon-blk.ko' failed
make[1]: *** [arch/arm64/crypto/aes-neon-blk.ko] Error 139
Makefile:1269: recipe for target 'modules' failed
make: *** [modules] Error 2
...
LLVMSymbolizer: error reading file: No such file or directory
Stack dump:
0. Program arguments: ld.lld -r -EL -maarch64elf -T ./scripts/module-common.lds -T ./arch/arm64/kernel/module.lds --build-id -o arch/arm64/crypto/sha512-arm64.ko arch/arm64/crypto/sha512-arm64.o arch/arm64/crypto/sha512-arm64.mod.o
...
file scripts/module-common.lds arch/arm64/kernel/module.lds arch/arm64/crypto/aes-neon-blk.o arch/arm64/crypto/aes-neon-blk.mod.o
scripts/module-common.lds: ASCII text
arch/arm64/kernel/module.lds: assembler source, ASCII text
arch/arm64/crypto/aes-neon-blk.o: ELF 64-bit LSB relocatable, ARM aarch64, version 1 (SYSV), with debug_info, not stripped
arch/arm64/crypto/aes-neon-blk.mod.o: ELF 64-bit LSB relocatable, ARM aarch64, version 1 (SYSV), with debug_info, not stripped
Note that lld did successfully link an arm64 kernel image for me. The crash was in a kernel module (dynamically loaded at runtime), but I'm impressed! We're super close!
With this fixed, I can successfully link a working arm64 defconfig kernel image!
ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- make CC=clang-8 LD=ld.lld-8 -j4
Most helpful comment
With this fixed, I can successfully link a working arm64 defconfig kernel image!