forked from mirrors/linux
		
	kbuild: Add better clang cross build support
Add cross target to CC if using clang. Also add custom gcc toolchain path for fallback gcc tools. Clang will fallback to using things like ld, as, and libgcc if (respectively) one of the llvm linkers isn't available, the integrated assembler is turned off, or an appropriately cross-compiled version of compiler-rt isn't available. To this end, you can specify the path to this fallback gcc toolchain with GCC_TOOLCHAIN. Signed-off-by: Behan Webster <behanw@converseincode.com> Reviewed-by: Jan-Simon Möller <dl9pf@gmx.de> Reviewed-by: Mark Charlebois <charlebm@gmail.com> Signed-off-by: Greg Hackmann <ghackmann@google.com> Signed-off-by: Matthias Kaehlcke <mka@chromium.org> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
This commit is contained in:
		
							parent
							
								
									a0ae981eba
								
							
						
					
					
						commit
						785f11aa59
					
				
					 1 changed files with 9 additions and 0 deletions
				
			
		
							
								
								
									
										9
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										9
									
								
								Makefile
									
									
									
									
									
								
							|  | @ -688,6 +688,15 @@ endif | |||
| KBUILD_CFLAGS += $(stackp-flag) | ||||
| 
 | ||||
| ifeq ($(cc-name),clang) | ||||
| ifneq ($(CROSS_COMPILE),) | ||||
| CLANG_TARGET	:= -target $(notdir $(CROSS_COMPILE:%-=%)) | ||||
| GCC_TOOLCHAIN	:= $(realpath $(dir $(shell which $(LD)))/..) | ||||
| endif | ||||
| ifneq ($(GCC_TOOLCHAIN),) | ||||
| CLANG_GCC_TC	:= -gcc-toolchain $(GCC_TOOLCHAIN) | ||||
| endif | ||||
| KBUILD_CFLAGS += $(CLANG_TARGET) $(CLANG_GCC_TC) | ||||
| KBUILD_AFLAGS += $(CLANG_TARGET) $(CLANG_GCC_TC) | ||||
| KBUILD_CPPFLAGS += $(call cc-option,-Qunused-arguments,) | ||||
| KBUILD_CFLAGS += $(call cc-disable-warning, unused-variable) | ||||
| KBUILD_CFLAGS += $(call cc-disable-warning, format-invalid-specifier) | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 Behan Webster
						Behan Webster