#endif
static void
-__tracepoints__init(void)
+lttng_ust__tracepoints__init(void)
lttng_ust_notrace __attribute__((constructor));
static void
-__tracepoints__init(void)
+lttng_ust__tracepoints__init(void)
{
if (lttng_ust_tracepoint_registered++) {
if (!lttng_ust_tracepoint_dlopen_ptr->liblttngust_handle)
}
static void
-__tracepoints__destroy(void)
+lttng_ust__tracepoints__destroy(void)
lttng_ust_notrace __attribute__((destructor));
static void
-__tracepoints__destroy(void)
+lttng_ust__tracepoints__destroy(void)
{
int ret;
* registering only _one_ instance of the tracepoints per shared-ojbect
* (or for the whole main program).
*/
-extern struct lttng_ust_tracepoint * const __start___tracepoints_ptrs[]
+extern struct lttng_ust_tracepoint * const __start_lttng_ust_tracepoints_ptrs[]
__attribute__((weak, visibility("hidden")));
-extern struct lttng_ust_tracepoint * const __stop___tracepoints_ptrs[]
+extern struct lttng_ust_tracepoint * const __stop_lttng_ust_tracepoints_ptrs[]
__attribute__((weak, visibility("hidden")));
/*
- * When TRACEPOINT_PROBE_DYNAMIC_LINKAGE is defined, we do not emit a
+ * When LTTNG_UST_TRACEPOINT_PROBE_DYNAMIC_LINKAGE is defined, we do not emit a
* unresolved symbol that requires the provider to be linked in. When
- * TRACEPOINT_PROBE_DYNAMIC_LINKAGE is not defined, we emit an
+ * LTTNG_UST_TRACEPOINT_PROBE_DYNAMIC_LINKAGE is not defined, we emit an
* unresolved symbol that depends on having the provider linked in,
* otherwise the linker complains. This deals with use of static
* libraries, ensuring that the linker does not remove the provider
* object from the executable.
*/
-#ifdef TRACEPOINT_PROBE_DYNAMIC_LINKAGE
-#define _TRACEPOINT_UNDEFINED_REF(provider) NULL
-#else /* TRACEPOINT_PROBE_DYNAMIC_LINKAGE */
-#define _TRACEPOINT_UNDEFINED_REF(provider) <tng_ust_tracepoint_provider_##provider
-#endif /* TRACEPOINT_PROBE_DYNAMIC_LINKAGE */
+
+#if LTTNG_UST_COMPAT_API(0)
+# if defined(TRACEPOINT_PROBE_DYNAMIC_LINKAGE) && !defined(LTTNG_UST_TRACEPOINT_PROBE_DYNAMIC_LINKAGE)
+# define LTTNG_UST_TRACEPOINT_PROBE_DYNAMIC_LINKAGE
+# endif
+#endif /* #if LTTNG_UST_COMPAT_API(0) */
+
+#ifdef LTTNG_UST_TRACEPOINT_PROBE_DYNAMIC_LINKAGE
+#define LTTNG_UST__TRACEPOINT_UNDEFINED_REF(provider) NULL
+#else /* LTTNG_UST_TRACEPOINT_PROBE_DYNAMIC_LINKAGE */
+#define LTTNG_UST__TRACEPOINT_UNDEFINED_REF(provider) <tng_ust_tracepoint_provider_##provider
+#endif /* LTTNG_UST_TRACEPOINT_PROBE_DYNAMIC_LINKAGE */
/*
* Note: to allow PIC code, we need to allow the linker to update the pointers
- * in the __tracepoints_ptrs section.
+ * in the lttng_ust_tracepoints_ptrs section.
* Therefore, this section is _not_ const (read-only).
*/
-#define _TP_EXTRACT_STRING(...) #__VA_ARGS__
+#define LTTNG_UST__TP_EXTRACT_STRING(...) #__VA_ARGS__
#define LTTNG_UST__DEFINE_TRACEPOINT(_provider, _name, _args) \
lttng_ust_tracepoint_validate_name_len(_provider, _name); \
extern int lttng_ust_tracepoint_provider_##_provider; \
static const char __tp_provider_strtab_##_provider##___##_name[] \
- __attribute__((section("__tracepoints_strings"))) = \
+ __attribute__((section("lttng_ust_tracepoints_strings"))) = \
#_provider; \
static const char __tp_name_strtab_##_provider##___##_name[] \
- __attribute__((section("__tracepoints_strings"))) = \
+ __attribute__((section("lttng_ust_tracepoints_strings"))) = \
#_name; \
struct lttng_ust_tracepoint lttng_ust_tracepoint_##_provider##___##_name \
- __attribute__((section("__tracepoints"))) = { \
+ __attribute__((section("lttng_ust_tracepoints"))) = { \
sizeof(struct lttng_ust_tracepoint), \
__tp_provider_strtab_##_provider##___##_name, \
__tp_name_strtab_##_provider##___##_name, \
0, \
NULL, \
- _TRACEPOINT_UNDEFINED_REF(_provider), \
- _TP_EXTRACT_STRING(_args), \
+ LTTNG_UST__TRACEPOINT_UNDEFINED_REF(_provider), \
+ LTTNG_UST__TP_EXTRACT_STRING(_args), \
}; \
static struct lttng_ust_tracepoint * \
lttng_ust_tracepoint_ptr_##_provider##___##_name \
- __attribute__((section("__tracepoints_ptrs"), used)) \
+ __attribute__((section("lttng_ust_tracepoints_ptrs"), used)) \
__lttng_ust_variable_attribute_no_sanitize_address = \
<tng_ust_tracepoint_##_provider##___##_name;
static void
-__tracepoints__ptrs_init(void)
+lttng_ust__tracepoints__ptrs_init(void)
lttng_ust_notrace __attribute__((constructor));
static void
-__tracepoints__ptrs_init(void)
+lttng_ust__tracepoints__ptrs_init(void)
{
if (lttng_ust_tracepoint_ptrs_registered++)
return;
"tp_get_destructors_state"));
lttng_ust_tracepoint__init_urcu_sym();
if (lttng_ust_tracepoint_dlopen_ptr->tracepoint_register_lib) {
- lttng_ust_tracepoint_dlopen_ptr->tracepoint_register_lib(__start___tracepoints_ptrs,
- __stop___tracepoints_ptrs -
- __start___tracepoints_ptrs);
+ lttng_ust_tracepoint_dlopen_ptr->tracepoint_register_lib(__start_lttng_ust_tracepoints_ptrs,
+ __stop_lttng_ust_tracepoints_ptrs -
+ __start_lttng_ust_tracepoints_ptrs);
}
}
static void
-__tracepoints__ptrs_destroy(void)
+lttng_ust__tracepoints__ptrs_destroy(void)
lttng_ust_notrace __attribute__((destructor));
static void
-__tracepoints__ptrs_destroy(void)
+lttng_ust__tracepoints__ptrs_destroy(void)
{
int ret;
if (!lttng_ust_tracepoint_destructors_syms_ptr)
lttng_ust_tracepoint_destructors_syms_ptr = <tng_ust_tracepoint_destructors_syms;
if (lttng_ust_tracepoint_dlopen_ptr->tracepoint_unregister_lib)
- lttng_ust_tracepoint_dlopen_ptr->tracepoint_unregister_lib(__start___tracepoints_ptrs);
+ lttng_ust_tracepoint_dlopen_ptr->tracepoint_unregister_lib(__start_lttng_ust_tracepoints_ptrs);
if (lttng_ust_tracepoint_dlopen_ptr->liblttngust_handle
&& lttng_ust_tracepoint_destructors_syms_ptr->tracepoint_get_destructors_state
&& lttng_ust_tracepoint_destructors_syms_ptr->tracepoint_get_destructors_state()