Make lttng-ust aware of shared object base addresses
Using the glibc function dl_iterate_phdr we are able to iterate the currently opened shared objects from within the traced exe.
This allows us to resolve:
- Tracepoint call site address to specific line number in the sources (if the tp was emitted from a shared object).
- Compute the absolute vaddress to install uprobes in shared objects.
To also record any changes of the currently opened shared objects during the application runtime we could use the existing ld-audit interface.
(we would need to implement the hooks la_objopen() and la_objclose() to keep informed about shared object loading and unloading)