[lttng-dev] lttng-modules master build failure with ARM kernels

Nathan Lynch Nathan_Lynch at mentor.com
Tue Oct 14 12:59:05 EDT 2014


Bisect says that

  commit 644d6e9c2807041db2b4fd9c3350d4fa243060b1
  Remove sys_ prefix from syscall names

broke the build for ARM kernels (I've tried 3.16 and 3.17):

  CC [M]  /home/nathanl/src/lttng-modules.git/lttng-syscalls.o
/home/nathanl/src/lttng-modules.git/lttng-syscalls.c:281:11: error: ‘__event_probe__syscall_entry_sys_mmap’ undeclared here (not in a function)
   .func = __event_probe__syscall_entry_##_template, \
           ^

... with similar errors for __event_probe__syscall_entry_sys_execve
and __event_probe__syscall_entry_sys_clone.

The following minimal patch gets the build to succeed.  I assume all
sys_ prefixes should be removed from instrumentation/syscalls/headers/arm-32-*?

(and powerpc, and mips?)


diff --git a/instrumentation/syscalls/headers/arm-32-syscalls-3.4.25_integers_override.h b/instrumentation/syscalls/headers/arm-32-syscalls-3.4.25_integers_override.h
index b4a713899085..852e5eed9f67 100644
--- a/instrumentation/syscalls/headers/arm-32-syscalls-3.4.25_integers_override.h
+++ b/instrumentation/syscalls/headers/arm-32-syscalls-3.4.25_integers_override.h
@@ -39,8 +39,8 @@ SC_LTTNG_TRACEPOINT_EVENT(sys_sync_file_range2,
 
 #else	/* CREATE_SYSCALL_TABLE */
 
-#define OVERRIDE_TABLE_32_sys_mmap
-TRACE_SYSCALL_TABLE(sys_mmap, sys_mmap, 90, 6)
+#define OVERRIDE_TABLE_32_mmap
+TRACE_SYSCALL_TABLE(mmap, mmap, 90, 6)
 
 #define OVERRIDE_TABLE_32_sys_arm_fadvise64_64
 TRACE_SYSCALL_TABLE(sys_arm_fadvise64_64, sys_arm_fadvise64_64, 270, 4)
diff --git a/instrumentation/syscalls/headers/arm-32-syscalls-3.4.25_pointers_override.h b/instrumentation/syscalls/headers/arm-32-syscalls-3.4.25_pointers_override.h
index e5846df88dae..d34482f3a99a 100644
--- a/instrumentation/syscalls/headers/arm-32-syscalls-3.4.25_pointers_override.h
+++ b/instrumentation/syscalls/headers/arm-32-syscalls-3.4.25_pointers_override.h
@@ -27,10 +27,10 @@ SC_LTTNG_TRACEPOINT_EVENT(sys_mmap2,
 
 #else	/* CREATE_SYSCALL_TABLE */
 
-#define OVERRIDE_TABLE_32_sys_execve
-TRACE_SYSCALL_TABLE(sys_execve, sys_execve, 11, 3)
+#define OVERRIDE_TABLE_32_execve
+TRACE_SYSCALL_TABLE(execve, execve, 11, 3)
 #define OVERRIDE_TABLE_32_sys_clone
-TRACE_SYSCALL_TABLE(sys_clone, sys_clone, 120, 5)
+TRACE_SYSCALL_TABLE(clone, clone, 120, 5)
 #define OVERRIDE_TABLE_32_sys_mmap2
 TRACE_SYSCALL_TABLE(sys_mmap2, sys_mmap2, 192, 6)
 



More information about the lttng-dev mailing list