fix: rcu instrumentation for CentOS >= 4.18.0-80
[lttng-modules.git] / instrumentation / syscalls / README
... / ...
CommitLineData
1LTTng system call tracing
2
31) lttng-syscall-extractor
4
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.
10
112) Generate system call TRACE_EVENT().
12
13Take the dmesg data and feed it to lttng-syscalls-generate-headers.sh from
14the instrumentation/syscalls directory. See the script header for usage
15example. It should be run for both the integers and pointers types.
16
17After these are created, you just need to follow the new system call additions,
18no need to regenerate the whole thing, since system calls are only appended to.
19
203) Override headers
21
22You need to provide override headers (even if they don't contain
23overrides) for each architecture. Those are meant to contain manual
24overrides for specific system calls for cases where the script do not
25generate the correct typing for specific system calls.
26
274) Integrating the new architecture, updating architecture header
28
29Edit instrumentation/syscalls/headers/syscalls_integers.h and
30syscalls_pointers.h. Add the new architecture
31(e.g. CONFIG_X86_64) to the newly-generated headers
32(e.g. changing the current x86-64-syscalls-3.10.0-rc7_<CLASS>.h into
33x86-64-syscalls-3.13.7_<CLASS>.h), then rebuild lttng-modules.
This page took 0.023594 seconds and 4 git commands to generate.