1
1
mirror of https://github.com/rui314/mold.git synced 2024-10-04 16:48:04 +03:00
mold/test/elf/func-addr.sh

31 lines
503 B
Bash
Raw Normal View History

#!/bin/bash
export LANG=
set -e
cd "$(dirname "$0")"
2021-09-08 13:11:48 +03:00
mold=`pwd`/../../mold
echo -n "Testing $(basename -s .sh "$0") ... "
t=$(pwd)/../../out/test/elf/$(basename -s .sh "$0")
mkdir -p "$t"
cat <<EOF | cc -shared -o "$t"/a.so -xc -
void fn() {}
EOF
cat <<EOF | cc -o "$t"/b.o -c -xc -fno-PIC -
#include <stdio.h>
typedef void Func();
void fn();
Func *const ptr = fn;
int main() {
printf("%d\n", fn == ptr);
}
EOF
clang -fuse-ld="$mold" -o "$t"/exe "$t"/b.o "$t"/a.so
"$t"/exe | grep -q 1
echo OK