Browse Source

feat: add support for EXTERNREF value type and enable AOT validator in fuzz tests (#4083)

liang.he 1 year ago
parent
commit
964037c9b5

+ 2 - 1
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:
         {

+ 2 - 0
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})

+ 3 - 2
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) {