mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-10-31 08:44:41 +00: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…
	
	Add table
		
		Reference in a new issue
	
	 Masahiro Yamada
						Masahiro Yamada