Browse Source

Attempt to get wasm64 compiling with the correct features enabled

gingerBill 3 years ago
parent
commit
841a96691b
2 changed files with 5 additions and 9 deletions
  1. 5 8
      src/build_settings.cpp
  2. 0 1
      src/main.cpp

+ 5 - 8
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);
 	}
 

+ 0 - 1
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),