diff options
Diffstat (limited to 'lib/std')
| -rw-r--r-- | lib/std/zig/system.zig | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/std/zig/system.zig b/lib/std/zig/system.zig index c9fe14a1c6..af0986e0b8 100644 --- a/lib/std/zig/system.zig +++ b/lib/std/zig/system.zig @@ -988,9 +988,13 @@ fn detectAbiAndDynamicLinker( // if it finds one, then instead of using /usr/bin/env as the ELF file to examine, it uses the file it references instead, // doing the same logic recursively in case it finds another shebang line. - // Since /usr/bin/env is hard-coded into the shebang line of many portable scripts, it's a - // reasonably reliable path to start with. - var file_name: []const u8 = "/usr/bin/env"; + var file_name: []const u8 = switch (os.tag) { + // Since /usr/bin/env is hard-coded into the shebang line of many portable scripts, it's a + // reasonably reliable path to start with. + else => "/usr/bin/env", + // Haiku does not have a /usr root directory. + .haiku => "/bin/env", + }; // #! (2) + 255 (max length of shebang line since Linux 5.1) + \n (1) var buffer: [258]u8 = undefined; while (true) { |
