yann@1625: we kind of screwed ourselves into a corner by having the clock symbols yann@1625: exported only with the glibc-2.0 version ... this patch fixes the yann@1625: export so all new binaries built against librt will use the correct yann@1625: glibc-2.2 symbol version yann@1625: yann@1625: one day, we'll just drop this on the floor (maybe after 2006.1) yann@1625: yann@1625: diff -durN glibc-2.10.1.orig/Versions.def glibc-2.10.1/Versions.def yann@1625: --- glibc-2.10.1.orig/Versions.def 2008-12-03 05:19:06.000000000 +0100 yann@1625: +++ glibc-2.10.1/Versions.def 2009-11-13 00:51:27.000000000 +0100 yann@1625: @@ -98,6 +98,7 @@ yann@1625: GLIBC_PRIVATE yann@1625: } yann@1625: librt { yann@1625: + GLIBC_2.0 yann@1625: GLIBC_2.1 yann@1625: GLIBC_2.2 yann@1625: GLIBC_2.3 yann@1625: diff -durN glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/mips/Versions glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/mips/Versions yann@1625: --- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/mips/Versions 2009-05-16 10:36:20.000000000 +0200 yann@1625: +++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/unix/sysv/linux/mips/Versions 2009-11-13 00:51:27.000000000 +0100 yann@1625: @@ -35,3 +35,9 @@ yann@1625: _test_and_set; yann@1625: } yann@1625: } yann@1625: +librt { yann@1625: + GLIBC_2.0 { yann@1625: + # c* yann@1625: + clock_gettime; clock_settime; yann@1625: + } yann@1625: +} yann@1625: diff -durN glibc-2.10.1.orig/ports/sysdeps/unix/sysv/linux/mips/Versions glibc-2.10.1/ports/sysdeps/unix/sysv/linux/mips/Versions yann@1625: diff -durN glibc-2.10.1.orig/sysdeps/unix/clock_gettime.c glibc-2.10.1/sysdeps/unix/clock_gettime.c yann@1625: --- glibc-2.10.1.orig/sysdeps/unix/clock_gettime.c 2007-07-28 22:36:04.000000000 +0200 yann@1625: +++ glibc-2.10.1/sysdeps/unix/clock_gettime.c 2009-11-13 00:51:27.000000000 +0100 yann@1625: @@ -23,6 +23,7 @@ yann@1625: #include yann@1625: #include yann@1625: #include yann@1625: +#include yann@1625: yann@1625: yann@1625: #if HP_TIMING_AVAIL yann@1625: @@ -90,7 +91,7 @@ yann@1625: yann@1625: /* Get current value of CLOCK and store it in TP. */ yann@1625: int yann@1625: -clock_gettime (clockid_t clock_id, struct timespec *tp) yann@1625: +__clock_gettime (clockid_t clock_id, struct timespec *tp) yann@1625: { yann@1625: int retval = -1; yann@1625: yann@1625: @@ -133,4 +134,10 @@ yann@1625: yann@1625: return retval; yann@1625: } yann@1625: -librt_hidden_def (clock_gettime) yann@1625: +versioned_symbol (librt, __clock_gettime, clock_gettime, GLIBC_2_2); yann@1625: +librt_hidden_ver (__clock_gettime, clock_gettime) yann@1625: + yann@1625: +#if defined __mips__ && defined SHARED yann@1625: +strong_alias (__clock_gettime, __mips_clock_gettime) yann@1625: +compat_symbol (librt, __mips_clock_gettime, clock_gettime, GLIBC_2_0); yann@1625: +#endif yann@1625: diff -durN glibc-2.10.1.orig/sysdeps/unix/clock_settime.c glibc-2.10.1/sysdeps/unix/clock_settime.c yann@1625: --- glibc-2.10.1.orig/sysdeps/unix/clock_settime.c 2007-08-14 05:19:33.000000000 +0200 yann@1625: +++ glibc-2.10.1/sysdeps/unix/clock_settime.c 2009-11-13 00:51:27.000000000 +0100 yann@1625: @@ -21,6 +21,7 @@ yann@1625: #include yann@1625: #include yann@1625: #include yann@1625: +#include yann@1625: yann@1625: yann@1625: #if HP_TIMING_AVAIL && !defined HANDLED_CPUTIME yann@1625: @@ -73,7 +74,7 @@ yann@1625: yann@1625: /* Set CLOCK to value TP. */ yann@1625: int yann@1625: -clock_settime (clockid_t clock_id, const struct timespec *tp) yann@1625: +__clock_settime (clockid_t clock_id, const struct timespec *tp) yann@1625: { yann@1625: int retval; yann@1625: yann@1625: @@ -125,3 +126,9 @@ yann@1625: yann@1625: return retval; yann@1625: } yann@1625: +versioned_symbol (librt, __clock_settime, clock_settime, GLIBC_2_2); yann@1625: + yann@1625: +#if defined __mips__ && defined SHARED yann@1625: +strong_alias (__clock_settime, __mips_clock_settime) yann@1625: +compat_symbol (librt, __mips_clock_settime, clock_settime, GLIBC_2_0); yann@1625: +#endif