X-Git-Url: http://git.ozo.com/?a=blobdiff_plain;f=scripts%2Fstrip-kmod.sh;h=313015b909af6957d8b24f36b489c5b1c7e11974;hb=HEAD;hp=68da9e901baa0c36d4a0b8b71e3a94fe6b9ef2cb;hpb=32a69747812d72bb93bd3a71090d5db58b9a5602;p=openwrt-github%2F.git diff --git a/scripts/strip-kmod.sh b/scripts/strip-kmod.sh index 68da9e901b..313015b909 100755 --- a/scripts/strip-kmod.sh +++ b/scripts/strip-kmod.sh @@ -11,25 +11,42 @@ MODULE="$1" exit 1 } +ARGS= +if [ -n "$KEEP_SYMBOLS" ]; then + ARGS="-X --strip-debug" +else + ARGS="-x -G __this_module --strip-unneeded" +fi + +if [ -z "$KEEP_BUILD_ID" ]; then + ARGS="$ARGS -R .note.gnu.build-id" +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" + -R .MIPS.abiflags \ + -R .note.GNU-stack \ + $ARGS \ + "$MODULE" "$MODULE.tmp" + +[ -n "$NO_RENAME" ] && { + mv "${MODULE}.tmp" "$MODULE" + exit 0 +} ${CROSS}nm "$MODULE.tmp" | awk ' 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"