__vdso_clock_gettime is a fast version of clock_gettime that lives in the Linux VDSO (linux-vdso.so.1 on amd64), which is a dummy library that is part of the kernel (and mapped by the kernel into every process's address space). Thus, ld will never be able to look it up, since it doesn't exist outside of the kernel binary.

This bug will only manifest itself on architectures that have the VDSO, which (TTBOMK) are i386 and amd64.

There are two ways around this: either don't link statically, or create a weak symbol for __vdso_clock_gettime. I have not tested the latter, and so I am not sure if it would work. Either way, I am of the opinion that this is a glibc bug, and so it should probably be reassigned there.

--
brian m. carlson / brian with sandals: Houston, Texas, US
+1 713 440 7475 | http://crustytoothpaste.ath.cx/~bmc | My opinion only
a typesetting engine: http://crustytoothpaste.ath.cx/~bmc/code/thwack
OpenPGP: RSA v4 4096b 88AC E9B2 9196 305B A994 7552 F1BA 225C 0223 B187

Attachment: signature.asc
Description: Digital signature

Reply via email to