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 @@
1111#elif defined(__GNUC__)
1212#define zig_gcc
1313#define zig_gnuc
14#elif defined(__IBMC__)
15#define zig_xlc
1614#elif defined(__TINYC__)
1715#define zig_tinyc
1816#elif defined(__slimcc__)
......@@ -28,8 +26,18 @@
2826#define zig_arm
2927#elif defined(__arm__)
3028#define zig_arm
29#elif defined(__arc__)
30#define zig_arc
31#elif defined(__csky__)
32#define zig_csky
3133#elif defined(__hexagon__)
3234#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
3341#elif defined(__kvx__)
3442#define zig_kvx
3543#elif defined(__loongarch32)
......@@ -42,6 +50,8 @@
4250#define zig_m68k
4351#elif defined(__m88k__)
4452#define zig_m88k
53#elif defined(__microblaze__)
54#define zig_microblaze
4555#elif defined(__mips64)
4656#define zig_mips64
4757#define zig_mips
......@@ -64,6 +74,8 @@
6474#define zig_riscv
6575#elif defined(__s390x__)
6676#define zig_s390x
77#elif defined(__sh__)
78#define zig_sh
6779#elif defined(__sparc__) && defined(__arch64__)
6880#define zig_sparc64
6981#define zig_sparc
......@@ -100,32 +112,30 @@
100112#define zig_big_endian 1
101113#endif
102114
103#if defined(__MACH__)
115#if defined(__APPLE__)
104116#define zig_darwin
105117#elif defined(__DragonFly__)
106118#define zig_dragonfly
107#define zig_bsd
108119#elif defined(__EMSCRIPTEN__)
109120#define zig_emscripten
110121#elif defined(__FreeBSD__)
111122#define zig_freebsd
112#define zig_bsd
113123#elif defined(__Fuchsia__)
114124#define zig_fuchsia
115125#elif defined(__HAIKU__)
116126#define zig_haiku
117127#elif defined(__gnu_hurd__)
118128#define zig_hurd
129#elif defined(__illumos__)
130#define zig_illumos
119131#elif defined(__linux__)
120132#define zig_linux
121133#elif defined(__NetBSD__)
122134#define zig_netbsd
123#define zig_bsd
124135#elif defined(__OpenBSD__)
125136#define zig_openbsd
126#define zig_bsd
127#elif defined(__SVR4)
128#define zig_solaris
137#elif defined(__serenity__)
138#define zig_serenity
129139#elif defined(__wasi__)
130140#define zig_wasi
131141#elif defined(_WIN32)
......@@ -404,14 +414,22 @@
404414#define zig_trap() __asm__ volatile("udf #0xfe")
405415#elif defined(zig_arm) || defined(zig_aarch64)
406416#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")
407421#elif defined(zig_hexagon)
408422#define zig_trap() __asm__ volatile("r27:26 = memd(#0xbadc0fee)")
423#elif defined(zig_hppa)
424#define zig_trap() __asm__ volatile("iitlbp %r0, (%sr0, %r0)")
409425#elif defined(zig_kvx) || defined(zig_loongarch) || defined(zig_powerpc)
410426#define zig_trap() __asm__ volatile(".word 0x0")
411427#elif defined(zig_m68k)
412428#define zig_trap() __asm__ volatile("illegal")
413429#elif defined(zig_m88k)
414430#define zig_trap() __asm__ volatile("tb0 0, %%r0, 511")
431#elif defined(zig_microblaze)
432#define zig_trap() __asm__ volatile("getd r0, r0")
415433#elif defined(zig_mips)
416434#define zig_trap() __asm__ volatile(".word 0x3d")
417435#elif defined(zig_or1k)
......@@ -420,6 +438,8 @@
420438#define zig_trap() __asm__ volatile("unimp")
421439#elif defined(zig_s390x)
422440#define zig_trap() __asm__ volatile("j 0x2")
441#elif defined(zig_sh)
442#define zig_trap() __asm__ volatile(".word 0x0001")
423443#elif defined(zig_sparc)
424444#define zig_trap() __asm__ volatile("illtrap")
425445#elif defined(zig_x86_16)
......@@ -446,16 +466,22 @@
446466
447467#if defined(zig_alpha)
448468#define zig_breakpoint() __asm__ volatile("call_pal 0x000080")
449#elif defined(zig_arm)
469#elif defined(zig_arm) || defined(zig_csky)
450470#define zig_breakpoint() __asm__ volatile("bkpt #0x0")
451471#elif defined(zig_aarch64)
452472#define zig_breakpoint() __asm__ volatile("brk #0xf000")
473#elif defined(zig_arc)
474#define zig_breakpoint() __asm__ volatile("brk_s")
453475#elif defined(zig_hexagon)
454476#define zig_breakpoint() __asm__ volatile("brkpt")
477#elif defined(zig_hppa)
478#define zig_breakpoint() __asm__ volatile("break 0x04, 0x0008")
455479#elif defined(zig_kvx) || defined(zig_loongarch)
456480#define zig_breakpoint() __asm__ volatile("break 0x0")
457481#elif defined(zig_m88k)
458482#define zig_breakpoint() __asm__ volatile("illop1")
483#elif defined(zig_microblaze)
484#define zig_breakpoint() __asm__ volatile("brki r16, 0x0018")
459485#elif defined(zig_mips)
460486#define zig_breakpoint() __asm__ volatile("break")
461487#elif defined(zig_or1k)
......@@ -466,6 +492,8 @@
466492#define zig_breakpoint() __asm__ volatile("ebreak")
467493#elif defined(zig_s390x)
468494#define zig_breakpoint() __asm__ volatile("j 0x6")
495#elif defined(zig_sh)
496#define zig_breakpoint() __asm__ volatile("trapa #0xc3")
469497#elif defined(zig_sparc)
470498#define zig_breakpoint() __asm__ volatile("ta 0x1")
471499#elif defined(zig_x86)
......@@ -4529,9 +4557,12 @@ static inline void zig_msvc_atomic_store_i128(zig_i128 volatile* obj, zig_i128 a
45294557#include <intrin.h>
45304558#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
45324563#if defined(zig_thumb)
45334564
4534static inline void* zig_windows_teb(void) {
4565static inline void* zig_e_zig_windows_teb(void) {
45354566 void* teb = 0;
45364567#if defined(zig_msvc)
45374568 teb = (void*)_MoveFromCoprocessor(15, 0, 13, 0, 2);
......@@ -4543,7 +4574,7 @@ static inline void* zig_windows_teb(void) {
45434574
45444575#elif defined(zig_aarch64)
45454576
4546static inline void* zig_windows_teb(void) {
4577static inline void* zig_e_zig_windows_teb(void) {
45474578 void* teb = 0;
45484579#if defined(zig_msvc)
45494580 teb = (void*)__readx18qword(0x0);
......@@ -4555,7 +4586,7 @@ static inline void* zig_windows_teb(void) {
45554586
45564587#elif defined(zig_x86_32)
45574588
4558static inline void* zig_windows_teb(void) {
4589static inline void* zig_e_zig_windows_teb(void) {
45594590 void* teb = 0;
45604591#if defined(zig_msvc)
45614592 teb = (void*)__readfsdword(0x18);
......@@ -4565,7 +4596,7 @@ static inline void* zig_windows_teb(void) {
45654596 return teb;
45664597}
45674598
4568static inline void* zig_windows_peb(void) {
4599static inline void* zig_e_zig_windows_peb(void) {
45694600 void* peb = 0;
45704601#if defined(zig_msvc)
45714602 peb = (void*)__readfsdword(0x30);
......@@ -4577,7 +4608,7 @@ static inline void* zig_windows_peb(void) {
45774608
45784609#elif defined(zig_x86_64)
45794610
4580static inline void* zig_windows_teb(void) {
4611static inline void* zig_e_zig_windows_teb(void) {
45814612 void* teb = 0;
45824613#if defined(zig_msvc)
45834614 teb = (void*)__readgsqword(0x30);
......@@ -4587,7 +4618,7 @@ static inline void* zig_windows_teb(void) {
45874618 return teb;
45884619}
45894620
4590static inline void* zig_windows_peb(void) {
4621static inline void* zig_e_zig_windows_peb(void) {
45914622 void* peb = 0;
45924623#if defined(zig_msvc)
45934624 peb = (void*)__readgsqword(0x60);
......@@ -4601,7 +4632,9 @@ static inline void* zig_windows_peb(void) {
46014632
46024633#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) {
46054638#if defined(zig_gnuc_asm)
46064639 __asm__("cpucfg %[result], %[word]" : [result] "=r" (result) : [word] "r" (word));
46074640#else
......@@ -4611,7 +4644,10 @@ static inline void zig_loongarch_cpucfg(uint32_t word, uint32_t* result) {
46114644
46124645#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) {
46154651#if defined(zig_msvc)
46164652 int cpu_info[4];
46174653 __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
46294665#endif
46304666}
46314667
4632static inline uint32_t zig_x86_get_xcr0(void) {
4668static inline uint32_t zig_e_zig_x86_get_xcr0(void) {
46334669#if defined(zig_msvc)
46344670 return (uint32_t)_xgetbv(0);
46354671#elif defined(zig_gnuc_asm)
stage1/zig1.wasm
Binary files a/stage1/zig1.wasm and b/stage1/zig1.wasm differ