Fix: lttng modules system call generation script
[lttng-modules.git] / instrumentation / syscalls / README
index 4b857994be64e1547072872b36c6ccaf453d81b5..a2a66fa038ae48ce0d43f82a1d1c8701aa06c289 100644 (file)
@@ -2,17 +2,33 @@ 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:
-
-sh lttng-syscalls-generate-headers.sh 3.0.4 x86-64-syscalls-3.0.4
+Take the dmesg metadata and feed it to lttng-syscalls-generate-headers.sh
+(do not include the ending SUCCESS line), e.g., from the
+instrumentation/syscalls directory. See the script header for usage example.
+It should be run for both the integers and pointers types.
 
 After these are created, we 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.023582 seconds and 4 git commands to generate.