aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorAndi Kleen <andi@firstfloor.org>2010-07-14 09:43:52 -0400
committerMichal Marek <mmarek@suse.cz>2010-07-14 11:21:28 -0400
commitd6f4ceb796ebf1a8c8a9ad4a8ea0d181aaec7de6 (patch)
tree8fa46f7bab29be7ffd7108de3a2c0e5d0616ff07 /lib
parent01ab17887f4cdcb8bb5a5d1bc3b160d186e6e99b (diff)
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 'lib')
-rw-r--r--lib/Kconfig.debug13
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 25c3ed594c54..2af5d84ec824 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -595,6 +595,19 @@ config DEBUG_INFO
595 595
596 If unsure, say N. 596 If unsure, say N.
597 597
598config DEBUG_INFO_REDUCED
599 bool "Reduce debugging information"
600 depends on DEBUG_INFO
601 help
602 If you say Y here gcc is instructed to generate less debugging
603 information for structure types. This means that tools that
604 need full debugging information (like kgdb or systemtap) won't
605 be happy. But if you merely need debugging information to
606 resolve line numbers there is no loss. Advantage is that
607 build directory object sizes shrink dramatically over a full
608 DEBUG_INFO build and compile times are reduced too.
609 Only works with newer gcc versions.
610
598config DEBUG_VM 611config DEBUG_VM
599 bool "Debug VM" 612 bool "Debug VM"
600 depends on DEBUG_KERNEL 613 depends on DEBUG_KERNEL