summaryrefslogtreecommitdiff
path: root/scripts/brp-strip-comment-note
blob: 71164252e645c497ba04184d765e9e448851b5ba (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/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"  | \
	grep -v ' shared object,' | \
	grep -v '/lib/modules/' | \
	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