Currently we just assume a particular GLIBC version for some versioned functions:
|
hook = (hook_t)dlvsym(RTLD_NEXT, "pthread_cond_signal", "GLIBC_2.3.2"); |
Supporting this properly is possible, as described in this (fantastically useful) blog post: https://blog.fesnel.com/blog/2009/08/25/preloading-with-multiple-symbol-versions/
I'm hoping there might be a simpler way. It seems like we ought to be able to inspect our own process to find out the version string to pass to dlvsym.
Currently we just assume a particular GLIBC version for some versioned functions:
pthread_trace/pthread_trace.cc
Line 479 in 3c319da
Supporting this properly is possible, as described in this (fantastically useful) blog post: https://blog.fesnel.com/blog/2009/08/25/preloading-with-multiple-symbol-versions/
I'm hoping there might be a simpler way. It seems like we ought to be able to inspect our own process to find out the version string to pass to dlvsym.