Fix: lttng modules system call generation script
[lttng-modules.git] / instrumentation / syscalls / README
CommitLineData
5fee13fd
MD
1LTTng system call tracing
2
31) lttng-syscall-extractor
4
deeaaf53
MD
5You need to build a kernel with CONFIG_FTRACE_SYSCALLS=y and
6CONFIG_KALLSYMS_ALL=y for extraction. Apply the linker patch to get your
7kernel to keep the system call metadata after boot. Then build and load
8the LTTng syscall extractor module. The module will fail to load (this
9is expected). See the dmesg output for system call metadata.
5fee13fd
MD
10
112) Generate system call TRACE_EVENT().
12
a40f1fcc
MD
13Take the dmesg metadata and feed it to lttng-syscalls-generate-headers.sh
14(do not include the ending SUCCESS line), e.g., from the
15instrumentation/syscalls directory. See the script header for usage example.
16It should be run for both the integers and pointers types.
5fee13fd
MD
17
18After these are created, we just need to follow the new system call additions,
19no need to regenerate the whole thing, since system calls are only appended to.
a40f1fcc
MD
20
213) Override headers
22
23You need to provide override headers (even if they don't contain
24overrides) for each architecture. Those are meant to contain manual
25overrides for specific system calls for cases where the script do not
26generate the correct typing for specific system calls.
27
284) Integrating the new architecture, updating architecture header
29
30Edit instrumentation/syscalls/headers/syscalls_integers.h and
31syscalls_pointers.h. Add the new architecture
32(e.g. CONFIG_X86_64) to the newly-generated headers
33(e.g. changing the current x86-64-syscalls-3.10.0-rc7_<CLASS>.h into
34x86-64-syscalls-3.13.7_<CLASS>.h), then rebuild lttng-modules.
This page took 0.025602 seconds and 4 git commands to generate.