lkml.org 
[lkml]   [2009]   [Feb]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH 1/3] Make it possible for the linker to discard local symbols from vmlinux
Date
Make it possible for the linker to discard local symbols from vmlinux as they
cause vmlinux to balloon when CONFIG_KALLSYMS=y and they cause dump_stack() and
get_wchan() to produce useless information under some circumstances.

With this we add a config option (CONFIG_STRIP_ASM_SYMS) that will cause the
build to supply -X to the linker to tell it to strip temporary local symbols.

This doesn't seem to cause gdb any problems.

Signed-off-by: David Howells <dhowells@redhat.com>
---

Makefile | 4 ++++
init/Kconfig | 8 ++++++++
2 files changed, 12 insertions(+), 0 deletions(-)


diff --git a/Makefile b/Makefile
index 22d7584..359470f 100644
--- a/Makefile
+++ b/Makefile
@@ -589,6 +589,10 @@ LDFLAGS_BUILD_ID = $(patsubst -Wl$(comma)%,%,\
LDFLAGS_MODULE += $(LDFLAGS_BUILD_ID)
LDFLAGS_vmlinux += $(LDFLAGS_BUILD_ID)

+ifeq ($(CONFIG_STRIP_ASM_SYMS),y)
+LDFLAGS_vmlinux += -X
+endif
+
# Default kernel image to build when no specific target is given.
# KBUILD_IMAGE may be overruled on the command line or
# set in the environment
diff --git a/init/Kconfig b/init/Kconfig
index f068071..50c267a 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -737,6 +737,14 @@ config KALLSYMS_EXTRA_PASS
you wait for kallsyms to be fixed.


+config STRIP_ASM_SYMS
+ bool "Strip assembler-generated symbols during link"
+ default n
+ help
+ Strip internal assembler-generated symbols during a link (symbols
+ that look like '.Lxxx') so they don't pollute the output of
+ get_wchan() and suchlike.
+
config HOTPLUG
bool "Support for hot-pluggable devices" if EMBEDDED
default y


\
 
 \ /
  Last update: 2009-02-18 12:23    [W:0.047 / U:0.164 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site