Move event descriptions and enabled state into sections
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Fri, 21 Oct 2022 18:50:21 +0000 (14:50 -0400)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Fri, 21 Oct 2022 18:50:21 +0000 (14:50 -0400)
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
include/side/trace.h

index e3a53a343fd9dbec57e9e2e5d0986c6edc6f4826..39da9a345def923d6f3e8ffe005ad55e0687f789 100644 (file)
@@ -956,10 +956,10 @@ struct side_tracer_dynamic_vla_visitor_ctx {
        }
 
 #define _side_define_event(_identifier, _provider, _event, _loglevel, _fields, _attr, _flags) \
-       uint32_t _identifier##_enabled; \
+       uint32_t _identifier##_enabled __attribute__((section("side_event_enable"))); \
        const struct side_event_description _identifier = { \
                .version = 0, \
-               .enabled = &_identifier##_enabled, \
+               .enabled = &(_identifier##_enabled), \
                .loglevel = _loglevel, \
                .nr_fields = SIDE_ARRAY_SIZE(SIDE_PARAM(_fields)), \
                .nr_attr = SIDE_ARRAY_SIZE(SIDE_PARAM(_attr)), \
@@ -968,7 +968,9 @@ struct side_tracer_dynamic_vla_visitor_ctx {
                .event_name = _event, \
                .fields = _fields, \
                .attr = _attr, \
-       }
+       }; \
+       const struct side_event_description *_identifier##_ptr \
+               __attribute__((section("side_event_description"), used)) = &(_identifier);
 
 #define side_define_event(_identifier, _provider, _event, _loglevel, _fields, _attr) \
        _side_define_event(_identifier, _provider, _event, _loglevel, SIDE_PARAM(_fields), \
This page took 0.024471 seconds and 4 git commands to generate.