2023-03-09 01:03:16 +00:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
#
|
|
|
|
# Copyright (C) 2023 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
|
|
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
|
|
#
|
|
|
|
|
2023-03-17 12:02:03 +00:00
|
|
|
set -eo pipefail
|
2023-03-09 01:03:16 +00:00
|
|
|
CC=${CC:=/opt/wasi-sdk/bin/clang}
|
|
|
|
WAMR_DIR=../../../../..
|
|
|
|
|
2023-08-01 09:38:37 +00:00
|
|
|
# Stress tests names
|
|
|
|
thread_start_file_exclusions=("spawn_stress_test.wasm" "linear_memory_size_update.wasm")
|
|
|
|
|
2023-03-09 01:03:16 +00:00
|
|
|
for test_c in *.c; do
|
|
|
|
test_wasm="$(basename $test_c .c).wasm"
|
|
|
|
|
2023-08-01 09:38:37 +00:00
|
|
|
if [[ " ${thread_start_file_exclusions[@]} " =~ " ${test_wasm} " ]] ; then
|
2023-04-08 11:07:20 +00:00
|
|
|
thread_start_file=""
|
|
|
|
else
|
|
|
|
thread_start_file=$WAMR_DIR/samples/wasi-threads/wasm-apps/wasi_thread_start.S
|
|
|
|
fi
|
|
|
|
|
2023-03-09 01:03:16 +00:00
|
|
|
echo "Compiling $test_c to $test_wasm"
|
|
|
|
$CC \
|
|
|
|
-target wasm32-wasi-threads \
|
|
|
|
-pthread -ftls-model=local-exec \
|
|
|
|
-z stack-size=32768 \
|
|
|
|
-Wl,--export=__heap_base \
|
|
|
|
-Wl,--export=__data_end \
|
|
|
|
-Wl,--shared-memory,--max-memory=1966080 \
|
|
|
|
-Wl,--export=wasi_thread_start \
|
|
|
|
-Wl,--export=malloc \
|
|
|
|
-Wl,--export=free \
|
|
|
|
-I $WAMR_DIR/samples/wasi-threads/wasm-apps \
|
2023-04-08 11:07:20 +00:00
|
|
|
$thread_start_file \
|
2023-03-09 01:03:16 +00:00
|
|
|
$test_c -o $test_wasm
|
|
|
|
done
|