| ... | ... | @@ -1544,32 +1544,6 @@ pub fn execveZ( |
| 1544 | 1544 | child_argv: [*:null]const ?[*:0]const u8, |
| 1545 | 1545 | envp: [*:null]const ?[*:0]const u8, |
| 1546 | 1546 | ) ExecveError { |
| 1547 | | if (comptime builtin.target.isDarwin()) { |
| 1548 | | // Darwin gets its own branch because it has BADEXEC and BADARCH |
| 1549 | | // which are beyond posix. |
| 1550 | | switch (errno(system.execve(path, child_argv, envp))) { |
| 1551 | | .SUCCESS => unreachable, |
| 1552 | | .FAULT => unreachable, |
| 1553 | | .@"2BIG" => return error.SystemResources, |
| 1554 | | .MFILE => return error.ProcessFdQuotaExceeded, |
| 1555 | | .NAMETOOLONG => return error.NameTooLong, |
| 1556 | | .NFILE => return error.SystemFdQuotaExceeded, |
| 1557 | | .NOMEM => return error.SystemResources, |
| 1558 | | .ACCES => return error.AccessDenied, |
| 1559 | | .PERM => return error.AccessDenied, |
| 1560 | | .INVAL => return error.InvalidExe, |
| 1561 | | .NOEXEC => return error.InvalidExe, |
| 1562 | | .BADEXEC => return error.InvalidExe, |
| 1563 | | .BADARCH => return error.InvalidExe, |
| 1564 | | .IO => return error.FileSystem, |
| 1565 | | .LOOP => return error.FileSystem, |
| 1566 | | .ISDIR => return error.IsDir, |
| 1567 | | .NOENT => return error.FileNotFound, |
| 1568 | | .NOTDIR => return error.NotDir, |
| 1569 | | .TXTBSY => return error.FileBusy, |
| 1570 | | else => |err| return unexpectedErrno(err), |
| 1571 | | } |
| 1572 | | } |
| 1573 | 1547 | switch (errno(system.execve(path, child_argv, envp))) { |
| 1574 | 1548 | .SUCCESS => unreachable, |
| 1575 | 1549 | .FAULT => unreachable, |
| ... | ... | @@ -1588,7 +1562,18 @@ pub fn execveZ( |
| 1588 | 1562 | .NOENT => return error.FileNotFound, |
| 1589 | 1563 | .NOTDIR => return error.NotDir, |
| 1590 | 1564 | .TXTBSY => return error.FileBusy, |
| 1591 | | else => |err| return unexpectedErrno(err), |
| 1565 | else => |err| switch (builtin.os.tag) { |
| 1566 | .macos, .ios, .tvos, .watchos => switch (err) { |
| 1567 | .BADEXEC => return error.InvalidExe, |
| 1568 | .BADARCH => return error.InvalidExe, |
| 1569 | else => return unexpectedErrno(err), |
| 1570 | }, |
| 1571 | .linux, .solaris => switch (err) { |
| 1572 | .LIBBAD => return error.InvalidExe, |
| 1573 | else => return unexpectedErrno(err), |
| 1574 | }, |
| 1575 | else => return unexpectedErrno(err), |
| 1576 | }, |
| 1592 | 1577 | } |
| 1593 | 1578 | } |
| 1594 | 1579 | |