#!/bin/bash export LC_ALL=C set -e CC="${CC:-cc}" CXX="${CXX:-c++}" testname=$(basename "$0" .sh) echo -n "Testing $testname ... " cd "$(dirname "$0")"/../.. mold="$(pwd)/mold" t=out/test/elf/$testname mkdir -p $t echo 'int main() {}' | $CC -m32 -o $t/exe -xc - >& /dev/null \ || { echo skipped; exit; } cat < extern _Thread_local int foo; static _Thread_local int bar; int *get_foo_addr() { return &foo; } int *get_bar_addr() { return &bar; } int main() { bar = 5; printf("%d %d %d %d\n", *get_foo_addr(), *get_bar_addr(), foo, bar); return 0; } EOF cat <