Begin work on supporting wasm64; Correct wasm32 compilation behaviour

This commit is contained in:
gingerBill
2021-10-30 23:24:34 +01:00
parent 87952fdb8e
commit 5bc8a491a7
7 changed files with 223 additions and 166 deletions

View File

@@ -135,13 +135,20 @@ i32 linker_stage(lbGenerator *gen) {
if (is_arch_wasm()) {
timings_start_section(timings, str_lit("wasm-ld"));
result = system_exec_command_line_app("wasm-ld",
"\"%.*s\\bin\\wasm-ld\" \"%.*s.wasm-obj\" -o \"%.*s.wasm\" %.*s %.*s",
LIT(build_context.ODIN_ROOT),
LIT(output_base), LIT(output_base), LIT(build_context.link_flags), LIT(build_context.extra_linker_flags));
if (result) {
return result;
if (build_context.metrics.arch == TargetArch_wasm32) {
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),
LIT(output_base), LIT(output_base), LIT(build_context.link_flags), LIT(build_context.extra_linker_flags));
} else {
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),
LIT(output_base), LIT(output_base), LIT(build_context.link_flags), LIT(build_context.extra_linker_flags));
}
return result;
}
if (build_context.cross_compiling && selected_target_metrics->metrics == &target_essence_amd64) {