diff --git a/rules.mk b/rules.mk index a0ceca8c2e0..6684c93c17b 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 57207e3ae6c..789364f97bb 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"