X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=src%2Flib%2Flttng-ust%2Flttng-ust-statedump.c;h=bd95c0432e4ca4616dac6bab1f735222305d9a17;hb=c246521ddcba1d1d28cfa0482aa500b9122e7264;hp=6d166cf08cf02e0f592ec5d6ab9f6ea6081bc2cf;hpb=638ce920ec31c143db2c3f64a6571584adede895;p=lttng-ust.git diff --git a/src/lib/lttng-ust/lttng-ust-statedump.c b/src/lib/lttng-ust/lttng-ust-statedump.c index 6d166cf0..bd95c043 100644 --- a/src/lib/lttng-ust/lttng-ust-statedump.c +++ b/src/lib/lttng-ust/lttng-ust-statedump.c @@ -24,6 +24,9 @@ #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. */ @@ -60,7 +63,7 @@ struct lttng_ust_dl_node { #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); @@ -420,10 +423,10 @@ void iter_end(struct dl_iterate_data *data, void *ip) */ 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); @@ -551,10 +554,10 @@ void lttng_ust_dl_update(void *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;