From 9dcdf69f54dccbc46e993a7b67ec46f75737f818 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Tue, 20 Feb 2024 19:18:47 +0200 Subject: add tracepoints generation script --- internal/generated/Makefile | 13 ++++--------- internal/generated/tracepoint_list.go | 19 ++++++++++--------- internal/generated/tracepoints.raku | 15 +++++++++++++++ 3 files changed, 29 insertions(+), 18 deletions(-) create mode 100644 internal/generated/tracepoints.raku diff --git a/internal/generated/Makefile b/internal/generated/Makefile index 960c6a4..2a419a9 100644 --- a/internal/generated/Makefile +++ b/internal/generated/Makefile @@ -1,16 +1,11 @@ all: generate -generate: types tracepoint_list +generate: types tracepoints .PHONY: types types: cat ../c/types.h | raku nqc.raku | tee types/types.go -.PHONY: tracepoint_list -tracepoint_list: - echo 'package generated' > tracepoint_list.go - echo '' >> tracepoint_list.go - echo 'var TracepointList = []string{' >> tracepoint_list.go - sed -n -E '/^SEC.*sys_(enter|exit)_/ { s/[")]//g; s/.*sys_(.*)/\t"\1",/; p; }' \ - ../c/tracepoints/*.c >> tracepoint_list.go - echo '}' >> tracepoint_list.go +.PHONY: tracepoints +tracepoints: + raku tracepoints.raku > tracepoint_list.go diff --git a/internal/generated/tracepoint_list.go b/internal/generated/tracepoint_list.go index f8fbac2..3ac8d10 100644 --- a/internal/generated/tracepoint_list.go +++ b/internal/generated/tracepoint_list.go @@ -1,12 +1,13 @@ package generated -var TracepointList = []string{ - "enter_close", - "exit_close", - "enter_openat", - "exit_openat", - "enter_open", - "exit_open", - "enter_write", - "exit_write", +var tracepointList = []string{ + "enter_close" + "exit_close" + "enter_write" + "exit_write" + "enter_openat" + "exit_openat" + "enter_open" + "exit_open" } + diff --git a/internal/generated/tracepoints.raku b/internal/generated/tracepoints.raku new file mode 100644 index 0000000..82610c8 --- /dev/null +++ b/internal/generated/tracepoints.raku @@ -0,0 +1,15 @@ +#!/usr/bin/env raku + +my @tracepoints = gather { + $/.Str.take + if /^SEC.*sys_$=(<[a..z _]>+)/ for + dir('../c/tracepoints/').map(*.lines).flat; +} + +say qq:to/END/; +package generated + +var tracepointList = []string\{ +\t{@tracepoints.map({ "\"$_\"" }).join("\n\t") } +\} +END -- cgit v1.2.3