From 964037c9b5756d4034aae6d730325ed0ef19301e Mon Sep 17 00:00:00 2001 From: "liang.he" Date: Mon, 17 Feb 2025 13:34:18 +0800 Subject: [PATCH] feat: add support for EXTERNREF value type and enable AOT validator in fuzz tests (#4083) --- core/iwasm/common/wasm_runtime_common.c | 3 ++- tests/fuzz/wasm-mutator-fuzz/CMakeLists.txt | 2 ++ tests/fuzz/wasm-mutator-fuzz/wasm_mutator_fuzz.cc | 5 +++-- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/core/iwasm/common/wasm_runtime_common.c b/core/iwasm/common/wasm_runtime_common.c index cc6badd9..95cea7fe 100644 --- a/core/iwasm/common/wasm_runtime_common.c +++ b/core/iwasm/common/wasm_runtime_common.c @@ -4458,8 +4458,9 @@ wasm_func_type_get_param_valkind(WASMFuncType *const func_type, return WASM_V128; case VALUE_TYPE_FUNCREF: return WASM_FUNCREF; - case VALUE_TYPE_EXTERNREF: + return WASM_EXTERNREF; + case VALUE_TYPE_VOID: default: { diff --git a/tests/fuzz/wasm-mutator-fuzz/CMakeLists.txt b/tests/fuzz/wasm-mutator-fuzz/CMakeLists.txt index 6177d27e..c0c7622c 100644 --- a/tests/fuzz/wasm-mutator-fuzz/CMakeLists.txt +++ b/tests/fuzz/wasm-mutator-fuzz/CMakeLists.txt @@ -119,6 +119,8 @@ endif () # sanitizer may use kHandleSignalExclusive to handle SIGSEGV # like `UBSAN_OPTIONS=handle_segv=2:...` set (WAMR_DISABLE_HW_BOUND_CHECK 1) +# Enable aot validator +set (WAMR_BUILD_AOT_VALIDATOR 1) set (REPO_ROOT_DIR ${CMAKE_CURRENT_LIST_DIR}/../../..) message([ceith]:REPO_ROOT_DIR, ${REPO_ROOT_DIR}) diff --git a/tests/fuzz/wasm-mutator-fuzz/wasm_mutator_fuzz.cc b/tests/fuzz/wasm-mutator-fuzz/wasm_mutator_fuzz.cc index 4b3d8d94..391d899c 100644 --- a/tests/fuzz/wasm-mutator-fuzz/wasm_mutator_fuzz.cc +++ b/tests/fuzz/wasm-mutator-fuzz/wasm_mutator_fuzz.cc @@ -136,8 +136,9 @@ execute_export_functions(wasm_module_t module, wasm_module_inst_t inst) return false; } - bool ret = wasm_runtime_call_wasm_a(exec_env, func, result_count, - results.data(), param_count, args.data()); + bool ret = + wasm_runtime_call_wasm_a(exec_env, func, result_count, + results.data(), param_count, args.data()); if (!ret) { const char *exception = wasm_runtime_get_exception(inst); if (!exception) {