summaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
authorAndi Kleen2010-07-14 15:43:52 +0200
committerMichal Marek2010-07-14 17:21:28 +0200
commitd6f4ceb796ebf1a8c8a9ad4a8ea0d181aaec7de6 (patch)
tree8fa46f7bab29be7ffd7108de3a2c0e5d0616ff07 /Makefile
parentMakefile: "make kernelrelease" should show the correct full kernel version (diff)
downloadkernel-qcow2-linux-d6f4ceb796ebf1a8c8a9ad4a8ea0d181aaec7de6.tar.gz
kernel-qcow2-linux-d6f4ceb796ebf1a8c8a9ad4a8ea0d181aaec7de6.tar.xz
kernel-qcow2-linux-d6f4ceb796ebf1a8c8a9ad4a8ea0d181aaec7de6.zip
Kbuild: Add option to set -femit-struct-debug-baseonly
Newer gcc has a -femit-struct-debug-baseonly option that dramatically reduces the size of object files with debug info. What it does is to only emit type information for structures when the structures are defined in the same file or in a header file. This means the type information for most headers are not included. This is not good when the type information is actually needed (e.g. with kgdb or systemtap) But often kernel hackers only care about line numbers and don't need all the type information anyways. In this case setting the option can be a big win: A build dir for a specific x86-64 configuration with gcc 4.5 shrunk from 2.3G to 1.2G. The compilation was also nearly a minute faster. Signed-off-by: Andi Kleen <ak@linux.intel.com> [mmarek: reformatted help text] Signed-off-by: Michal Marek <mmarek@suse.cz>
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile4
1 files changed, 4 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index dceb4f19f786..e1dfb90c6092 100644
--- a/Makefile
+++ b/Makefile
@@ -557,6 +557,10 @@ KBUILD_CFLAGS += -g
KBUILD_AFLAGS += -gdwarf-2
endif
+ifdef CONFIG_DEBUG_INFO_REDUCED
+KBUILD_CFLAGS += $(call cc-option, -femit-struct-debug-baseonly)
+endif
+
ifdef CONFIG_FUNCTION_TRACER
KBUILD_CFLAGS += -pg
endif