diff --git a/lib/std/os/linux.zig b/lib/std/os/linux.zig index 4e1dd8cda3b51142e2c33d7333710224069ecc8c..90091ac574ee8857f8af2f65da85881d0326e38b 100644 --- a/lib/std/os/linux.zig +++ b/lib/std/os/linux.zig @@ -1397,7 +1397,7 @@ const VdsoClockGettime = *align(1) const fn (clockid_t, *timespec) callconv(.C) var vdso_clock_gettime: ?VdsoClockGettime = &init_vdso_clock_gettime; pub fn clock_gettime(clk_id: clockid_t, tp: *timespec) usize { - if (@hasDecl(VDSO, "CGT_SYM")) { + if (VDSO != void) { const ptr = @atomicLoad(?VdsoClockGettime, &vdso_clock_gettime, .unordered); if (ptr) |f| { const rc = f(clk_id, tp); diff --git a/lib/std/os/linux/mips.zig b/lib/std/os/linux/mips.zig index abf047e838bb64caa3fb188e09fb24dcec3e459a..853df45fce73810cd28a255b4573abf930c97009 100644 --- a/lib/std/os/linux/mips.zig +++ b/lib/std/os/linux/mips.zig @@ -242,8 +242,8 @@ pub const F = struct { pub const MMAP2_UNIT = 4096; pub const VDSO = struct { - pub const CGT_SYM = "__kernel_clock_gettime"; - pub const CGT_VER = "LINUX_2.6.39"; + pub const CGT_SYM = "__vdso_clock_gettime"; + pub const CGT_VER = "LINUX_2.6"; }; pub const Flock = extern struct { diff --git a/lib/std/os/linux/mips64.zig b/lib/std/os/linux/mips64.zig index 9be0f41c4f25d9298f40e440f63d26a31fab4194..5089ba6fd3916d0509069a7e03a30b7a0f46db53 100644 --- a/lib/std/os/linux/mips64.zig +++ b/lib/std/os/linux/mips64.zig @@ -227,8 +227,8 @@ pub const F = struct { pub const MMAP2_UNIT = 4096; pub const VDSO = struct { - pub const CGT_SYM = "__kernel_clock_gettime"; - pub const CGT_VER = "LINUX_2.6.39"; + pub const CGT_SYM = "__vdso_clock_gettime"; + pub const CGT_VER = "LINUX_2.6"; }; pub const Flock = extern struct { diff --git a/lib/std/os/linux/riscv32.zig b/lib/std/os/linux/riscv32.zig index 219eb5cc191e6f352a0d21a17c26c795f67e8b9d..b8023c5d5c7bfe5f9371883e05341f79020511ab 100644 --- a/lib/std/os/linux/riscv32.zig +++ b/lib/std/os/linux/riscv32.zig @@ -188,7 +188,10 @@ pub const Elf_Symndx = u32; pub const MMAP2_UNIT = 4096; -pub const VDSO = struct {}; +pub const VDSO = struct { + pub const CGT_SYM = "__vdso_clock_gettime"; + pub const CGT_VER = "LINUX_4.15"; +}; /// TODO pub const ucontext_t = void; diff --git a/lib/std/os/linux/riscv64.zig b/lib/std/os/linux/riscv64.zig index fc0893d5c15408dd2b22eb72bc77bd9ee01d9799..8c3c8fe289115cce1a27461923bd950295ed16bc 100644 --- a/lib/std/os/linux/riscv64.zig +++ b/lib/std/os/linux/riscv64.zig @@ -215,7 +215,10 @@ pub const Stat = extern struct { pub const Elf_Symndx = u32; -pub const VDSO = struct {}; +pub const VDSO = struct { + pub const CGT_SYM = "__vdso_clock_gettime"; + pub const CGT_VER = "LINUX_4.15"; +}; /// TODO pub const ucontext_t = void;