#include <lttng/ust-utils.h>
#include <lttng/ust-events.h>
#include <lttng/ust-abi.h>
-#include <lttng/ust.h>
+#include <lttng/ust-fork.h>
#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>
#include "ust-events-internal.h"
#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)
+#include "lttng-counter-client.h"
/*
* Has lttng ust comm constructor been called ?
extern void lttng_ring_buffer_client_discard_rt_exit(void);
extern void lttng_ring_buffer_metadata_client_exit(void);
-__attribute__((visibility("hidden")))
-extern void lttng_counter_client_percpu_32_modular_init(void);
-
-__attribute__((visibility("hidden")))
-extern void lttng_counter_client_percpu_32_modular_exit(void);
-
-__attribute__((visibility("hidden")))
-extern void lttng_counter_client_percpu_64_modular_init(void);
-
-__attribute__((visibility("hidden")))
-extern void lttng_counter_client_percpu_64_modular_exit(void);
-
static char *get_map_shm(struct sock_info *sock_info);
ssize_t lttng_ust_read(int fd, void *buf, size_t len)
return ustcomm_send_reg_msg(socket,
type,
CAA_BITS_PER_LONG,
- lttng_alignof(uint8_t) * CHAR_BIT,
- lttng_alignof(uint16_t) * CHAR_BIT,
- lttng_alignof(uint32_t) * CHAR_BIT,
- lttng_alignof(uint64_t) * CHAR_BIT,
- lttng_alignof(unsigned long) * CHAR_BIT);
+ lttng_ust_rb_alignof(uint8_t) * CHAR_BIT,
+ lttng_ust_rb_alignof(uint16_t) * CHAR_BIT,
+ lttng_ust_rb_alignof(uint32_t) * CHAR_BIT,
+ lttng_ust_rb_alignof(uint64_t) * CHAR_BIT,
+ lttng_ust_rb_alignof(unsigned long) * CHAR_BIT);
}
static
* 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
* 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);
}
/*
* in the middle of an tracepoint or ust tracing state modification.
* Holding this mutex protects these structures across fork and clone.
*/
-void ust_before_fork(sigset_t *save_sigset)
+void lttng_ust_before_fork(sigset_t *save_sigset)
{
/*
* Disable signals. This is to avoid that the child intervenes
}
}
-void ust_after_fork_parent(sigset_t *restore_sigset)
+void lttng_ust_after_fork_parent(sigset_t *restore_sigset)
{
if (URCU_TLS(lttng_ust_nest_count))
return;
* This is meant for forks() that have tracing in the child between the
* fork and following exec call (if there is any).
*/
-void ust_after_fork_child(sigset_t *restore_sigset)
+void lttng_ust_after_fork_child(sigset_t *restore_sigset)
{
if (URCU_TLS(lttng_ust_nest_count))
return;
lttng_ust_init();
}
-void ust_after_setns(void)
+void lttng_ust_after_setns(void)
{
ust_context_ns_reset();
ust_context_vuids_reset();
ust_context_vgids_reset();
}
-void ust_after_unshare(void)
+void lttng_ust_after_unshare(void)
{
ust_context_ns_reset();
ust_context_vuids_reset();
ust_context_vgids_reset();
}
-void ust_after_setuid(void)
+void lttng_ust_after_setuid(void)
{
ust_context_vuids_reset();
}
-void ust_after_seteuid(void)
+void lttng_ust_after_seteuid(void)
{
ust_context_vuids_reset();
}
-void ust_after_setreuid(void)
+void lttng_ust_after_setreuid(void)
{
ust_context_vuids_reset();
}
-void ust_after_setresuid(void)
+void lttng_ust_after_setresuid(void)
{
ust_context_vuids_reset();
}
-void ust_after_setgid(void)
+void lttng_ust_after_setgid(void)
{
ust_context_vgids_reset();
}
-void ust_after_setegid(void)
+void lttng_ust_after_setegid(void)
{
ust_context_vgids_reset();
}
-void ust_after_setregid(void)
+void lttng_ust_after_setregid(void)
{
ust_context_vgids_reset();
}
-void ust_after_setresgid(void)
+void lttng_ust_after_setresgid(void)
{
ust_context_vgids_reset();
}