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
|
||
|
@@ -645,6 +645,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,)
|
||
|
|