summaryrefslogtreecommitdiffstats
path: root/testsuite/dwz.tests/objcopy-eu-unstrip.sh
blob: 18593d03c1ad16ceeb4d3bb78b8ff55bf138099a (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
29
30
31
32
33
34
35
cp ../hello 1

objcopy --only-keep-debug 1 1.debug
objcopy --strip-debug 1 1.stripped

if ! eu-unstrip 1.stripped 1.debug -o 1.unstripped; then
    exit 77
fi
rm 1.unstripped

if dwz 1.debug 2> dwz.err; status=$?; then
    true
fi

if grep -q "dwz: Section overlap detected" dwz.err; then
    exit 77
fi

[ $status -eq 0 ]

version=$(eu-unstrip --version | head -n 1 | cut -d ' ' -f3)
major=$(echo $version | sed 's%\..*%%')
minor=$(echo $version | sed 's%.*\.%%')
if [ $major -gt 0 ] || [ $minor -ge 168 ]; then
    true
else
    exit 77
fi

eu-unstrip 1.stripped 1.debug -o 1.unstripped

# An unstripped exec can end up larger than the original (PR elfutils/24809).
#smaller-than.sh 1.unstripped 1

rm -f 1 1.debug 1.stripped 1.unstripped dwz.err