#include "common/getenv.h"
#include "lib/lttng-ust/events.h"
+#define LTTNG_UST_TRACEPOINT_HIDDEN_DEFINITION
+#define LTTNG_UST_TRACEPOINT_PROVIDER_HIDDEN_DEFINITION
+
#define LTTNG_UST_TRACEPOINT_DEFINE
#include "ust_lib.h" /* Only define. */
-#define TRACEPOINT_CREATE_PROBES
-#define TP_SESSION_CHECK
+#define LTTNG_UST_TRACEPOINT_CREATE_PROBES
+#define LTTNG_UST_TP_SESSION_CHECK
#include "lttng-ust-statedump-provider.h" /* Define and create probes. */
struct dl_iterate_data {
#define UST_DL_STATE_HASH_BITS 8
#define UST_DL_STATE_TABLE_SIZE (1 << UST_DL_STATE_HASH_BITS)
-struct cds_hlist_head dl_state_table[UST_DL_STATE_TABLE_SIZE];
+static struct cds_hlist_head dl_state_table[UST_DL_STATE_TABLE_SIZE];
typedef void (*tracepoint_cb)(struct lttng_ust_session *session, void *priv);
*/
for (i = 0; i < UST_DL_STATE_TABLE_SIZE; i++) {
struct cds_hlist_head *head;
- struct lttng_ust_dl_node *e;
+ struct lttng_ust_dl_node *e, *tmp;
head = &dl_state_table[i];
- cds_hlist_for_each_entry_2(e, head, node) {
+ cds_hlist_for_each_entry_safe_2(e, tmp, head, node) {
if (e->marked) {
if (!e->traced) {
trace_lib_load(&e->bin_data, ip);
return;
/*
- * Fixup lttng-ust TLS when called from dlopen/dlclose
- * instrumentation.
+ * Force the allocation of lttng-ust TLS variables when called from
+ * dlopen/dlclose instrumentation.
*/
- lttng_ust_fixup_tls();
+ lttng_ust_common_init_thread(0);
data.exec_found = 0;
data.first = true;
{
lttng_ust__tracepoints__init();
lttng_ust__tracepoints__ptrs_init();
- __lttng_ust_events_init__lttng_ust_statedump();
+ lttng_ust__events_init__lttng_ust_statedump();
lttng_ust_dl_update(LTTNG_UST_CALLER_IP());
}
void lttng_ust_statedump_destroy(void)
{
- __lttng_ust_events_exit__lttng_ust_statedump();
+ lttng_ust__events_exit__lttng_ust_statedump();
lttng_ust__tracepoints__ptrs_destroy();
lttng_ust__tracepoints__destroy();
ust_dl_state_destroy();