diff options
| author | LemonBoy <thatlemon@gmail.com> | 2020-04-01 10:00:37 +0000 |
|---|---|---|
| committer | LemonBoy <thatlemon@gmail.com> | 2020-04-01 12:23:18 +0200 |
| commit | 4209ab90a8a9922bcc407e12b0e58b827a179a91 (patch) | |
| tree | 6ac13422bc623d261d90ef1a64ab70375dc2538e /lib/std/os.zig | |
| parent | 070ace4b22810116f7816eeccbc1ce600be5b2a2 (diff) | |
| download | zig-4209ab90a8a9922bcc407e12b0e58b827a179a91.tar.gz zig-4209ab90a8a9922bcc407e12b0e58b827a179a91.zip | |
std: Use the versioned libc symbols if needed
Many symbols on NetBSD and some on OSX require the definition of an
alias.
Diffstat (limited to 'lib/std/os.zig')
| -rw-r--r-- | lib/std/os.zig | 30 |
1 files changed, 4 insertions, 26 deletions
diff --git a/lib/std/os.zig b/lib/std/os.zig index 48d82797bd..467badca95 100644 --- a/lib/std/os.zig +++ b/lib/std/os.zig @@ -2553,14 +2553,7 @@ pub const FStatError = error{ pub fn fstat(fd: fd_t) FStatError!Stat { var stat: Stat = undefined; - const symbol_name = if (comptime std.Target.current.isDarwin()) - "fstat$INODE64" - else if (std.Target.current.os.tag == .netbsd) - "__fstat50" - else - "fstat"; - - switch (errno(@field(system, symbol_name)(fd, &stat))) { + switch (errno(system.fstat(fd, &stat))) { 0 => return stat, EINVAL => unreachable, EBADF => unreachable, // Always a race condition. @@ -3427,12 +3420,7 @@ pub fn clock_gettime(clk_id: i32, tp: *timespec) ClockGetTimeError!void { return; } - const symbol_name = if (std.Target.current.os.tag == .netbsd) - "__clock_gettime50" - else - "clock_gettime"; - - switch (errno(@field(system, symbol_name)(clk_id, tp))) { + switch (errno(system.clock_gettime(clk_id, tp))) { 0 => return, EFAULT => unreachable, EINVAL => return error.UnsupportedClock, @@ -3454,12 +3442,7 @@ pub fn clock_getres(clk_id: i32, res: *timespec) ClockGetTimeError!void { return; } - const symbol_name = if (std.Target.current.os.tag == .netbsd) - "__clock_getres50" - else - "clock_getres"; - - switch (errno(@field(system, symbol_name)(clk_id, res))) { + switch (errno(system.clock_getres(clk_id, res))) { 0 => return, EFAULT => unreachable, EINVAL => return error.UnsupportedClock, @@ -3525,12 +3508,7 @@ pub const SigaltstackError = error{ } || UnexpectedError; pub fn sigaltstack(ss: ?*stack_t, old_ss: ?*stack_t) SigaltstackError!void { - const symbol_name = if (std.Target.current.os.tag == .netbsd) - "__sigaltstack14" - else - "sigaltstack"; - - switch (errno(@field(system, symbol_name)(ss, old_ss))) { + switch (errno(system.sigaltstack(ss, old_ss))) { 0 => return, EFAULT => unreachable, EINVAL => unreachable, |
