diff --git a/src/build_settings.cpp b/src/build_settings.cpp index e34330ea8..4c7faa1b2 100644 --- a/src/build_settings.cpp +++ b/src/build_settings.cpp @@ -893,15 +893,12 @@ void init_build_context(TargetMetrics *cross_target) { bc->link_flags = str_lit("-arch arm64 "); break; } - - } else if (is_arch_wasm()) { - if (bc->metrics.arch == TargetArch_wasm32) { - bc->link_flags = str_lit("--no-entry --export-table --export-all --allow-undefined "); - } else { - bc->link_flags = str_lit("--no-entry --export-table --export-all --allow-undefined -mwasm64 "); - } + } else if (bc->metrics.arch == TargetArch_wasm32) { + bc->link_flags = str_lit("--no-entry --export-table --export-all --allow-undefined --features=wasm-feature-atomics "); + } else if (bc->metrics.arch == TargetArch_wasm64) { + bc->link_flags = str_lit("--no-entry --export-table --export-all --allow-undefined -mwasm64 --features=wasm-feature-memory64,wasm-feature-atomics --verbose "); } else { - gb_printf_err("Compiler Error: Unsupported architecture\n");; + gb_printf_err("Compiler Error: Unsupported architecture\n"); gb_exit(1); } diff --git a/src/main.cpp b/src/main.cpp index 7338ad45d..173c70a4d 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -136,7 +136,6 @@ i32 linker_stage(lbGenerator *gen) { if (is_arch_wasm()) { timings_start_section(timings, str_lit("wasm-ld")); - GB_ASSERT(build_context.metrics.arch == TargetArch_wasm64); result = system_exec_command_line_app("wasm-ld", "\"%.*s\\bin\\wasm-ld\" \"%.*s.wasm.o\" -o \"%.*s.wasm\" %.*s %.*s", LIT(build_context.ODIN_ROOT),