Skip to content

Commit ca4417d

Browse files
committed
configure wasi via InstantiationArgs2 for platforms using libc_wasi.c
1 parent 2ae7f69 commit ca4417d

3 files changed

Lines changed: 22 additions & 8 deletions

File tree

product-mini/platforms/common/libc_wasi.c

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,3 +175,19 @@ libc_wasi_init(wasm_module_t wasm_module, int argc, char **argv,
175175
wasm_runtime_set_wasi_ns_lookup_pool(wasm_module, ctx->ns_lookup_pool,
176176
ctx->ns_lookup_pool_size);
177177
}
178+
179+
static void
180+
libc_wasi_set_init_args(struct InstantiationArgs2 *args, int argc, char **argv,
181+
libc_wasi_parse_context_t *ctx)
182+
{
183+
wasm_runtime_instantiation_args_set_wasi_arg(args, argv, argc);
184+
wasm_runtime_instantiation_args_set_wasi_env(args, ctx->env_list,
185+
ctx->env_list_size);
186+
wasm_runtime_instantiation_args_set_wasi_dir(
187+
args, ctx->dir_list, ctx->dir_list_size, ctx->map_dir_list,
188+
ctx->map_dir_list_size);
189+
wasm_runtime_instantiation_args_set_wasi_addr_pool(args, ctx->addr_pool,
190+
ctx->addr_pool_size);
191+
wasm_runtime_instantiation_args_set_wasi_ns_lookup_pool(
192+
args, ctx->ns_lookup_pool, ctx->ns_lookup_pool_size);
193+
}

product-mini/platforms/posix/main.c

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -962,10 +962,6 @@ main(int argc, char *argv[])
962962
}
963963
#endif
964964

965-
#if WASM_ENABLE_LIBC_WASI != 0
966-
libc_wasi_init(wasm_module, argc, argv, &wasi_parse_ctx);
967-
#endif
968-
969965
if (!wasm_runtime_instantiation_args_create(&inst_args)) {
970966
printf("failed to create instantiate args\n");
971967
goto fail3;
@@ -974,6 +970,9 @@ main(int argc, char *argv[])
974970
stack_size);
975971
wasm_runtime_instantiation_args_set_host_managed_heap_size(inst_args,
976972
heap_size);
973+
#if WASM_ENABLE_LIBC_WASI != 0
974+
libc_wasi_set_init_args(inst_args, argc, argv, &wasi_parse_ctx);
975+
#endif
977976

978977
/* instantiate the module */
979978
wasm_module_inst = wasm_runtime_instantiate_ex2(

product-mini/platforms/windows/main.c

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -598,10 +598,6 @@ main(int argc, char *argv[])
598598
goto fail2;
599599
}
600600

601-
#if WASM_ENABLE_LIBC_WASI != 0
602-
libc_wasi_init(wasm_module, argc, argv, &wasi_parse_ctx);
603-
#endif
604-
605601
if (!wasm_runtime_instantiation_args_create(&inst_args)) {
606602
printf("failed to create instantiate args\n");
607603
goto fail3;
@@ -610,6 +606,9 @@ main(int argc, char *argv[])
610606
stack_size);
611607
wasm_runtime_instantiation_args_set_host_managed_heap_size(inst_args,
612608
heap_size);
609+
#if WASM_ENABLE_LIBC_WASI != 0
610+
libc_wasi_set_init_args(inst_args, argc, argv, &wasi_parse_ctx);
611+
#endif
613612

614613
/* instantiate the module */
615614
wasm_module_inst = wasm_runtime_instantiate_ex2(

0 commit comments

Comments
 (0)