25 lines
675 B
Diff
25 lines
675 B
Diff
--- a/Makefile
|
|
+++ b/Makefile
|
|
@@ -539,9 +539,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
|
|
@@ -596,6 +596,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,)
|
|
|