Hello, I have recently started to use LTTng-UST and am using LD_PRELOAD to make it possilbe to execute instrumented code on systems without LTTng-UST installed.
To define LD_PRELOAD however affects too much. For instance all forked processes also get the library loaded. This can be fixed by removing the library from the LD_PRELOAD variable early in the main function. This looks odd and required some explaining in comments. Also, in my case, the instrumented program is started with a "wrapper" program which I can not alter. This wrapper also gets the library loaded. As an alternative to using LD_PRELOAD I would like to use an explicit function, like; int traceload(char const* library_path); that is called early in main (instead of the LD_PRELOAD environment manipulation) and loads the library with dlopen if it exists. I have already tried this (of course) and it almost works already. The tracepoints becomes visible but I get no trace data written. So I think a really small modification is needed. Is anything like this planned? Or can anybody give me a hint on what is missing? I checked the mailing list a couple of months back but did not find anything. Best Regards, Lars Ekman _______________________________________________ lttng-dev mailing list [email protected] http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
