X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/e8cb32229625f8350cb4b18079db34973e6bb4b8..322039038fc82e8a03abc7bb6d4af1c64f279f57:/scripts/strip-kmod.sh diff --git a/scripts/strip-kmod.sh b/scripts/strip-kmod.sh index 57207e3ae..13e6b5800 100755 --- a/scripts/strip-kmod.sh +++ b/scripts/strip-kmod.sh @@ -11,16 +11,22 @@ MODULE="$1" exit 1 } +ARGS= +if [ -n "$KEEP_SYMBOLS" ]; then + ARGS="-X --strip-debug" +else + ARGS="-x -G __this_module --strip-unneeded" +fi + ${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" @@ -32,9 +38,10 @@ BEGIN { n = 0 } -$3 && $2 ~ /[brtd]/ && $3 !~ /\$LC/ { +$3 && $2 ~ /[brtd]/ && $3 !~ /\$LC/ && !def[$3] { print "--redefine-sym "$3"=_"n; n = n + 1 + def[$3] = 1 } ' > "$MODULE.tmp1"