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,\ | as-instr = $(call try-run,\ | ||||||
| 	printf "%b\n" "$(1)" | $(CC) $(KBUILD_AFLAGS) -c -x assembler -o "$$TMP" -,$(2),$(3)) | 	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 | # cc-option | ||||||
| # Usage: cflags-y += $(call cc-option,-march=winchip-c6,-march=i586) | # Usage: cflags-y += $(call cc-option,-march=winchip-c6,-march=i586) | ||||||
| 
 | 
 | ||||||
| cc-option = $(call try-run,\ | 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 | # cc-option-yn | ||||||
| # Usage: flag := $(call cc-option-yn,-march=winchip-c6) | # Usage: flag := $(call cc-option-yn,-march=winchip-c6) | ||||||
| cc-option-yn = $(call try-run,\ | 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 | # cc-option-align | ||||||
| # Prefix align with either -falign or -malign | # Prefix align with either -falign or -malign | ||||||
|  | @ -127,7 +131,7 @@ cc-option-align = $(subst -functions=0,,\ | ||||||
| # cc-disable-warning | # cc-disable-warning | ||||||
| # Usage: cflags-y += $(call cc-disable-warning,unused-but-set-variable) | # Usage: cflags-y += $(call cc-disable-warning,unused-but-set-variable) | ||||||
| cc-disable-warning = $(call try-run,\ | 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 | # cc-name | ||||||
| # Expands to either gcc or clang | # Expands to either gcc or clang | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue
	
	 Emese Revfy
						Emese Revfy