projects
/
lttng-ust.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix: Reevaluate LTTNG_UST_TRACEPOINT_DEFINE each time tracepoint.h is included
[lttng-ust.git]
/
include
/
lttng
/
tracepoint.h
diff --git
a/include/lttng/tracepoint.h
b/include/lttng/tracepoint.h
index 1cf02188f37f78eafb1f61a32b56e99f748b697e..8886e900a0511738895b1c9048e294dc6fc26f55 100644
(file)
--- a/
include/lttng/tracepoint.h
+++ b/
include/lttng/tracepoint.h
@@
-333,7
+333,7
@@
__tracepoint__init_urcu_sym(void)
}
#endif
}
#endif
-static void lttng_ust_notrace __attribute__((constructor))
+static void lttng_ust_notrace __attribute__((constructor
(LTTNG_UST_CONSTRUCTOR_PRIO)
))
__tracepoints__init(void);
static void
__tracepoints__init(void)
__tracepoints__init(void);
static void
__tracepoints__init(void)
@@
-355,7
+355,7
@@
__tracepoints__init(void)
__tracepoint__init_urcu_sym();
}
__tracepoint__init_urcu_sym();
}
-static void lttng_ust_notrace __attribute__((destructor))
+static void lttng_ust_notrace __attribute__((destructor
(LTTNG_UST_CONSTRUCTOR_PRIO)
))
__tracepoints__destroy(void);
static void
__tracepoints__destroy(void)
__tracepoints__destroy(void);
static void
__tracepoints__destroy(void)
@@
-405,8
+405,23
@@
__tracepoints__destroy(void)
memset(tracepoint_dlopen_ptr, 0, sizeof(*tracepoint_dlopen_ptr));
}
memset(tracepoint_dlopen_ptr, 0, sizeof(*tracepoint_dlopen_ptr));
}
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _LTTNG_TRACEPOINT_H */
+
+/* The following declarations must be outside re-inclusion protection. */
+
#ifdef TRACEPOINT_DEFINE
#ifdef TRACEPOINT_DEFINE
+#ifndef _LTTNG_UST_TRACEPOINT_DEFINE_ONCE
+#define _LTTNG_UST_TRACEPOINT_DEFINE_ONCE
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/*
* These weak symbols, the constructor, and destructor take care of
* registering only _one_ instance of the tracepoints per shared-ojbect
/*
* These weak symbols, the constructor, and destructor take care of
* registering only _one_ instance of the tracepoints per shared-ojbect
@@
-439,6
+454,7
@@
extern struct lttng_ust_tracepoint * const __stop___tracepoints_ptrs[]
*/
#define _TP_EXTRACT_STRING(...) #__VA_ARGS__
*/
#define _TP_EXTRACT_STRING(...) #__VA_ARGS__
+#undef _DEFINE_TRACEPOINT
#define _DEFINE_TRACEPOINT(_provider, _name, _args) \
extern int __tracepoint_provider_##_provider; \
static const char __tp_strtab_##_provider##___##_name[] \
#define _DEFINE_TRACEPOINT(_provider, _name, _args) \
extern int __tracepoint_provider_##_provider; \
static const char __tp_strtab_##_provider##___##_name[] \
@@
-460,7
+476,7
@@
extern struct lttng_ust_tracepoint * const __stop___tracepoints_ptrs[]
__lttng_ust_variable_attribute_no_sanitize_address = \
&__tracepoint_##_provider##___##_name;
__lttng_ust_variable_attribute_no_sanitize_address = \
&__tracepoint_##_provider##___##_name;
-static void lttng_ust_notrace __attribute__((constructor))
+static void lttng_ust_notrace __attribute__((constructor
(LTTNG_UST_CONSTRUCTOR_PRIO)
))
__tracepoints__ptrs_init(void);
static void
__tracepoints__ptrs_init(void)
__tracepoints__ptrs_init(void);
static void
__tracepoints__ptrs_init(void)
@@
-504,7
+520,7
@@
__tracepoints__ptrs_init(void)
}
}
}
}
-static void lttng_ust_notrace __attribute__((destructor))
+static void lttng_ust_notrace __attribute__((destructor
(LTTNG_UST_CONSTRUCTOR_PRIO)
))
__tracepoints__ptrs_destroy(void);
static void
__tracepoints__ptrs_destroy(void)
__tracepoints__ptrs_destroy(void);
static void
__tracepoints__ptrs_destroy(void)
@@
-532,19
+548,18
@@
__tracepoints__ptrs_destroy(void)
}
}
}
}
-#else /* TRACEPOINT_DEFINE */
-
-#define _DEFINE_TRACEPOINT(_provider, _name, _args)
-
-#endif /* #else TRACEPOINT_DEFINE */
-
#ifdef __cplusplus
}
#endif
#ifdef __cplusplus
}
#endif
-#endif /* _LTTNG_
TRACEPOINT_H
*/
+#endif /* _LTTNG_
UST_TRACEPOINT_DEFINE_ONCE
*/
-/* The following declarations must be outside re-inclusion protection. */
+#else /* TRACEPOINT_DEFINE */
+
+#undef _DEFINE_TRACEPOINT
+#define _DEFINE_TRACEPOINT(_provider, _name, _args)
+
+#endif /* #else TRACEPOINT_DEFINE */
#ifndef TRACEPOINT_ENUM
#ifndef TRACEPOINT_ENUM
This page took
0.024801 seconds
and
4
git commands to generate.