1
1
mirror of https://github.com/rui314/mold.git synced 2024-12-27 10:23:41 +03:00
mold/test/note.sh

43 lines
797 B
Bash
Raw Normal View History

2021-01-16 05:57:36 +03:00
#!/bin/bash
set -e
2021-03-01 10:28:16 +03:00
cd $(dirname $0)
2021-01-25 05:02:01 +03:00
echo -n "Testing $(basename -s .sh $0) ... "
2021-01-16 05:57:36 +03:00
t=$(pwd)/tmp/$(basename -s .sh $0)
mkdir -p $t
cat <<EOF | cc -o $t/a.o -c -x assembler -
.text
.globl _start
2021-01-16 05:57:36 +03:00
_start:
nop
.section .note.foo, "a", @note
.align 8
.quad 42
2021-01-16 05:57:36 +03:00
.section .note.bar, "a", @note
.align 4
.quad 42
2021-01-16 05:57:36 +03:00
.section .note.baz, "a", @note
.align 8
.quad 42
.section .note.nonalloc, "", @note
.align 1
.quad 42
2021-01-16 05:57:36 +03:00
EOF
../mold -static -o $t/exe $t/a.o
readelf -W --sections $t/exe > $t/log
grep -Pq '.note.bar\s+NOTE.+000008 00 A 0 0 4' $t/log
grep -Pq '.note.baz\s+NOTE.+000008 00 A 0 0 8' $t/log
grep -Pq '.note.nonalloc\s+NOTE.+000008 00 0 0 1' $t/log
2021-01-16 05:57:36 +03:00
readelf --segments $t/exe > $t/log
fgrep -q '01 .note.bar' $t/log
fgrep -q '02 .note.baz .note.foo' $t/log
2021-01-16 05:57:36 +03:00
2021-01-25 05:02:01 +03:00
echo OK