diff --git a/src/build_settings.cpp b/src/build_settings.cpp index dd30d1306..3bd6622c7 100644 --- a/src/build_settings.cpp +++ b/src/build_settings.cpp @@ -380,7 +380,7 @@ gb_global NamedTargetMetrics named_targets[] = { { str_lit("freebsd_386"), &target_freebsd_386 }, { str_lit("freebsd_amd64"), &target_freebsd_amd64 }, { str_lit("freestanding_wasm32"), &target_freestanding_wasm32 }, - { str_lit("freestanding_wasm64"), &target_freestanding_wasm64 }, + // { str_lit("freestanding_wasm64"), &target_freestanding_wasm64 }, { str_lit("wasi_wasm32"), &target_wasi_wasm32 }, }; diff --git a/src/llvm_backend.cpp b/src/llvm_backend.cpp index d21ff8e5a..ef764372b 100644 --- a/src/llvm_backend.cpp +++ b/src/llvm_backend.cpp @@ -787,7 +787,7 @@ lbProcedure *lb_create_main_procedure(lbModule *m, lbProcedure *startup_runtime) call_cleanup = false; } else if (build_context.metrics.os == TargetOs_windows && build_context.metrics.arch == TargetArch_386) { name = str_lit("mainCRTStartup"); - } else if (build_context.metrics.os == TargetOs_wasi) { + } else if (is_arch_wasm()) { name = str_lit("_start"); call_cleanup = false; } else { @@ -894,8 +894,8 @@ lbProcedure *lb_create_main_procedure(lbModule *m, lbProcedure *startup_runtime) lb_end_procedure_body(p); - - if (build_context.metrics.os == TargetOs_wasi) { + + if (is_arch_wasm()) { LLVMSetLinkage(p->value, LLVMDLLExportLinkage); } else { LLVMSetLinkage(p->value, LLVMExternalLinkage);