I've just tried builing agd5f's drm-next and didn't get any failures with clang-10 and ld.lld-10
I did however get the following warningsL
And this is the diff to the Makefile I used:
There were also these warnings:
the awk one is present on a GCC build one too
I did however get the following warningsL
Code:
CC drivers/gpu/drm/amd/amdgpu/atom.o drivers/gpu/drm/amd/amdgpu/atom.o: warning: objtool: atom_op_move() falls through to next function atom_op_and() CC drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_link_hwss.o drivers/gpu/drm/amd/amdgpu/../display/dc/dce110/dce110_opp_csc_v.o: warning: objtool: dce110_opp_v_set_csc_default()+0x2ba: can't find switch jump table CC drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_link_dp.o CC drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_link_ddc.o drivers/gpu/drm/amd/amdgpu/../display/dc/dce110/dce110_mem_input_v.o: warning: objtool: dce_mem_input_v_program_pte_vm()+0x254: can't find switch jump table CC drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_debug.o
Code:
diff --git a/Makefile b/Makefile index 23cdf1f41364..e0fa6fc10f40 100644 --- a/Makefile +++ b/Makefile @@ -400,8 +400,8 @@ HOST_LFS_CFLAGS := $(shell getconf LFS_CFLAGS 2>/dev/null) HOST_LFS_LDFLAGS := $(shell getconf LFS_LDFLAGS 2>/dev/null) HOST_LFS_LIBS := $(shell getconf LFS_LIBS 2>/dev/null) -HOSTCC = gcc -HOSTCXX = g++ +HOSTCC = clang +HOSTCXX = clang++ KBUILD_HOSTCFLAGS := -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 \ -fomit-frame-pointer -std=gnu89 $(HOST_LFS_CFLAGS) \ $(HOSTCFLAGS) @@ -410,15 +410,15 @@ KBUILD_HOSTLDFLAGS := $(HOST_LFS_LDFLAGS) $(HOSTLDFLAGS) KBUILD_HOSTLDLIBS := $(HOST_LFS_LIBS) $(HOSTLDLIBS) # Make variables (CC, etc...) -AS = $(CROSS_COMPILE)as -LD = $(CROSS_COMPILE)ld -CC = $(CROSS_COMPILE)gcc +AS = $(CROSS_COMPILE)llvm-as +LD = $(CROSS_COMPILE)ld.lld +CC = $(CROSS_COMPILE)clang CPP = $(CC) -E -AR = $(CROSS_COMPILE)ar -NM = $(CROSS_COMPILE)nm -STRIP = $(CROSS_COMPILE)strip -OBJCOPY = $(CROSS_COMPILE)objcopy -OBJDUMP = $(CROSS_COMPILE)objdump +AR = $(CROSS_COMPILE)llvm-ar +NM = $(CROSS_COMPILE)llvm-nm +STRIP = $(CROSS_COMPILE)llvm-strip +OBJCOPY = $(CROSS_COMPILE)llvm-objcopy +OBJDUMP = $(CROSS_COMPILE)llvm-objdump PAHOLE = pahole LEX = flex YACC = bison
Code:
LD arch/x86/realmode/rm/realmode.elf ld.lld: warning: cannot find entry symbol _start; defaulting to 0x1000 mm/hugetlb.c:3967:40: warning: expression does not compute the number of elements in this array; element type is 'unsigned long', not 'u32' (aka 'unsigned int') [-Wsizeof-array-div] hash = jhash2((u32 *)&key, sizeof(key)/sizeof(u32), 0); ~~~ ^ mm/hugetlb.c:3961:16: note: array 'key' declared here unsigned long key[2]; ^ awk: ./arch/x86/tools/gen-insn-attr-x86.awk:260: warning: regexp escape sequence `\:' is not a known regexp operator awk: ./arch/x86/tools/gen-insn-attr-x86.awk:350: (FILENAME=./arch/x86/lib/x86-opcode-map.txt FNR=41) warning: regexp escape sequence `\&' is not a known regexp operator
Comment