aboutsummaryrefslogtreecommitdiff
path: root/src/emcc_main.c
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2022-02-27 23:20:10 -0800
committerGravatar Jarred Sumner <jarred@jarredsumner.com> 2022-02-27 23:20:10 -0800
commit50560e169ca39c0b4ec163cb32897baf7620aa69 (patch)
tree83eb721bfd4a0318874c1f69d254a4fd9446512b /src/emcc_main.c
parent36c249e9c1fc6e0000d23ae0055eed54a5437c74 (diff)
downloadbun-50560e169ca39c0b4ec163cb32897baf7620aa69.tar.gz
bun-50560e169ca39c0b4ec163cb32897baf7620aa69.tar.zst
bun-50560e169ca39c0b4ec163cb32897baf7620aa69.zip
WASM
Diffstat (limited to 'src/emcc_main.c')
-rw-r--r--src/emcc_main.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/emcc_main.c b/src/emcc_main.c
new file mode 100644
index 000000000..feb99b58a
--- /dev/null
+++ b/src/emcc_main.c
@@ -0,0 +1,22 @@
+#define STBI_ASSERT(x)
+#include <stdint.h>out.w
+
+#include <stdlib.h>
+
+extern void console_error(uint64_t slice);
+extern void console_log(uint64_t slice);
+extern void console_warn(uint64_t slice);
+extern void console_info(uint64_t slice);
+
+// Zig compiles C code with -fstack-protector-strong which requires the
+// following two symbols which don't seem to be provided by the emscripten
+// toolchain(?)
+uintptr_t __stack_chk_guard = 0xABBABABA;
+_Noreturn void __stack_chk_fail(void) { abort(); };
+
+// emsc_main() is the Zig entry function in pacman.zig
+extern void emsc_main(void);
+int main() {
+ emsc_main();
+ return 0;
+} \ No newline at end of file