Hi Joseph, > On Sat, 21 Mar 2020, Lukasz Majewski wrote: > > > > /work/lukma/glibc/glibc-many-build/src/glibc/malloc/memusage.c:181: > > > undefined reference to `__clock_gettime64' > > I.e. __clock_gettime64 is not exported at any symbol version in the > dynamic symbol table of libc.so. > > Any symbol defined in libc.so and used in another glibc shared > library or executable needs to be exported at some symbol version in > some Versions file. In the case of symbols for 64-bit time, it > should be exported at version GLIBC_PRIVATE until we're ready to > support _TIME_BITS=64 in the headers, at which point all such symbols > should be exported at the version of the next glibc release and be > removed from GLIBC_PRIVATE if there. And the penny has dropped. The __clock_gettime64 indeed is not exported in the current glibc. It is exported with my patches for Y2038 support. I will export __clock_gettime64 in this patch series. Big thanks for the explanation. > > > > nm > > > ./work/glibc/glibc-many-build/build/glibcs/arm-linux-gnueabi/glibc/libc.so > > > | grep clock_gettime > > nm uses the static symbol table by default. You need nm -D, objdump > -T (shows symbol versions as well) or readelf --dyn-syms to look at > the dynamic symbol table. > 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