aboutsummaryrefslogtreecommitdiff
path: root/std/special/bootstrap.zig
diff options
context:
space:
mode:
authorAndrea Orru <andrea@orru.io>2018-01-07 04:43:08 -0500
committerAndrea Orru <andrea@orru.io>2018-01-07 04:43:08 -0500
commit31828572249883f99fad307dc6b27df9d1678a8d (patch)
tree6f68110ee33640786e23f117880333240aa25341 /std/special/bootstrap.zig
parentad438cfd40aba682a0bcd88ed607c2cbd378f647 (diff)
downloadzig-31828572249883f99fad307dc6b27df9d1678a8d.tar.gz
zig-31828572249883f99fad307dc6b27df9d1678a8d.zip
Adding zen support
Diffstat (limited to 'std/special/bootstrap.zig')
-rw-r--r--std/special/bootstrap.zig8
1 files changed, 8 insertions, 0 deletions
diff --git a/std/special/bootstrap.zig b/std/special/bootstrap.zig
index 177e245400..eea2229c42 100644
--- a/std/special/bootstrap.zig
+++ b/std/special/bootstrap.zig
@@ -11,6 +11,8 @@ comptime {
const strong_linkage = builtin.GlobalLinkage.Strong;
if (builtin.link_libc) {
@export("main", main, strong_linkage);
+ } else if (builtin.os == builtin.Os.zen) {
+ @export("main", zenMain, strong_linkage);
} else if (builtin.os == builtin.Os.windows) {
@export("WinMainCRTStartup", WinMainCRTStartup, strong_linkage);
} else {
@@ -18,6 +20,12 @@ comptime {
}
}
+extern fn zenMain() -> noreturn {
+ // TODO: call exit.
+ root.main() %% {};
+ while (true) {}
+}
+
nakedcc fn _start() -> noreturn {
switch (builtin.arch) {
builtin.Arch.x86_64 => {