X-Git-Url: https://git.archive.openwrt.org/?a=blobdiff_plain;f=scripts%2Fstrip-kmod.sh;h=13e6b58007f92fa870afcb58da9ac88df7957c19;hb=6a90e3d98140de5aaaa8a73b3e03246ef67a4fea;hp=57207e3ae6c36e66e9fd11d63ad266263f0ff959;hpb=e8cb32229625f8350cb4b18079db34973e6bb4b8;p=openwrt.git diff --git a/scripts/strip-kmod.sh b/scripts/strip-kmod.sh index 57207e3ae6..13e6b58007 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"