forked from mirrors/linux
		
	kbuild: no gcc-plugins during cc-option tests
The gcc-plugins arguments should not be included when performing cc-option tests. Steps to reproduce: 1) make mrproper 2) make defconfig 3) enable GCC_PLUGINS, GCC_PLUGIN_CYC_COMPLEXITY 4) enable FUNCTION_TRACER (it will select other options as well) 5) make && make modules Build errors: MODPOST 18 modules ERROR: "__fentry__" [net/netfilter/xt_nat.ko] undefined! ERROR: "__fentry__" [net/netfilter/xt_mark.ko] undefined! ERROR: "__fentry__" [net/netfilter/xt_addrtype.ko] undefined! ERROR: "__fentry__" [net/netfilter/xt_LOG.ko] undefined! ERROR: "__fentry__" [net/netfilter/nf_nat_sip.ko] undefined! ERROR: "__fentry__" [net/netfilter/nf_nat_irc.ko] undefined! ERROR: "__fentry__" [net/netfilter/nf_nat_ftp.ko] undefined! ERROR: "__fentry__" [net/netfilter/nf_nat.ko] undefined! Reported-by: Laura Abbott <labbott@redhat.com> Signed-off-by: Emese Revfy <re.emese@gmail.com> [kees: renamed variable, clarified commit message] Signed-off-by: Kees Cook <keescook@chromium.org>
This commit is contained in:
		
							parent
							
								
									574673c231
								
							
						
					
					
						commit
						d26e941492
					
				
					 1 changed files with 7 additions and 3 deletions
				
			
		|  | @ -108,16 +108,20 @@ as-option = $(call try-run,\ | |||
| as-instr = $(call try-run,\ | ||||
| 	printf "%b\n" "$(1)" | $(CC) $(KBUILD_AFLAGS) -c -x assembler -o "$$TMP" -,$(2),$(3)) | ||||
| 
 | ||||
| # Do not attempt to build with gcc plugins during cc-option tests. | ||||
| # (And this uses delayed resolution so the flags will be up to date.) | ||||
| CC_OPTION_CFLAGS = $(filter-out $(GCC_PLUGINS_CFLAGS),$(KBUILD_CFLAGS)) | ||||
| 
 | ||||
| # cc-option | ||||
| # Usage: cflags-y += $(call cc-option,-march=winchip-c6,-march=i586) | ||||
| 
 | ||||
| cc-option = $(call try-run,\ | ||||
| 	$(CC) $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS) $(1) -c -x c /dev/null -o "$$TMP",$(1),$(2)) | ||||
| 	$(CC) $(KBUILD_CPPFLAGS) $(CC_OPTION_CFLAGS) $(1) -c -x c /dev/null -o "$$TMP",$(1),$(2)) | ||||
| 
 | ||||
| # cc-option-yn | ||||
| # Usage: flag := $(call cc-option-yn,-march=winchip-c6) | ||||
| cc-option-yn = $(call try-run,\ | ||||
| 	$(CC) $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS) $(1) -c -x c /dev/null -o "$$TMP",y,n) | ||||
| 	$(CC) $(KBUILD_CPPFLAGS) $(CC_OPTION_CFLAGS) $(1) -c -x c /dev/null -o "$$TMP",y,n) | ||||
| 
 | ||||
| # cc-option-align | ||||
| # Prefix align with either -falign or -malign | ||||
|  | @ -127,7 +131,7 @@ cc-option-align = $(subst -functions=0,,\ | |||
| # cc-disable-warning | ||||
| # Usage: cflags-y += $(call cc-disable-warning,unused-but-set-variable) | ||||
| cc-disable-warning = $(call try-run,\ | ||||
| 	$(CC) $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS) -W$(strip $(1)) -c -x c /dev/null -o "$$TMP",-Wno-$(strip $(1))) | ||||
| 	$(CC) $(KBUILD_CPPFLAGS) $(CC_OPTION_CFLAGS) -W$(strip $(1)) -c -x c /dev/null -o "$$TMP",-Wno-$(strip $(1))) | ||||
| 
 | ||||
| # cc-name | ||||
| # Expands to either gcc or clang | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 Emese Revfy
						Emese Revfy