Hi Florian, > * Lukasz Majewski: > > > However, I've checked how it looks on the installed glibc: > > root@y2038arm:/opt# nm /opt/lib/libc.so.6 | grep clock_gettime > > > > 000702bc t __GI___clock_gettime > > 00070264 t __GI___clock_gettime64 > > 000702bc T __clock_gettime > > 00070264 T __clock_gettime64 > > 000702bc t __clock_gettime_2 > > 000702bc T clock_gettime@@GLIBC_2.17 > > 000702bc T clock_gettime@GLIBC_2.4 > > > > In the installed glibc the __clock_gettime64 is an external symbol. > > > > All exported glibc symbols are versioned. Chances are that nm does > not look at the dynamic symbol table at all, so its output is > misleading. I usually use eu-readelf --symbols=.dynsym instead. It seems like nm is correct here. The output of installed libc.so: root@y2038arm:/opt# readelf --symbols /opt/lib/libc.so.6 | grep clock_gettime 846: 000702bd 64 FUNC GLOBAL DEFAULT 12 __clock_gettime@@GLIBC_PRIVATE 1515: 00070265 88 FUNC GLOBAL DEFAULT 12 __clock_gettime64@@GLIBC_PRIVATE 1751: 000702bd 64 FUNC GLOBAL DEFAULT 12 clock_gettime@GLIBC_2.4 1755: 000702bd 64 FUNC GLOBAL DEFAULT 12 clock_gettime@@GLIBC_2.17 3830: 00000000 0 FILE LOCAL DEFAULT ABS clock_gettime.c 10342: 000702bd 64 FUNC LOCAL DEFAULT 12 __clock_gettime_2 10624: 00070265 88 FUNC LOCAL DEFAULT 12 __GI___clock_gettime64 11251: 000702bd 64 FUNC LOCAL DEFAULT 12 __GI___clock_gettime 11893: 000702bd 64 FUNC GLOBAL DEFAULT 12 __clock_gettime 11966: 000702bd 64 FUNC GLOBAL DEFAULT 12 clock_gettime@GLIBC_2.4 12166: 00070265 88 FUNC GLOBAL DEFAULT 12 __clock_gettime64 13749: 000702bd 64 FUNC GLOBAL DEFAULT 12 clock_gettime@@GLIBC_2.17 The one when libmemusage.so is linked: readelf --symbols glibc/glibc-many-build/build/glibcs/arm-linux-gnueabi/glibc/libc.so | grep clock_gettime 834: 0009a8e0 100 FUNC GLOBAL DEFAULT 11 __clock_gettime@@GLIBC_PRIVATE 1729: 0009a8e0 100 FUNC GLOBAL DEFAULT 11 clock_gettime@GLIBC_2.4 1733: 0009a8e0 100 FUNC GLOBAL DEFAULT 11 clock_gettime@@GLIBC_2.17 3658: 00000000 0 FILE LOCAL DEFAULT ABS clock_gettime.c 9435: 0009a774 364 FUNC LOCAL DEFAULT 11 __clock_gettime64 10187: 0009a8e0 100 FUNC LOCAL DEFAULT 11 __clock_gettime_2 10478: 0009a774 364 FUNC LOCAL DEFAULT 11 __GI___clock_gettime64 11124: 0009a8e0 100 FUNC LOCAL DEFAULT 11 __GI___clock_gettime 11729: 0009a8e0 100 FUNC GLOBAL DEFAULT 11 __clock_gettime 11802: 0009a8e0 100 FUNC GLOBAL DEFAULT 11 clock_gettime@GLIBC_2.4 13564: 0009a8e0 100 FUNC GLOBAL DEFAULT 11 clock_gettime@@GLIBC_2.17 The results are the same -> __clock_gettime64 is GLOBAL on installed glibc and LOCAL when linking libmemusage.so. Best regards, Lukasz Majewski -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma@denx.de