aboutsummaryrefslogtreecommitdiffstats
path: root/tests/checkasm/checkasm.c
diff options
context:
space:
mode:
authorZhao Zhili <zhilizhao@tencent.com>2024-11-20 20:45:35 +0800
committerZhao Zhili <zhilizhao@tencent.com>2024-12-04 16:43:07 +0800
commitea3d21c349db5bbfee7840857de81e4b2fc757fa (patch)
treee7d1577e54b59dca375821af974978defc0c7460 /tests/checkasm/checkasm.c
parent2dc55f599332ca371d97c0a1e31655aa42402f4f (diff)
downloadffmpeg-ea3d21c349db5bbfee7840857de81e4b2fc757fa.tar.gz
tests/checkasm: Add partial support for wasm
WASI mssing signal and siglongjmp support. This patch workaround build error and add simd128 flag. Please note that many tests use large array on stack, so you need to increase the stack size when build checkasm, e.g., --extra-ldflags='-Wl,-z,stack-size=10485760' Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
Diffstat (limited to 'tests/checkasm/checkasm.c')
-rw-r--r--tests/checkasm/checkasm.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/tests/checkasm/checkasm.c b/tests/checkasm/checkasm.c
index f30c53cec2..544e3ee9ba 100644
--- a/tests/checkasm/checkasm.c
+++ b/tests/checkasm/checkasm.c
@@ -363,6 +363,8 @@ static const struct {
#elif ARCH_LOONGARCH
{ "LSX", "lsx", AV_CPU_FLAG_LSX },
{ "LASX", "lasx", AV_CPU_FLAG_LASX },
+#elif ARCH_WASM
+ { "SIMD128", "simd128", AV_CPU_FLAG_SIMD128 },
#endif
{ NULL }
};
@@ -770,6 +772,8 @@ static LONG NTAPI signal_handler(EXCEPTION_POINTERS *e) {
}
#endif
#else
+
+#ifndef _WASI_EMULATED_SIGNAL
static void signal_handler(int s);
static const struct sigaction signal_handler_act = {
@@ -784,6 +788,8 @@ static void signal_handler(int s) {
checkasm_load_context(s);
}
}
+#endif // _WASI_EMULATED_SIGNAL
+
#endif
/* Compares a string with a wildcard pattern. */
@@ -933,10 +939,12 @@ int main(int argc, char *argv[])
AddVectoredExceptionHandler(0, signal_handler);
#endif
#else
+#ifndef _WASI_EMULATED_SIGNAL
sigaction(SIGBUS, &signal_handler_act, NULL);
sigaction(SIGFPE, &signal_handler_act, NULL);
sigaction(SIGILL, &signal_handler_act, NULL);
sigaction(SIGSEGV, &signal_handler_act, NULL);
+#endif // _WASI_EMULATED_SIGNAL
#endif
#if HAVE_PRCTL && defined(PR_SET_UNALIGN)
prctl(PR_SET_UNALIGN, PR_UNALIGN_SIGBUS);