From 236dd9d9a2c7563926ca0366e7dba3b60d89bcae Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Thu, 1 Mar 2012 15:13:26 +0000 Subject: [PATCH] kernel: keep more symbols in the kernel modules when doing profiling SVN-Revision: 30762 --- rules.mk | 4 +++- scripts/strip-kmod.sh | 8 +++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/rules.mk b/rules.mk index a0ceca8c2e..6684c93c17 100644 --- a/rules.mk +++ b/rules.mk @@ -220,7 +220,9 @@ else endif endif RSTRIP:= \ - export CROSS="$(TARGET_CROSS)" $(if $(CONFIG_KERNEL_KALLSYMS),NO_RENAME=1); \ + export CROSS="$(TARGET_CROSS)" \ + $(if $(CONFIG_KERNEL_KALLSYMS),NO_RENAME=1) \ + $(if $(CONFIG_KERNEL_PROFILING),KEEP_SYMBOLS=1); \ NM="$(TARGET_CROSS)nm" \ STRIP="$(STRIP)" \ STRIP_KMOD="$(SCRIPT_DIR)/strip-kmod.sh" \ diff --git a/scripts/strip-kmod.sh b/scripts/strip-kmod.sh index 57207e3ae6..789364f97b 100755 --- a/scripts/strip-kmod.sh +++ b/scripts/strip-kmod.sh @@ -11,16 +11,18 @@ MODULE="$1" exit 1 } +ARGS= +[ -n "$KEEP_SYMBOLS" ] || ARGS="-x -G __this_module --strip-unneeded" + ${CROSS}objcopy \ - --strip-unneeded \ -R .comment \ -R .pdr \ -R .mdebug.abi32 \ -R .note.gnu.build-id \ -R .gnu.attributes \ -R .reginfo \ - -G __this_module \ - -x "$MODULE" "$MODULE.tmp" + $ARGS \ + "$MODULE" "$MODULE.tmp" [ -n "$NO_RENAME" ] && { mv "${MODULE}.tmp" "$MODULE"