mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	kbuild: avoid conflict between -ffunction-sections and -pg on gcc-4.7
Arnd Bergmann reported:
  "When ftrace is enabled and we build with gcc-4.7 or older, we
  get a warning for each file on architectures that select
  CONFIG_LD_DEAD_CODE_DATA_ELIMINATION:
  warning: -ffunction-sections disabled; it makes profiling impossible [enabled by default]
  "
Since commit c3f0d0bc5b ("kbuild, LLVMLinux: Add -Werror to
cc-option to support clang"), warnings are treated as errors in
cc-option checks.  CC_FLAGS_FTRACE is blindly added to KBUILD_CFLAGS,
so $(call cc-option,-ffunction-sections,) should be moved below it
in order to detect the conflict between the two options.
Reported-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
			
			
This commit is contained in:
		
							parent
							
								
									ebf003f0cf
								
							
						
					
					
						commit
						90ad4052e8
					
				
					 1 changed files with 5 additions and 5 deletions
				
			
		
							
								
								
									
										10
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								Makefile
									
									
									
									
									
								
							| 
						 | 
				
			
			@ -632,11 +632,6 @@ include arch/$(SRCARCH)/Makefile
 | 
			
		|||
KBUILD_CFLAGS	+= $(call cc-option,-fno-delete-null-pointer-checks,)
 | 
			
		||||
KBUILD_CFLAGS	+= $(call cc-disable-warning,frame-address,)
 | 
			
		||||
 | 
			
		||||
ifdef CONFIG_LD_DEAD_CODE_DATA_ELIMINATION
 | 
			
		||||
KBUILD_CFLAGS	+= $(call cc-option,-ffunction-sections,)
 | 
			
		||||
KBUILD_CFLAGS	+= $(call cc-option,-fdata-sections,)
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
 | 
			
		||||
KBUILD_CFLAGS	+= $(call cc-option,-Oz,-Os)
 | 
			
		||||
KBUILD_CFLAGS	+= $(call cc-disable-warning,maybe-uninitialized,)
 | 
			
		||||
| 
						 | 
				
			
			@ -768,6 +763,11 @@ ifdef CONFIG_DEBUG_SECTION_MISMATCH
 | 
			
		|||
KBUILD_CFLAGS += $(call cc-option, -fno-inline-functions-called-once)
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
ifdef CONFIG_LD_DEAD_CODE_DATA_ELIMINATION
 | 
			
		||||
KBUILD_CFLAGS	+= $(call cc-option,-ffunction-sections,)
 | 
			
		||||
KBUILD_CFLAGS	+= $(call cc-option,-fdata-sections,)
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
# arch Makefile may override CC so keep this after arch Makefile is included
 | 
			
		||||
NOSTDINC_FLAGS += -nostdinc -isystem $(shell $(CC) -print-file-name=include)
 | 
			
		||||
CHECKFLAGS     += $(NOSTDINC_FLAGS)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue