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.
This commit is contained in:
GasInfinity 2025-10-18 19:23:19 +02:00 committed by Alex Rønne Petersen
parent 6bf5b7f2b4
commit 1bca158c6e
2 changed files with 4 additions and 3 deletions

View File

@ -481,7 +481,7 @@ pub fn defaultPanic(
if (use_trap_panic) @trap();
switch (builtin.os.tag) {
.freestanding, .other => {
.freestanding, .other, .@"3ds", .vita => {
@trap();
},
.uefi => {

View File

@ -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 }),
}
}
}