/* Reset all macros within TRACEPOINT_EVENT */
#include <lttng/ust-tracepoint-event-reset.h>
-static inline lttng_ust_notrace
-void _TP_COMBINE_TOKENS(__tracepoint_provider_mismatch_, TRACEPOINT_PROVIDER)(void);
+static inline
+void _TP_COMBINE_TOKENS(__tracepoint_provider_mismatch_, TRACEPOINT_PROVIDER)(void)
+ lttng_ust_notrace;
static inline
void _TP_COMBINE_TOKENS(__tracepoint_provider_mismatch_, TRACEPOINT_PROVIDER)(void)
{
#define _TRACEPOINT_EVENT_INSTANCE(_provider, _template, _name, _args) \
__tracepoint_provider_mismatch_##_provider();
-static inline lttng_ust_notrace
-void _TP_COMBINE_TOKENS(__tracepoint_provider_check_, TRACEPOINT_PROVIDER)(void);
+static inline
+void _TP_COMBINE_TOKENS(__tracepoint_provider_check_, TRACEPOINT_PROVIDER)(void)
+ lttng_ust_notrace;
static inline
void _TP_COMBINE_TOKENS(__tracepoint_provider_check_, TRACEPOINT_PROVIDER)(void)
{
#undef _ctf_integer_ext
#define _ctf_integer_ext(_type, _item, _src, _byte_order, _base, _nowrite) \
- __event_len += lttng_ust_lib_ring_buffer_align(__event_len, lttng_alignof(_type)); \
+ __event_len += lttng_ust_lib_ring_buffer_align(__event_len, lttng_ust_rb_alignof(_type)); \
__event_len += sizeof(_type);
#undef _ctf_float
#define _ctf_float(_type, _item, _src, _nowrite) \
- __event_len += lttng_ust_lib_ring_buffer_align(__event_len, lttng_alignof(_type)); \
+ __event_len += lttng_ust_lib_ring_buffer_align(__event_len, lttng_ust_rb_alignof(_type)); \
__event_len += sizeof(_type);
#undef _ctf_array_encoded
#define _ctf_array_encoded(_type, _item, _src, _byte_order, _length, _encoding, \
_nowrite, _elem_type_base) \
- __event_len += lttng_ust_lib_ring_buffer_align(__event_len, lttng_alignof(_type)); \
+ __event_len += lttng_ust_lib_ring_buffer_align(__event_len, lttng_ust_rb_alignof(_type)); \
__event_len += sizeof(_type) * (_length);
#undef _ctf_sequence_encoded
#define _ctf_sequence_encoded(_type, _item, _src, _byte_order, _length_type, \
_src_length, _encoding, _nowrite, _elem_type_base) \
- __event_len += lttng_ust_lib_ring_buffer_align(__event_len, lttng_alignof(_length_type)); \
+ __event_len += lttng_ust_lib_ring_buffer_align(__event_len, lttng_ust_rb_alignof(_length_type)); \
__event_len += sizeof(_length_type); \
- __event_len += lttng_ust_lib_ring_buffer_align(__event_len, lttng_alignof(_type)); \
+ __event_len += lttng_ust_lib_ring_buffer_align(__event_len, lttng_ust_rb_alignof(_type)); \
__dynamic_len[__dynamic_len_idx] = (_src_length); \
__event_len += sizeof(_type) * __dynamic_len[__dynamic_len_idx]; \
__dynamic_len_idx++;
#undef _TRACEPOINT_EVENT_CLASS
#define _TRACEPOINT_EVENT_CLASS(_provider, _name, _args, _fields) \
-static inline lttng_ust_notrace \
-size_t __event_get_size__##_provider##___##_name(size_t *__dynamic_len, _TP_ARGS_DATA_PROTO(_args)); \
+static inline \
+size_t __event_get_size__##_provider##___##_name(size_t *__dynamic_len, _TP_ARGS_DATA_PROTO(_args)) \
+ lttng_ust_notrace; \
static inline \
size_t __event_get_size__##_provider##___##_name(size_t *__dynamic_len, _TP_ARGS_DATA_PROTO(_args)) \
{ \
#undef _ctf_integer_ext
#define _ctf_integer_ext(_type, _item, _src, _byte_order, _base, _nowrite) \
- __event_align = _tp_max_t(size_t, __event_align, lttng_alignof(_type));
+ __event_align = _tp_max_t(size_t, __event_align, lttng_ust_rb_alignof(_type));
#undef _ctf_float
#define _ctf_float(_type, _item, _src, _nowrite) \
- __event_align = _tp_max_t(size_t, __event_align, lttng_alignof(_type));
+ __event_align = _tp_max_t(size_t, __event_align, lttng_ust_rb_alignof(_type));
#undef _ctf_array_encoded
#define _ctf_array_encoded(_type, _item, _src, _byte_order, _length, \
_encoding, _nowrite, _elem_type_base) \
- __event_align = _tp_max_t(size_t, __event_align, lttng_alignof(_type));
+ __event_align = _tp_max_t(size_t, __event_align, lttng_ust_rb_alignof(_type));
#undef _ctf_sequence_encoded
#define _ctf_sequence_encoded(_type, _item, _src, _byte_order, _length_type, \
_src_length, _encoding, _nowrite, _elem_type_base) \
- __event_align = _tp_max_t(size_t, __event_align, lttng_alignof(_length_type)); \
- __event_align = _tp_max_t(size_t, __event_align, lttng_alignof(_type));
+ __event_align = _tp_max_t(size_t, __event_align, lttng_ust_rb_alignof(_length_type)); \
+ __event_align = _tp_max_t(size_t, __event_align, lttng_ust_rb_alignof(_type));
#undef _ctf_string
#define _ctf_string(_item, _src, _nowrite)
#undef _TRACEPOINT_EVENT_CLASS
#define _TRACEPOINT_EVENT_CLASS(_provider, _name, _args, _fields) \
-static inline lttng_ust_notrace \
-size_t __event_get_align__##_provider##___##_name(_TP_ARGS_PROTO(_args)); \
+static inline \
+size_t __event_get_align__##_provider##___##_name(_TP_ARGS_PROTO(_args)) \
+ lttng_ust_notrace; \
static inline \
size_t __event_get_align__##_provider##___##_name(_TP_ARGS_PROTO(_args)) \
{ \
#define _ctf_integer_ext(_type, _item, _src, _byte_order, _base, _nowrite) \
{ \
_type __tmp = (_src); \
- lttng_ust_lib_ring_buffer_align_ctx(&__ctx, lttng_alignof(__tmp));\
- __chan->ops->event_write(&__ctx, &__tmp, sizeof(__tmp));\
+ __chan->ops->event_write(&__ctx, &__tmp, sizeof(__tmp), lttng_ust_rb_alignof(__tmp));\
}
#undef _ctf_float
#define _ctf_float(_type, _item, _src, _nowrite) \
{ \
_type __tmp = (_src); \
- lttng_ust_lib_ring_buffer_align_ctx(&__ctx, lttng_alignof(__tmp));\
- __chan->ops->event_write(&__ctx, &__tmp, sizeof(__tmp));\
+ __chan->ops->event_write(&__ctx, &__tmp, sizeof(__tmp), lttng_ust_rb_alignof(__tmp));\
}
#undef _ctf_array_encoded
#define _ctf_array_encoded(_type, _item, _src, _byte_order, _length, \
_encoding, _nowrite, _elem_type_base) \
- lttng_ust_lib_ring_buffer_align_ctx(&__ctx, lttng_alignof(_type)); \
if (lttng_ust_string_encoding_##_encoding == lttng_ust_string_encoding_none) \
- __chan->ops->event_write(&__ctx, _src, sizeof(_type) * (_length)); \
+ __chan->ops->event_write(&__ctx, _src, sizeof(_type) * (_length), lttng_ust_rb_alignof(_type)); \
else \
__chan->ops->event_pstrcpy_pad(&__ctx, (const char *) (_src), _length); \
_src_length, _encoding, _nowrite, _elem_type_base) \
{ \
_length_type __tmpl = __stackvar.__dynamic_len[__dynamic_len_idx]; \
- lttng_ust_lib_ring_buffer_align_ctx(&__ctx, lttng_alignof(_length_type));\
- __chan->ops->event_write(&__ctx, &__tmpl, sizeof(_length_type));\
+ __chan->ops->event_write(&__ctx, &__tmpl, sizeof(_length_type), lttng_ust_rb_alignof(_length_type));\
} \
- lttng_ust_lib_ring_buffer_align_ctx(&__ctx, lttng_alignof(_type)); \
if (lttng_ust_string_encoding_##_encoding == lttng_ust_string_encoding_none) \
__chan->ops->event_write(&__ctx, _src, \
- sizeof(_type) * __get_dynamic_len(dest)); \
+ sizeof(_type) * __get_dynamic_len(dest), lttng_ust_rb_alignof(_type)); \
else \
__chan->ops->event_pstrcpy_pad(&__ctx, (const char *) (_src), __get_dynamic_len(dest)); \
#undef _ctf_string
-#define _ctf_string(_item, _src, _nowrite) \
+#define _ctf_string(_item, _src, _nowrite) \
{ \
const char *__ctf_tmp_string = \
((_src) ? (_src) : __LTTNG_UST_NULL_STRING); \
- lttng_ust_lib_ring_buffer_align_ctx(&__ctx, \
- lttng_alignof(*__ctf_tmp_string)); \
__chan->ops->event_strcpy(&__ctx, __ctf_tmp_string, \
__get_dynamic_len(dest)); \
}
*/
#undef _TRACEPOINT_EVENT_CLASS
#define _TRACEPOINT_EVENT_CLASS(_provider, _name, _args, _fields) \
-static lttng_ust_notrace \
-void __event_probe__##_provider##___##_name(_TP_ARGS_DATA_PROTO(_args)); \
+static \
+void __event_probe__##_provider##___##_name(_TP_ARGS_DATA_PROTO(_args)) \
+ lttng_ust_notrace; \
static \
void __event_probe__##_provider##___##_name(_TP_ARGS_DATA_PROTO(_args)) \
{ \
struct lttng_ust_event_recorder *__event_recorder = (struct lttng_ust_event_recorder *) __event->child; \
struct lttng_ust_channel_buffer *__chan = __event_recorder->chan; \
struct lttng_ust_lib_ring_buffer_ctx __ctx; \
- struct lttng_ust_stack_ctx __lttng_ctx; \
\
__event_len = __event_get_size__##_provider##___##_name(__stackvar.__dynamic_len, \
_TP_ARGS_DATA_VAR(_args)); \
__event_align = __event_get_align__##_provider##___##_name(_TP_ARGS_VAR(_args)); \
- memset(&__lttng_ctx, 0, sizeof(__lttng_ctx)); \
- __lttng_ctx.struct_size = sizeof(struct lttng_ust_stack_ctx); \
- __lttng_ctx.event_recorder = __event_recorder; \
- lttng_ust_lib_ring_buffer_ctx_init(&__ctx, NULL, &__lttng_ctx, __event_len, __event_align); \
- __ctx.ip = _TP_IP_PARAM(TP_IP_PARAM); \
- __ret = __chan->ops->event_reserve(&__ctx, __event_recorder->id); \
+ lttng_ust_lib_ring_buffer_ctx_init(&__ctx, __event_recorder, __event_len, __event_align, \
+ _TP_IP_PARAM(TP_IP_PARAM)); \
+ __ret = __chan->ops->event_reserve(&__ctx); \
if (__ret < 0) \
return; \
_fields \
/* Reset all macros within TRACEPOINT_EVENT */
#include <lttng/ust-tracepoint-event-reset.h>
-static void lttng_ust_notrace __attribute__((constructor))
-_TP_COMBINE_TOKENS(__lttng_events_init__, TRACEPOINT_PROVIDER)(void);
+static void
+_TP_COMBINE_TOKENS(__lttng_events_init__, TRACEPOINT_PROVIDER)(void)
+ lttng_ust_notrace __attribute__((constructor));
static void
_TP_COMBINE_TOKENS(__lttng_events_init__, TRACEPOINT_PROVIDER)(void)
{
}
}
-static void lttng_ust_notrace __attribute__((destructor))
-_TP_COMBINE_TOKENS(__lttng_events_exit__, TRACEPOINT_PROVIDER)(void);
+static void
+_TP_COMBINE_TOKENS(__lttng_events_exit__, TRACEPOINT_PROVIDER)(void)
+ lttng_ust_notrace __attribute__((destructor));
static void
_TP_COMBINE_TOKENS(__lttng_events_exit__, TRACEPOINT_PROVIDER)(void)
{