fix: Add missing 'pselect6_time32' and 'ppoll_time32' syscall overrides
[lttng-modules.git] / tools / 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
b03cf820
MJ
13Take the dmesg data and feed it to lttng-syscalls-generate-headers.sh from the
14tools/syscalls directory. See the script header for usage example. It should be
15run for both the integers and pointers types.
5fee13fd 16
e709527c 17After these are created, you just need to follow the new system call additions,
5fee13fd 18no need to regenerate the whole thing, since system calls are only appended to.
94f9e233
MD
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
b03cf820
MJ
29Edit instrumentation/syscalls/syscalls_integers.h and
30instrumentation/syscalls/syscalls_pointers.h. Add the new architecture (e.g.
31CONFIG_X86_64) to the newly-generated headers (e.g. changing the current
32x86-64-syscalls_<CLASS>.h into x86-64-syscalls_<CLASS>.h), then rebuild
33lttng-modules.
This page took 0.054036 seconds and 4 git commands to generate.