Cleanup: Remove deprecated TODO file
[lttng-modules.git] / instrumentation / syscalls / README
index 4b857994be64e1547072872b36c6ccaf453d81b5..6dbc640ecac8081763327c0e2ae6fa524df266f0 100644 (file)
@@ -2,17 +2,32 @@ LTTng system call tracing
 
 1) lttng-syscall-extractor
 
-You need to build a kernel with CONFIG_FTRACE_SYSCALLS=y for extraction. Apply
-the linker patch to get your kernel to keep the system call metadata after boot.
-Then build and load the LTTng syscall extractor module. The module will fail to
-load (this is expected). See the dmesg output for system call metadata.
+You need to build a kernel with CONFIG_FTRACE_SYSCALLS=y and
+CONFIG_KALLSYMS_ALL=y for extraction. Apply the linker patch to get your
+kernel to keep the system call metadata after boot.  Then build and load
+the LTTng syscall extractor module. The module will fail to load (this
+is expected). See the dmesg output for system call metadata.
 
 2) Generate system call TRACE_EVENT().
 
-Take the dmesg metadata and feed it to lttng-syscalls-generate-headers.sh, e.g.,
-from the instrumentation/syscalls directory:
+Take the dmesg data and feed it to lttng-syscalls-generate-headers.sh from
+the instrumentation/syscalls directory. See the script header for usage
+example. It should be run for both the integers and pointers types.
 
-sh lttng-syscalls-generate-headers.sh 3.0.4 x86-64-syscalls-3.0.4
-
-After these are created, we just need to follow the new system call additions,
+After these are created, you just need to follow the new system call additions,
 no need to regenerate the whole thing, since system calls are only appended to.
+
+3) Override headers
+
+You need to provide override headers (even if they don't contain
+overrides) for each architecture. Those are meant to contain manual
+overrides for specific system calls for cases where the script do not
+generate the correct typing for specific system calls.
+
+4) Integrating the new architecture, updating architecture header
+
+Edit instrumentation/syscalls/headers/syscalls_integers.h and
+syscalls_pointers.h. Add the new architecture
+(e.g. CONFIG_X86_64) to the newly-generated headers
+(e.g. changing the current x86-64-syscalls-3.10.0-rc7_<CLASS>.h into
+x86-64-syscalls-3.13.7_<CLASS>.h), then rebuild lttng-modules.
This page took 0.024536 seconds and 4 git commands to generate.