aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rw-r--r--scripts/tracetool/backend/stderr.py27
1 files changed, 8 insertions, 19 deletions
diff --git a/scripts/tracetool/backend/stderr.py b/scripts/tracetool/backend/stderr.py
index a10fbb8..6f93dbd 100644
--- a/scripts/tracetool/backend/stderr.py
+++ b/scripts/tracetool/backend/stderr.py
@@ -20,40 +20,29 @@ PUBLIC = True
def c(events):
- out('#include "trace.h"',
- '',
- 'TraceEvent trace_list[] = {')
-
- for e in events:
- out('{.tp_name = "%(name)s", .state=0},',
- name = e.name,
- )
-
- out('};')
+ pass
def h(events):
out('#include <stdio.h>',
- '#include "trace/stderr.h"',
+ '#include "trace/control.h"',
'',
- 'extern TraceEvent trace_list[];')
+ )
- for num, e in enumerate(events):
+ for e in events:
argnames = ", ".join(e.args.names())
if len(e.args) > 0:
argnames = ", " + argnames
out('static inline void trace_%(name)s(%(args)s)',
'{',
- ' if (trace_list[%(event_num)s].state != 0) {',
+ ' bool _state = trace_event_get_state(%(event_id)s);',
+ ' if (_state) {',
' fprintf(stderr, "%(name)s " %(fmt)s "\\n" %(argnames)s);',
' }',
'}',
name = e.name,
args = e.args,
- event_num = num,
- fmt = e.fmt,
+ event_id = "TRACE_" + e.name.upper(),
+ fmt = e.fmt.rstrip("\n"),
argnames = argnames,
)
-
- out('',
- '#define NR_TRACE_EVENTS %d' % len(events))