Commit 1bca158c6e

GasInfinity <me@gasinfinity.dev>
2025-10-18 19:23:19
fix(std): don't add the default `_start` and `panic` in homebrew targets
* even if std supported those targets, they're not posixy to be in that codepath.
1 parent 6bf5b7f
Changed files (2)
lib/std/debug.zig
@@ -481,7 +481,7 @@ pub fn defaultPanic(
     if (use_trap_panic) @trap();
 
     switch (builtin.os.tag) {
-        .freestanding, .other => {
+        .freestanding, .other, .@"3ds", .vita => {
             @trap();
         },
         .uefi => {
lib/std/start.zig
@@ -91,8 +91,9 @@ comptime {
                 // Only call main when defined. For WebAssembly it's allowed to pass `-fno-entry` in which
                 // case it's not required to provide an entrypoint such as main.
                 if (!@hasDecl(root, start_sym_name) and @hasDecl(root, "main")) @export(&wasm_freestanding_start, .{ .name = start_sym_name });
-            } else if (native_os != .other and native_os != .freestanding) {
-                if (!@hasDecl(root, start_sym_name)) @export(&_start, .{ .name = start_sym_name });
+            } else switch (native_os) {
+                .other, .freestanding, .@"3ds", .vita => {},
+                else => if (!@hasDecl(root, start_sym_name)) @export(&_start, .{ .name = start_sym_name }),
             }
         }
     }