25 lines
		
	
	
		
			675 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			675 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
--- a/Makefile
 | 
						|
+++ b/Makefile
 | 
						|
@@ -570,9 +570,9 @@ endif # $(dot-config)
 | 
						|
 all: vmlinux
 | 
						|
 
 | 
						|
 ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
 | 
						|
-KBUILD_CFLAGS	+= -Os
 | 
						|
+KBUILD_CFLAGS	+= -Os -fno-caller-saves
 | 
						|
 else
 | 
						|
-KBUILD_CFLAGS	+= -O2
 | 
						|
+KBUILD_CFLAGS	+= -O2 -fno-reorder-blocks -fno-tree-ch -fno-caller-saves
 | 
						|
 endif
 | 
						|
 
 | 
						|
 include $(srctree)/arch/$(SRCARCH)/Makefile
 | 
						|
@@ -646,6 +646,9 @@ endif
 | 
						|
 NOSTDINC_FLAGS += -nostdinc -isystem $(shell $(CC) -print-file-name=include)
 | 
						|
 CHECKFLAGS     += $(NOSTDINC_FLAGS)
 | 
						|
 
 | 
						|
+# improve gcc optimization
 | 
						|
+CFLAGS += $(call cc-option,-funit-at-a-time,)
 | 
						|
+
 | 
						|
 # warn about C99 declaration after statement
 | 
						|
 KBUILD_CFLAGS += $(call cc-option,-Wdeclaration-after-statement,)
 | 
						|
 
 |