authorgravatar for michael.dusan@gmail.comMichael Dusan <michael.dusan@gmail.com> 2023-08-15 17:20:05-04:00
committergravatar for michael.dusan@gmail.comMichael Dusan <michael.dusan@gmail.com> 2023-08-15 17:29:35-04:00
logc685b675e547f61c81c5fb63159bc12b26405100
tree7e66d80fa84be3641d508c1e31a0645611947927
parent3eedaab731d9a31ed1039dddc9eb52d8d7002c55
signaturelock-open Commit is signed but in an unrecognized format.

std.debug: avoid os.getFdPath

Commit ea9917d9bd921f9fc14028a8dbf9e3f0f2579120 introduced usage of fs.Dir.realpath which eventually calls os.getFdpath which is forbidden to be used by the compiler. It causes building zig to fail on OpenBsd, NetBSD and older versions of FreeBSD and DragonFly. This patch substitutes with os.realpath on libc targets and eventually calls c.realpath and allows zig to build. Any use of realpath is not desired but this is the lesser evil.

1 files changed, 1 insertions(+), 1 deletions(-)

lib/std/debug.zig+1-1
......@@ -1228,7 +1228,7 @@ pub fn readElfDebugInfo(
12281228 }
12291229
12301230 var cwd_buf: [fs.MAX_PATH_BYTES]u8 = undefined;
1231 const cwd_path = fs.cwd().realpath("", &cwd_buf) catch break :blk;
1231 const cwd_path = os.realpath(".", &cwd_buf) catch break :blk;
12321232
12331233 // <global debug directory>/<absolute folder of current binary>/<gnu_debuglink>
12341234 for (global_debug_directories) |global_directory| {