aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/link.cpp2
-rw-r--r--std/special/bootstrap.zig8
2 files changed, 5 insertions, 5 deletions
diff --git a/src/link.cpp b/src/link.cpp
index 4396a0daa6..f0537ffa0f 100644
--- a/src/link.cpp
+++ b/src/link.cpp
@@ -337,7 +337,7 @@ static void construct_linker_job_elf(LinkJob *lj) {
if (g->zig_target.os == OsZen) {
lj->args.append("-e");
- lj->args.append("main");
+ lj->args.append("_start");
lj->args.append("--image-base=0x10000000");
}
diff --git a/std/special/bootstrap.zig b/std/special/bootstrap.zig
index f5754638b0..ad4d4891ed 100644
--- a/std/special/bootstrap.zig
+++ b/std/special/bootstrap.zig
@@ -11,17 +11,17 @@ 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 if (builtin.os == builtin.Os.zen) {
+ @export("_start", zen_start, strong_linkage);
} else {
@export("_start", _start, strong_linkage);
}
}
-extern fn zenMain() noreturn {
- std.os.posix.exit(callMain());
+extern fn zen_start() noreturn {
+ std.os.posix.exit(@inlineCall(callMain));
}
nakedcc fn _start() noreturn {