diff options
| author | gingerBill <bill@gingerbill.org> | 2022-05-21 13:30:43 +0100 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2022-05-21 13:30:43 +0100 |
| commit | dfbe68bcfe91e1f54eaa47c685d6229f37656f6c (patch) | |
| tree | b24272d4b6ebfef34d786e90cbbf7b38f4a769ae | |
| parent | 3049e07f72f51fd9868066c602dbca922643cfb0 (diff) | |
Begin to add support for experimental wasm64
| -rw-r--r-- | core/sync/futex_wasm.odin | 2 | ||||
| -rw-r--r-- | core/sync/primitives_wasm.odin | 2 | ||||
| -rw-r--r-- | src/build_settings.cpp | 12 | ||||
| -rw-r--r-- | vendor/wasm/js/dom.odin | 2 | ||||
| -rw-r--r-- | vendor/wasm/js/events.odin | 2 | ||||
| -rw-r--r-- | vendor/wasm/js/memory.odin | 2 |
6 files changed, 16 insertions, 6 deletions
diff --git a/core/sync/futex_wasm.odin b/core/sync/futex_wasm.odin index 9e96614d6..a32935143 100644 --- a/core/sync/futex_wasm.odin +++ b/core/sync/futex_wasm.odin @@ -1,5 +1,5 @@ //+private -//+build wasm32 +//+build wasm32, wasm64 package sync import "core:intrinsics" diff --git a/core/sync/primitives_wasm.odin b/core/sync/primitives_wasm.odin index 283971ac5..ac36404d9 100644 --- a/core/sync/primitives_wasm.odin +++ b/core/sync/primitives_wasm.odin @@ -1,5 +1,5 @@ //+private -//+build wasm32 +//+build wasm32, wasm64 package sync _current_thread_id :: proc "contextless" () -> int { diff --git a/src/build_settings.cpp b/src/build_settings.cpp index 767ce2149..8bc889635 100644 --- a/src/build_settings.cpp +++ b/src/build_settings.cpp @@ -452,6 +452,15 @@ gb_global TargetMetrics target_js_wasm32 = { str_lit(""), }; +gb_global TargetMetrics target_js_wasm64 = { + TargetOs_js, + TargetArch_wasm64, + 8, + 16, + str_lit("wasm64-js-js"), + str_lit(""), +}; + gb_global TargetMetrics target_wasi_wasm32 = { TargetOs_wasi, TargetArch_wasm32, @@ -504,6 +513,7 @@ gb_global NamedTargetMetrics named_targets[] = { { str_lit("freestanding_wasm32"), &target_freestanding_wasm32 }, { str_lit("wasi_wasm32"), &target_wasi_wasm32 }, { str_lit("js_wasm32"), &target_js_wasm32 }, + { str_lit("js_wasm64"), &target_js_wasm64 }, { str_lit("freestanding_amd64_sysv"), &target_freestanding_amd64_sysv }, }; @@ -1151,7 +1161,7 @@ void init_build_context(TargetMetrics *cross_target) { // link_flags = gb_string_appendc(link_flags, "--export-table "); link_flags = gb_string_appendc(link_flags, "--allow-undefined "); if (bc->metrics.arch == TargetArch_wasm64) { - link_flags = gb_string_appendc(link_flags, "-mwas64 "); + link_flags = gb_string_appendc(link_flags, "-mwasm64 "); } if (bc->no_entry_point) { link_flags = gb_string_appendc(link_flags, "--no-entry "); diff --git a/vendor/wasm/js/dom.odin b/vendor/wasm/js/dom.odin index 9f9f2fa96..044476d41 100644 --- a/vendor/wasm/js/dom.odin +++ b/vendor/wasm/js/dom.odin @@ -1,4 +1,4 @@ -//+build js wasm32 +//+build js wasm32, js wasm64 package wasm_js_interface foreign import dom_lib "odin_dom" diff --git a/vendor/wasm/js/events.odin b/vendor/wasm/js/events.odin index 93ea94ede..12a68937f 100644 --- a/vendor/wasm/js/events.odin +++ b/vendor/wasm/js/events.odin @@ -1,4 +1,4 @@ -//+build js wasm32 +//+build js wasm32, js wasm64 package wasm_js_interface foreign import dom_lib "odin_dom" diff --git a/vendor/wasm/js/memory.odin b/vendor/wasm/js/memory.odin index f6f4f82a4..84bb16d01 100644 --- a/vendor/wasm/js/memory.odin +++ b/vendor/wasm/js/memory.odin @@ -1,4 +1,4 @@ -//+build js wasm32 +//+build js wasm32, js wasm64 package wasm_js_interface import "core:mem" |