2020-12-14 04:19:37 +03:00
|
|
|
#!/bin/bash
|
2021-12-17 14:05:14 +03:00
|
|
|
export LANG=
|
2020-12-14 04:19:37 +03:00
|
|
|
set -e
|
2021-12-22 13:38:00 +03:00
|
|
|
cd "$(dirname "$0")"
|
2021-09-08 13:11:48 +03:00
|
|
|
mold=`pwd`/../../mold
|
2021-12-22 13:38:00 +03:00
|
|
|
echo -n "Testing $(basename -s .sh "$0") ... "
|
|
|
|
t=$(pwd)/../../out/test/elf/$(basename -s .sh "$0")
|
|
|
|
mkdir -p "$t"
|
2020-12-14 04:19:37 +03:00
|
|
|
|
2021-12-22 13:38:00 +03:00
|
|
|
cat <<EOF | cc -o "$t"/a.o -c -x assembler -
|
2020-12-14 04:19:37 +03:00
|
|
|
.globl foo, bar
|
|
|
|
foo:
|
|
|
|
.quad 0
|
|
|
|
bar:
|
|
|
|
.quad 0
|
|
|
|
EOF
|
|
|
|
|
2021-12-22 13:38:00 +03:00
|
|
|
"$mold" -e foo -static -o "$t"/exe "$t"/a.o
|
|
|
|
readelf -e "$t"/exe > "$t"/log
|
|
|
|
grep -q 'Entry point address:.*0x201000' "$t"/log
|
2020-12-14 04:19:37 +03:00
|
|
|
|
2021-12-22 13:38:00 +03:00
|
|
|
"$mold" -e bar -static -o "$t"/exe "$t"/a.o
|
|
|
|
readelf -e "$t"/exe > "$t"/log
|
|
|
|
grep -q 'Entry point address:.*0x201008' "$t"/log
|
2020-12-14 04:19:37 +03:00
|
|
|
|
2021-12-22 13:38:00 +03:00
|
|
|
"$mold" -static -o "$t"/exe "$t"/a.o
|
|
|
|
readelf -e "$t"/exe > "$t"/log
|
|
|
|
grep -q 'Entry point address:.*0x201000' "$t"/log
|
2021-06-04 09:30:32 +03:00
|
|
|
|
2021-01-25 05:02:01 +03:00
|
|
|
echo OK
|