summaryrefslogtreecommitdiffstats
path: root/include/kernel-build.mk
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2013-01-26 16:26:13 +0000
committerFelix Fietkau <nbd@openwrt.org>2013-01-26 16:26:13 +0000
commit8933b918cd6bce2db5a6a5a51513b62672f13069 (patch)
tree6bd79c5e27a84096f2b209d0e108c9a89f88581d /include/kernel-build.mk
parent7809d73fd2b78c65aad0a1e18b06c3a4c0c15a8d (diff)
downloadmaster-31e0f0ae-8933b918cd6bce2db5a6a5a51513b62672f13069.tar.gz
master-31e0f0ae-8933b918cd6bce2db5a6a5a51513b62672f13069.tar.bz2
master-31e0f0ae-8933b918cd6bce2db5a6a5a51513b62672f13069.zip
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 SVN-Revision: 35320
Diffstat (limited to 'include/kernel-build.mk')
-rw-r--r--include/kernel-build.mk12
1 files changed, 2 insertions, 10 deletions
diff --git a/include/kernel-build.mk b/include/kernel-build.mk
index 0b7b54fdd8..095940c570 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