diff options
Diffstat (limited to 'scripts/brp-strip-comment-note')
-rwxr-xr-x | scripts/brp-strip-comment-note | 26 |
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 |