The following two patches implement https://bugs.lttng.org/issues/474
The first patch provides tracing of dlopen/dlclose calls with the use of an LD_PRELOAD library (liblttng-ust-dl.so) using the following events: ust_baddr:push(void *baddr, const char*sopath, int64_t size, int64_t mtime) ust_baddr:pop(void *baddr) The second patch adds support for tracing the whole state of currently loaded shared objects at session-enable time. The corresponding events are only emitted into the session that got enabled. The following event is used: ust_baddr_statedump (same args as ust_baddr:push) Paul Woegerer (2): Base-address tracing for dlopen and dlclose Implement base-address-state tracing Makefile.am | 2 + configure.ac | 2 + include/Makefile.am | 1 + include/lttng/tracepoint.h | 12 +-- include/lttng/ust-dl.h | 54 ++++++++++++ include/lttng/ust-tracepoint-event.h | 14 +++ liblttng-ust-baddr/Makefile.am | 20 +++++ liblttng-ust-baddr/lttng-ust-baddr.c | 111 ++++++++++++++++++++++++ liblttng-ust-baddr/ust_baddr.c | 20 +++++ liblttng-ust-baddr/ust_baddr.h | 66 ++++++++++++++ liblttng-ust-baddr/ust_baddr_statedump.c | 21 +++++ liblttng-ust-baddr/ust_baddr_statedump.h | 60 +++++++++++++ liblttng-ust-dl/Makefile.am | 17 ++++ liblttng-ust-dl/ustdl.c | 144 +++++++++++++++++++++++++++++++ liblttng-ust/lttng-events.c | 10 +++ liblttng-ust/lttng-tracer-core.h | 2 + liblttng-ust/lttng-ust-comm.c | 52 +++++++++++ 17 files changed, 603 insertions(+), 5 deletions(-) create mode 100644 include/lttng/ust-dl.h create mode 100644 liblttng-ust-baddr/Makefile.am create mode 100644 liblttng-ust-baddr/lttng-ust-baddr.c create mode 100644 liblttng-ust-baddr/ust_baddr.c create mode 100644 liblttng-ust-baddr/ust_baddr.h create mode 100644 liblttng-ust-baddr/ust_baddr_statedump.c create mode 100644 liblttng-ust-baddr/ust_baddr_statedump.h create mode 100644 liblttng-ust-dl/Makefile.am create mode 100644 liblttng-ust-dl/ustdl.c -- 1.8.4.2 _______________________________________________ lttng-dev mailing list [email protected] http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
