From 7b609a31bede49a725e79324b49a16b0d31a9323 Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@openwrt.org>
Date: Sat, 17 Mar 2012 13:03:14 +0000
Subject: [PATCH] kernel: improve profiling support, keep static symbols when
 profiling is enabled

SVN-Revision: 30964
---
 scripts/strip-kmod.sh                                       | 6 +++++-
 .../linux/generic/patches-3.2/202-reduce_module_size.patch  | 2 +-
 .../linux/generic/patches-3.3/202-reduce_module_size.patch  | 2 +-
 3 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/scripts/strip-kmod.sh b/scripts/strip-kmod.sh
index 789364f97b..2a75e39821 100755
--- a/scripts/strip-kmod.sh
+++ b/scripts/strip-kmod.sh
@@ -12,7 +12,11 @@ MODULE="$1"
 }
 
 ARGS=
-[ -n "$KEEP_SYMBOLS" ] || ARGS="-x -G __this_module --strip-unneeded"
+if [ -n "$KEEP_SYMBOLS" ]; then
+	ARGS="-X --strip-debug"
+else
+	ARGS="-x -G __this_module --strip-unneeded"
+fi
 
 ${CROSS}objcopy \
 	-R .comment \
diff --git a/target/linux/generic/patches-3.2/202-reduce_module_size.patch b/target/linux/generic/patches-3.2/202-reduce_module_size.patch
index f1efb90c37..d12a5e7c0d 100644
--- a/target/linux/generic/patches-3.2/202-reduce_module_size.patch
+++ b/target/linux/generic/patches-3.2/202-reduce_module_size.patch
@@ -5,7 +5,7 @@
  KBUILD_AFLAGS_MODULE  := -DMODULE
  KBUILD_CFLAGS_MODULE  := -DMODULE
 -KBUILD_LDFLAGS_MODULE := -T $(srctree)/scripts/module-common.lds
-+KBUILD_LDFLAGS_MODULE := -T $(srctree)/scripts/module-common.lds -s
++KBUILD_LDFLAGS_MODULE := -T $(srctree)/scripts/module-common.lds $(if $(CONFIG_PROFILING),,-s)
  
  # Read KERNELRELEASE from include/config/kernel.release (if it exists)
  KERNELRELEASE = $(shell cat include/config/kernel.release 2> /dev/null)
diff --git a/target/linux/generic/patches-3.3/202-reduce_module_size.patch b/target/linux/generic/patches-3.3/202-reduce_module_size.patch
index f1efb90c37..d12a5e7c0d 100644
--- a/target/linux/generic/patches-3.3/202-reduce_module_size.patch
+++ b/target/linux/generic/patches-3.3/202-reduce_module_size.patch
@@ -5,7 +5,7 @@
  KBUILD_AFLAGS_MODULE  := -DMODULE
  KBUILD_CFLAGS_MODULE  := -DMODULE
 -KBUILD_LDFLAGS_MODULE := -T $(srctree)/scripts/module-common.lds
-+KBUILD_LDFLAGS_MODULE := -T $(srctree)/scripts/module-common.lds -s
++KBUILD_LDFLAGS_MODULE := -T $(srctree)/scripts/module-common.lds $(if $(CONFIG_PROFILING),,-s)
  
  # Read KERNELRELEASE from include/config/kernel.release (if it exists)
  KERNELRELEASE = $(shell cat include/config/kernel.release 2> /dev/null)
-- 
GitLab