#!/bin/bash set -e cd $(dirname $0) echo -n "Testing $(basename -s .sh $0) ... " t=$(pwd)/tmp/$(basename -s .sh $0) mkdir -p $t cat < $t/log fgrep -q foo $t/log fgrep -q bar $t/log fgrep -q baz $t/log clang -fuse-ld=`pwd`/../mold -shared -o $t/f.so $t/e.o $t/c.a $t/d.a -Wl,-exclude-libs=c.a readelf --dyn-syms $t/f.so > $t/log ! fgrep -q foo $t/log || false fgrep -q bar $t/log fgrep -q baz $t/log clang -fuse-ld=`pwd`/../mold -shared -o $t/f.so $t/e.o $t/c.a $t/d.a -Wl,-exclude-libs=c.a -Wl,-exclude-libs=d.a readelf --dyn-syms $t/f.so > $t/log ! fgrep -q foo $t/log || false ! fgrep -q bar $t/log || false fgrep -q baz $t/log clang -fuse-ld=`pwd`/../mold -shared -o $t/f.so $t/e.o $t/c.a $t/d.a -Wl,-exclude-libs=ALL readelf --dyn-syms $t/f.so > $t/log ! fgrep -q foo $t/log || false ! fgrep -q bar $t/log || false fgrep -q baz $t/log echo OK