diff --git a/stage1/zig.h b/stage1/zig.h index f73dfb72efa785e351de7d5737ec39e4274291d1..34407d8cdaaeb20b6d1641434699949f88674a49 100644 --- a/stage1/zig.h +++ b/stage1/zig.h @@ -188,6 +188,14 @@ typedef char bool; #define zig_export(sig, symbol, name) __asm(name " = " symbol) #endif +#if zig_has_attribute(weak) || defined(zig_gnuc) +#define zig_weak_linkage __attribute__((weak)) +#elif _MSC_VER +#define zig_weak_linkage __declspec(selectany) +#else +#define zig_weak_linkage zig_weak_linkage_unavailable +#endif + #if zig_has_builtin(trap) #define zig_trap() __builtin_trap() #elif _MSC_VER && (_M_IX86 || _M_X64) diff --git a/stage1/zig1.wasm b/stage1/zig1.wasm index 4c3b17230f3681dedfe3ffaa03ac96017560f4d1..b00227e45d31187e03274df3b2c07a91832b35c7 100644 Binary files a/stage1/zig1.wasm and b/stage1/zig1.wasm differ