wireguard: bump to 0.0.20190227
[openwrt/openwrt.git] / scripts / strip-kmod.sh
index 57207e3ae6c36e66e9fd11d63ad266263f0ff959..313015b909af6957d8b24f36b489c5b1c7e11974 100755 (executable)
@@ -11,16 +11,27 @@ 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"
@@ -32,9 +43,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"