summaryrefslogtreecommitdiff
path: root/scripts/brp-strip-comment-note
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/brp-strip-comment-note')
-rwxr-xr-xscripts/brp-strip-comment-note26
1 files changed, 26 insertions, 0 deletions
diff --git a/scripts/brp-strip-comment-note b/scripts/brp-strip-comment-note
new file mode 100755
index 0000000..90cd2ae
--- /dev/null
+++ b/scripts/brp-strip-comment-note
@@ -0,0 +1,26 @@
+#!/bin/sh
+# If using normal root, avoid changing anything.
+if [ -z "$RPM_BUILD_ROOT" -o "$RPM_BUILD_ROOT" = "/" ]; then
+ exit 0
+fi
+
+STRIP=${1:-strip}
+OBJDUMP=${2:-objdump}
+
+case `uname -a` in
+Darwin*) exit 0 ;;
+*) ;;
+esac
+
+# Strip .comment and .note sections (the latter only if it is not allocated)
+# for already stripped elf files in the build root
+for f in `find $RPM_BUILD_ROOT -type f \( -perm -0100 -or -perm -0010 -or -perm -0001 \) -exec file {} \; | \
+ grep -v "^${RPM_BUILD_ROOT}/\?usr/lib/debug" | \
+ sed -n -e 's/^\(.*\):[ ]*ELF.*, stripped/\1/p'`; do
+ note="-R .note"
+ if $OBJDUMP -h $f | grep '^[ ]*[0-9]*[ ]*.note[ ]' -A 1 | \
+ grep ALLOC >/dev/null; then
+ note=
+ fi
+ $STRIP -R .comment $note "$f" || :
+done