From: Rich Felker Date: Sun, 24 Jul 2011 05:10:01 +0000 (-0400) Subject: workaround for gcc's optimizer breaking dynamic symbol resolution X-Git-Tag: v0.8.0~86 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=e91c375fd027a485bd7415afbaf059d429e11e11;p=oweals%2Fmusl.git workaround for gcc's optimizer breaking dynamic symbol resolution --- diff --git a/src/time/clock_gettime.c b/src/time/clock_gettime.c index bb977e28..9fef54a4 100644 --- a/src/time/clock_gettime.c +++ b/src/time/clock_gettime.c @@ -5,7 +5,7 @@ #include "libc.h" int __vdso_clock_gettime(clockid_t, struct timespec *) __attribute__((weak)); -static int (*const cgt)(clockid_t, struct timespec *) = __vdso_clock_gettime; +static int (*cgt)(clockid_t, struct timespec *) = __vdso_clock_gettime; int __clock_gettime(clockid_t clk, struct timespec *ts) { @@ -14,6 +14,7 @@ int __clock_gettime(clockid_t clk, struct timespec *ts) r = __syscall(SYS_clock_gettime, clk, ts); if (!r) return r; if (r == -ENOSYS) { + cgt = 0; if (clk == CLOCK_REALTIME) { __syscall(SYS_gettimeofday, clk, ts, 0); ts->tv_nsec = (int)ts->tv_nsec * 1000;