- const char *signature);
-extern int tracepoint_probe_unregister_noupdate(const char *name,
- void (*callback)(void), void *priv);
-extern void tracepoint_probe_update_all(void);
-extern int __tracepoint_probe_register_queue_release(const char *name,
+ const char *signature)
+ __attribute__((visibility("hidden")));
+
+int tracepoint_probe_unregister_noupdate(const char *name,
+ void (*callback)(void), void *priv)
+ __attribute__((visibility("hidden")));
+
+void tracepoint_probe_update_all(void)
+ __attribute__((visibility("hidden")));
+
+
+void *lttng_ust_tp_check_weak_hidden1(void)
+ __attribute__((visibility("hidden")));
+
+void *lttng_ust_tp_check_weak_hidden2(void)
+ __attribute__((visibility("hidden")));
+
+void *lttng_ust_tp_check_weak_hidden3(void)
+ __attribute__((visibility("hidden")));
+
+/*
+ * These symbols are ABI between liblttng-ust-tracepoint and liblttng-ust,
+ * which is why they are not hidden and not part of the public API.
+ */
+int lttng_ust_tp_probe_register_queue_release(const char *name,