Introduce SONAME defines
authorMichael Jeanson <mjeanson@efficios.com>
Thu, 18 Mar 2021 20:50:27 +0000 (16:50 -0400)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mon, 29 Mar 2021 17:59:34 +0000 (13:59 -0400)
Folowing the refactor of the autotools code, the major soname number of each
library is now available as a define in 'lttng/ust-version.h'. Use them
instead of literal value that have to be synchronized manually.

Change-Id: I7d777d32c2a710708c1ac2546111458c281fce13
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
include/lttng/tracepoint.h
include/lttng/ust-tracer.h
liblttng-ust/lttng-ust-comm.c

index 71f3e36c856af7ddffdddf23e5e8e57cc23e82fc..a8ee06beb459e8400e462ac1a97b677ff175d3f5 100644 (file)
 #include <urcu/system.h>
 #include <dlfcn.h>     /* for dlopen */
 #include <string.h>    /* for memset */
+
 #include <lttng/ust-config.h>  /* for sdt */
 #include <lttng/ust-compiler.h>
+#include <lttng/ust-tracer.h>
 
 #ifdef LTTNG_UST_HAVE_SDT_INTEGRATION
 /*
@@ -359,7 +361,7 @@ __tracepoints__init(void)
                tracepoint_dlopen_ptr = &tracepoint_dlopen;
        if (!tracepoint_dlopen_ptr->liblttngust_handle)
                tracepoint_dlopen_ptr->liblttngust_handle =
-                       dlopen("liblttng-ust-tracepoint.so.1", RTLD_NOW | RTLD_GLOBAL);
+                       dlopen(LTTNG_UST_TRACEPOINT_LIB_SONAME, RTLD_NOW | RTLD_GLOBAL);
        if (!tracepoint_dlopen_ptr->liblttngust_handle)
                return;
        __tracepoint__init_urcu_sym();
@@ -467,7 +469,7 @@ __tracepoints__ptrs_init(void)
                tracepoint_dlopen_ptr = &tracepoint_dlopen;
        if (!tracepoint_dlopen_ptr->liblttngust_handle)
                tracepoint_dlopen_ptr->liblttngust_handle =
-                       dlopen("liblttng-ust-tracepoint.so.1", RTLD_NOW | RTLD_GLOBAL);
+                       dlopen(LTTNG_UST_TRACEPOINT_LIB_SONAME, RTLD_NOW | RTLD_GLOBAL);
        if (!tracepoint_dlopen_ptr->liblttngust_handle)
                return;
        if (!tracepoint_destructors_syms_ptr)
index 3a771e9b135c48aec798a18082d1203779580ec9..4b12be184481cc5501622e2bbc97f2cf4a31a8c4 100644 (file)
 #define lttng_alignof(type)    1
 #endif
 
+/*
+ * Concatenate lttng ust shared libraries name with their major version number.
+ */
+#define LTTNG_UST_LIB_SONAME "liblttng-ust.so." lttng_ust_stringify(LTTNG_UST_LIB_SONAME_MAJOR)
+#define LTTNG_UST_TRACEPOINT_LIB_SONAME "liblttng-ust-tracepoint.so." lttng_ust_stringify(LTTNG_UST_LIB_SONAME_MAJOR)
+#define LTTNG_UST_CTL_LIB_SONAME "liblttng-ust-ctl.so." lttng_ust_stringify(LTTNG_UST_CTL_LIB_SONAME_MAJOR)
+
+
 #endif /* _LTTNG_UST_TRACER_H */
index 3ace61fcc9ec075f114d7196946bb9ad97ed43d6..be7dc9f1e6b4db4395f1f75ebc5d28567643263e 100644 (file)
@@ -36,6 +36,7 @@
 #include <lttng/ust-error.h>
 #include <lttng/ust-ctl.h>
 #include <lttng/ust-libc-wrapper.h>
+#include <lttng/ust-tracer.h>
 #include <urcu/tls-compat.h>
 #include <ust-comm.h>
 #include <ust-fd.h>
@@ -53,9 +54,6 @@
 #include "context-internal.h"
 #include "ust-compat.h"
 
-/* Concatenate lttng ust shared library name with its major version number. */
-#define LTTNG_UST_LIB_SO_NAME "liblttng-ust.so." lttng_ust_stringify(CONFIG_LTTNG_UST_LIBRARY_VERSION_MAJOR)
-
 /*
  * Has lttng ust comm constructor been called ?
  */
@@ -2093,7 +2091,7 @@ void __attribute__((constructor)) lttng_ust_init(void)
         * liblttng-ust.so to increment the dynamic loader's internal refcount for
         * this library so it never becomes zero, thus never gets unloaded from the
         * address space of the process. Since we are already running in the
-        * constructor of the LTTNG_UST_LIB_SO_NAME library, calling dlopen will
+        * constructor of the LTTNG_UST_LIB_SONAME library, calling dlopen will
         * simply increment the refcount and no additionnal work is needed by the
         * dynamic loader as the shared library is already loaded in the address
         * space. As a safe guard, we use the RTLD_NODELETE flag to prevent
@@ -2101,9 +2099,9 @@ void __attribute__((constructor)) lttng_ust_init(void)
         * never happen). Do the return value check but discard the handle at the
         * end of the function as it's not needed.
         */
-       handle = dlopen(LTTNG_UST_LIB_SO_NAME, RTLD_LAZY | RTLD_NODELETE);
+       handle = dlopen(LTTNG_UST_LIB_SONAME, RTLD_LAZY | RTLD_NODELETE);
        if (!handle) {
-               ERR("dlopen of liblttng-ust shared library (%s).", LTTNG_UST_LIB_SO_NAME);
+               ERR("dlopen of liblttng-ust shared library (%s).", LTTNG_UST_LIB_SONAME);
        }
 
        /*
This page took 0.029303 seconds and 4 git commands to generate.