authorgravatar for mlugg@mlugg.co.ukMatthew Lugg <mlugg@mlugg.co.uk> 2026-06-23 13:42:00+01:00
committergravatar for mlugg@mlugg.co.ukMatthew Lugg <mlugg@mlugg.co.uk> 2026-06-24 10:20:56+01:00
logc152fa02b7fd98be7ae37fd3e216cb714ed0a119
tree6efb595e658be75ed862a7fc80aacd1704b3923b
parent2fcac141e75598dc0edd357b55c35d468b506672
signaturelock-open Commit is signed but in an unrecognized format.

stage1: update zig1.wasm

This is necessary after the `@bitCast` changes to prevent zig2 from being miscompiled on big-endian targets. Generated with wasm-opt version 118. Signed-off-by: Matthew Lugg <mlugg@mlugg.co.uk>

2 files changed, 55 insertions(+), 19 deletions(-)

stage1/zig.h+55-19
...@@ -11,8 +11,6 @@...@@ -11,8 +11,6 @@
11#elif defined(__GNUC__)11#elif defined(__GNUC__)
12#define zig_gcc12#define zig_gcc
13#define zig_gnuc13#define zig_gnuc
14#elif defined(__IBMC__)
15#define zig_xlc
16#elif defined(__TINYC__)14#elif defined(__TINYC__)
17#define zig_tinyc15#define zig_tinyc
18#elif defined(__slimcc__)16#elif defined(__slimcc__)
...@@ -28,8 +26,18 @@...@@ -28,8 +26,18 @@
28#define zig_arm26#define zig_arm
29#elif defined(__arm__)27#elif defined(__arm__)
30#define zig_arm28#define zig_arm
29#elif defined(__arc__)
30#define zig_arc
31#elif defined(__csky__)
32#define zig_csky
31#elif defined(__hexagon__)33#elif defined(__hexagon__)
32#define zig_hexagon34#define zig_hexagon
35#elif defined(__hppa__) && defined(_LP64)
36#define zig_hppa64
37#define zig_hppa
38#elif defined(__hppa__)
39#define zig_hppa32
40#define zig_hppa
33#elif defined(__kvx__)41#elif defined(__kvx__)
34#define zig_kvx42#define zig_kvx
35#elif defined(__loongarch32)43#elif defined(__loongarch32)
...@@ -42,6 +50,8 @@...@@ -42,6 +50,8 @@
42#define zig_m68k50#define zig_m68k
43#elif defined(__m88k__)51#elif defined(__m88k__)
44#define zig_m88k52#define zig_m88k
53#elif defined(__microblaze__)
54#define zig_microblaze
45#elif defined(__mips64)55#elif defined(__mips64)
46#define zig_mips6456#define zig_mips64
47#define zig_mips57#define zig_mips
...@@ -64,6 +74,8 @@...@@ -64,6 +74,8 @@
64#define zig_riscv74#define zig_riscv
65#elif defined(__s390x__)75#elif defined(__s390x__)
66#define zig_s390x76#define zig_s390x
77#elif defined(__sh__)
78#define zig_sh
67#elif defined(__sparc__) && defined(__arch64__)79#elif defined(__sparc__) && defined(__arch64__)
68#define zig_sparc6480#define zig_sparc64
69#define zig_sparc81#define zig_sparc
...@@ -100,32 +112,30 @@...@@ -100,32 +112,30 @@
100#define zig_big_endian 1112#define zig_big_endian 1
101#endif113#endif
102114
103#if defined(__MACH__)115#if defined(__APPLE__)
104#define zig_darwin116#define zig_darwin
105#elif defined(__DragonFly__)117#elif defined(__DragonFly__)
106#define zig_dragonfly118#define zig_dragonfly
107#define zig_bsd
108#elif defined(__EMSCRIPTEN__)119#elif defined(__EMSCRIPTEN__)
109#define zig_emscripten120#define zig_emscripten
110#elif defined(__FreeBSD__)121#elif defined(__FreeBSD__)
111#define zig_freebsd122#define zig_freebsd
112#define zig_bsd
113#elif defined(__Fuchsia__)123#elif defined(__Fuchsia__)
114#define zig_fuchsia124#define zig_fuchsia
115#elif defined(__HAIKU__)125#elif defined(__HAIKU__)
116#define zig_haiku126#define zig_haiku
117#elif defined(__gnu_hurd__)127#elif defined(__gnu_hurd__)
118#define zig_hurd128#define zig_hurd
129#elif defined(__illumos__)
130#define zig_illumos
119#elif defined(__linux__)131#elif defined(__linux__)
120#define zig_linux132#define zig_linux
121#elif defined(__NetBSD__)133#elif defined(__NetBSD__)
122#define zig_netbsd134#define zig_netbsd
123#define zig_bsd
124#elif defined(__OpenBSD__)135#elif defined(__OpenBSD__)
125#define zig_openbsd136#define zig_openbsd
126#define zig_bsd137#elif defined(__serenity__)
127#elif defined(__SVR4)138#define zig_serenity
128#define zig_solaris
129#elif defined(__wasi__)139#elif defined(__wasi__)
130#define zig_wasi140#define zig_wasi
131#elif defined(_WIN32)141#elif defined(_WIN32)
...@@ -404,14 +414,22 @@...@@ -404,14 +414,22 @@
404#define zig_trap() __asm__ volatile("udf #0xfe")414#define zig_trap() __asm__ volatile("udf #0xfe")
405#elif defined(zig_arm) || defined(zig_aarch64)415#elif defined(zig_arm) || defined(zig_aarch64)
406#define zig_trap() __asm__ volatile("udf #0xfdee")416#define zig_trap() __asm__ volatile("udf #0xfdee")
417#elif defined(zig_arc)
418#define zig_trap() __asm__ volatile("unimp_s")
419#elif defined(zig_csky)
420#define zig_trap() __asm__ volatile(".word 0x3fff")
407#elif defined(zig_hexagon)421#elif defined(zig_hexagon)
408#define zig_trap() __asm__ volatile("r27:26 = memd(#0xbadc0fee)")422#define zig_trap() __asm__ volatile("r27:26 = memd(#0xbadc0fee)")
423#elif defined(zig_hppa)
424#define zig_trap() __asm__ volatile("iitlbp %r0, (%sr0, %r0)")
409#elif defined(zig_kvx) || defined(zig_loongarch) || defined(zig_powerpc)425#elif defined(zig_kvx) || defined(zig_loongarch) || defined(zig_powerpc)
410#define zig_trap() __asm__ volatile(".word 0x0")426#define zig_trap() __asm__ volatile(".word 0x0")
411#elif defined(zig_m68k)427#elif defined(zig_m68k)
412#define zig_trap() __asm__ volatile("illegal")428#define zig_trap() __asm__ volatile("illegal")
413#elif defined(zig_m88k)429#elif defined(zig_m88k)
414#define zig_trap() __asm__ volatile("tb0 0, %%r0, 511")430#define zig_trap() __asm__ volatile("tb0 0, %%r0, 511")
431#elif defined(zig_microblaze)
432#define zig_trap() __asm__ volatile("getd r0, r0")
415#elif defined(zig_mips)433#elif defined(zig_mips)
416#define zig_trap() __asm__ volatile(".word 0x3d")434#define zig_trap() __asm__ volatile(".word 0x3d")
417#elif defined(zig_or1k)435#elif defined(zig_or1k)
...@@ -420,6 +438,8 @@...@@ -420,6 +438,8 @@
420#define zig_trap() __asm__ volatile("unimp")438#define zig_trap() __asm__ volatile("unimp")
421#elif defined(zig_s390x)439#elif defined(zig_s390x)
422#define zig_trap() __asm__ volatile("j 0x2")440#define zig_trap() __asm__ volatile("j 0x2")
441#elif defined(zig_sh)
442#define zig_trap() __asm__ volatile(".word 0x0001")
423#elif defined(zig_sparc)443#elif defined(zig_sparc)
424#define zig_trap() __asm__ volatile("illtrap")444#define zig_trap() __asm__ volatile("illtrap")
425#elif defined(zig_x86_16)445#elif defined(zig_x86_16)
...@@ -446,16 +466,22 @@...@@ -446,16 +466,22 @@
446466
447#if defined(zig_alpha)467#if defined(zig_alpha)
448#define zig_breakpoint() __asm__ volatile("call_pal 0x000080")468#define zig_breakpoint() __asm__ volatile("call_pal 0x000080")
449#elif defined(zig_arm)469#elif defined(zig_arm) || defined(zig_csky)
450#define zig_breakpoint() __asm__ volatile("bkpt #0x0")470#define zig_breakpoint() __asm__ volatile("bkpt #0x0")
451#elif defined(zig_aarch64)471#elif defined(zig_aarch64)
452#define zig_breakpoint() __asm__ volatile("brk #0xf000")472#define zig_breakpoint() __asm__ volatile("brk #0xf000")
473#elif defined(zig_arc)
474#define zig_breakpoint() __asm__ volatile("brk_s")
453#elif defined(zig_hexagon)475#elif defined(zig_hexagon)
454#define zig_breakpoint() __asm__ volatile("brkpt")476#define zig_breakpoint() __asm__ volatile("brkpt")
477#elif defined(zig_hppa)
478#define zig_breakpoint() __asm__ volatile("break 0x04, 0x0008")
455#elif defined(zig_kvx) || defined(zig_loongarch)479#elif defined(zig_kvx) || defined(zig_loongarch)
456#define zig_breakpoint() __asm__ volatile("break 0x0")480#define zig_breakpoint() __asm__ volatile("break 0x0")
457#elif defined(zig_m88k)481#elif defined(zig_m88k)
458#define zig_breakpoint() __asm__ volatile("illop1")482#define zig_breakpoint() __asm__ volatile("illop1")
483#elif defined(zig_microblaze)
484#define zig_breakpoint() __asm__ volatile("brki r16, 0x0018")
459#elif defined(zig_mips)485#elif defined(zig_mips)
460#define zig_breakpoint() __asm__ volatile("break")486#define zig_breakpoint() __asm__ volatile("break")
461#elif defined(zig_or1k)487#elif defined(zig_or1k)
...@@ -466,6 +492,8 @@...@@ -466,6 +492,8 @@
466#define zig_breakpoint() __asm__ volatile("ebreak")492#define zig_breakpoint() __asm__ volatile("ebreak")
467#elif defined(zig_s390x)493#elif defined(zig_s390x)
468#define zig_breakpoint() __asm__ volatile("j 0x6")494#define zig_breakpoint() __asm__ volatile("j 0x6")
495#elif defined(zig_sh)
496#define zig_breakpoint() __asm__ volatile("trapa #0xc3")
469#elif defined(zig_sparc)497#elif defined(zig_sparc)
470#define zig_breakpoint() __asm__ volatile("ta 0x1")498#define zig_breakpoint() __asm__ volatile("ta 0x1")
471#elif defined(zig_x86)499#elif defined(zig_x86)
...@@ -4529,9 +4557,12 @@ static inline void zig_msvc_atomic_store_i128(zig_i128 volatile* obj, zig_i128 a...@@ -4529,9 +4557,12 @@ static inline void zig_msvc_atomic_store_i128(zig_i128 volatile* obj, zig_i128 a
4529#include <intrin.h>4557#include <intrin.h>
4530#endif4558#endif
45314559
4560static inline void* zig_e_zig_windows_teb(void) zig_mangled(zig_e_zig_windows_teb, "zig_windows_teb");
4561static inline void* zig_e_zig_windows_peb(void) zig_mangled(zig_e_zig_windows_peb, "zig_windows_peb");
4562
4532#if defined(zig_thumb)4563#if defined(zig_thumb)
45334564
4534static inline void* zig_windows_teb(void) {4565static inline void* zig_e_zig_windows_teb(void) {
4535 void* teb = 0;4566 void* teb = 0;
4536#if defined(zig_msvc)4567#if defined(zig_msvc)
4537 teb = (void*)_MoveFromCoprocessor(15, 0, 13, 0, 2);4568 teb = (void*)_MoveFromCoprocessor(15, 0, 13, 0, 2);
...@@ -4543,7 +4574,7 @@ static inline void* zig_windows_teb(void) {...@@ -4543,7 +4574,7 @@ static inline void* zig_windows_teb(void) {
45434574
4544#elif defined(zig_aarch64)4575#elif defined(zig_aarch64)
45454576
4546static inline void* zig_windows_teb(void) {4577static inline void* zig_e_zig_windows_teb(void) {
4547 void* teb = 0;4578 void* teb = 0;
4548#if defined(zig_msvc)4579#if defined(zig_msvc)
4549 teb = (void*)__readx18qword(0x0);4580 teb = (void*)__readx18qword(0x0);
...@@ -4555,7 +4586,7 @@ static inline void* zig_windows_teb(void) {...@@ -4555,7 +4586,7 @@ static inline void* zig_windows_teb(void) {
45554586
4556#elif defined(zig_x86_32)4587#elif defined(zig_x86_32)
45574588
4558static inline void* zig_windows_teb(void) {4589static inline void* zig_e_zig_windows_teb(void) {
4559 void* teb = 0;4590 void* teb = 0;
4560#if defined(zig_msvc)4591#if defined(zig_msvc)
4561 teb = (void*)__readfsdword(0x18);4592 teb = (void*)__readfsdword(0x18);
...@@ -4565,7 +4596,7 @@ static inline void* zig_windows_teb(void) {...@@ -4565,7 +4596,7 @@ static inline void* zig_windows_teb(void) {
4565 return teb;4596 return teb;
4566}4597}
45674598
4568static inline void* zig_windows_peb(void) {4599static inline void* zig_e_zig_windows_peb(void) {
4569 void* peb = 0;4600 void* peb = 0;
4570#if defined(zig_msvc)4601#if defined(zig_msvc)
4571 peb = (void*)__readfsdword(0x30);4602 peb = (void*)__readfsdword(0x30);
...@@ -4577,7 +4608,7 @@ static inline void* zig_windows_peb(void) {...@@ -4577,7 +4608,7 @@ static inline void* zig_windows_peb(void) {
45774608
4578#elif defined(zig_x86_64)4609#elif defined(zig_x86_64)
45794610
4580static inline void* zig_windows_teb(void) {4611static inline void* zig_e_zig_windows_teb(void) {
4581 void* teb = 0;4612 void* teb = 0;
4582#if defined(zig_msvc)4613#if defined(zig_msvc)
4583 teb = (void*)__readgsqword(0x30);4614 teb = (void*)__readgsqword(0x30);
...@@ -4587,7 +4618,7 @@ static inline void* zig_windows_teb(void) {...@@ -4587,7 +4618,7 @@ static inline void* zig_windows_teb(void) {
4587 return teb;4618 return teb;
4588}4619}
45894620
4590static inline void* zig_windows_peb(void) {4621static inline void* zig_e_zig_windows_peb(void) {
4591 void* peb = 0;4622 void* peb = 0;
4592#if defined(zig_msvc)4623#if defined(zig_msvc)
4593 peb = (void*)__readgsqword(0x60);4624 peb = (void*)__readgsqword(0x60);
...@@ -4601,7 +4632,9 @@ static inline void* zig_windows_peb(void) {...@@ -4601,7 +4632,9 @@ static inline void* zig_windows_peb(void) {
46014632
4602#if defined(zig_loongarch)4633#if defined(zig_loongarch)
46034634
4604static inline void zig_loongarch_cpucfg(uint32_t word, uint32_t* result) {4635static inline void zig_e_zig_loongarch_cpucfg(uint32_t word, uint32_t* result) zig_mangled(zig_e_zig_loongarch_cpucfg, "zig_loongarch_cpucfg");
4636
4637static inline void zig_e_zig_loongarch_cpucfg(uint32_t word, uint32_t* result) {
4605#if defined(zig_gnuc_asm)4638#if defined(zig_gnuc_asm)
4606 __asm__("cpucfg %[result], %[word]" : [result] "=r" (result) : [word] "r" (word));4639 __asm__("cpucfg %[result], %[word]" : [result] "=r" (result) : [word] "r" (word));
4607#else4640#else
...@@ -4611,7 +4644,10 @@ static inline void zig_loongarch_cpucfg(uint32_t word, uint32_t* result) {...@@ -4611,7 +4644,10 @@ static inline void zig_loongarch_cpucfg(uint32_t word, uint32_t* result) {
46114644
4612#elif defined(zig_x86) && !defined(zig_x86_16)4645#elif defined(zig_x86) && !defined(zig_x86_16)
46134646
4614static inline void zig_x86_cpuid(uint32_t leaf_id, uint32_t subid, uint32_t* eax, uint32_t* ebx, uint32_t* ecx, uint32_t* edx) {4647static inline void zig_e_zig_x86_cpuid(uint32_t leaf_id, uint32_t subid, uint32_t* eax, uint32_t* ebx, uint32_t* ecx, uint32_t* edx) zig_mangled(zig_e_zig_x86_cpuid, "zig_x86_cpuid");
4648static inline uint32_t zig_e_zig_x86_get_xcr0(void) zig_mangled(zig_e_zig_x86_get_xcr0, "zig_x86_get_xcr0");
4649
4650static inline void zig_e_zig_x86_cpuid(uint32_t leaf_id, uint32_t subid, uint32_t* eax, uint32_t* ebx, uint32_t* ecx, uint32_t* edx) {
4615#if defined(zig_msvc)4651#if defined(zig_msvc)
4616 int cpu_info[4];4652 int cpu_info[4];
4617 __cpuidex(cpu_info, leaf_id, subid);4653 __cpuidex(cpu_info, leaf_id, subid);
...@@ -4629,7 +4665,7 @@ static inline void zig_x86_cpuid(uint32_t leaf_id, uint32_t subid, uint32_t* eax...@@ -4629,7 +4665,7 @@ static inline void zig_x86_cpuid(uint32_t leaf_id, uint32_t subid, uint32_t* eax
4629#endif4665#endif
4630}4666}
46314667
4632static inline uint32_t zig_x86_get_xcr0(void) {4668static inline uint32_t zig_e_zig_x86_get_xcr0(void) {
4633#if defined(zig_msvc)4669#if defined(zig_msvc)
4634 return (uint32_t)_xgetbv(0);4670 return (uint32_t)_xgetbv(0);
4635#elif defined(zig_gnuc_asm)4671#elif defined(zig_gnuc_asm)
stage1/zig1.wasm
Binary files a/stage1/zig1.wasm and b/stage1/zig1.wasm differ