diff options
author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2013-01-26 16:26:13 +0000 |
---|---|---|
committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2013-01-26 16:26:13 +0000 |
commit | edf06589cc0ad9474b6c17aa84af90a932eaca13 (patch) | |
tree | 24d7f96936770d3e3ee904982008bfcf174acc7e /include | |
parent | 0a3970a70de5376f9a7ddef0c0b68acf9eb8caab (diff) |
kernel: use -ffunction-sections, -fdata-sections and --gc-sections on mips
in combination with kernel symbol export stripping this significantly reduces
the kernel image size
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35320 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'include')
-rw-r--r-- | include/kernel-build.mk | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/include/kernel-build.mk b/include/kernel-build.mk index 0b7b54fdd..095940c57 100644 --- a/include/kernel-build.mk +++ b/include/kernel-build.mk @@ -81,15 +81,11 @@ define BuildKernel ( \ echo '#define SYMTAB_KEEP \'; \ cat $(KERNEL_BUILD_DIR)/sym_include.txt | \ - awk '{print "*(___ksymtab+" $$$$1 ") \\" }'; \ + awk '{print "KEEP(*(___ksymtab+" $$$$1 ")) \\" }'; \ echo; \ echo '#define SYMTAB_KEEP_GPL \'; \ cat $(KERNEL_BUILD_DIR)/sym_include.txt | \ - awk '{print "*(___ksymtab_gpl+" $$$$1 ") \\" }'; \ - echo; \ - echo '#define SYMTAB_KEEP_STR \'; \ - cat $(KERNEL_BUILD_DIR)/sym_include.txt | \ - awk '{print "*(__ksymtab_strings." $$$$1 ") \\" }'; \ + awk '{print "KEEP(*(___ksymtab_gpl+" $$$$1 ")) \\" }'; \ echo; \ echo '#define SYMTAB_DISCARD \'; \ cat $(KERNEL_BUILD_DIR)/sym_exclude.txt | \ @@ -99,10 +95,6 @@ define BuildKernel cat $(KERNEL_BUILD_DIR)/sym_exclude.txt | \ awk '{print "*(___ksymtab_gpl+" $$$$1 ") \\" }'; \ echo; \ - echo '#define SYMTAB_DISCARD_STR \'; \ - cat $(KERNEL_BUILD_DIR)/sym_exclude.txt | \ - awk '{print "*(__ksymtab_strings." $$$$1 ") \\" }'; \ - echo; \ ) > $$@ $(STAMP_CONFIGURED): $(STAMP_PREPARED) $(LINUX_KCONFIG_LIST) $(TOPDIR)/.config |