[lttng-dev] [PATCH lttng-modules] Move pipe override to the arch specific pointers_override.h

Lars Persson lars.persson at axis.com
Tue Sep 8 09:20:15 EDT 2015


The MIPS architecture has a non-standard calling convention for pipe()
and cannot use the provided override for the pipe event.

Signed-off-by: Lars Persson <larper at axis.com>
---
 .../headers/arm-32-syscalls-3.4.25_pointers_override.h         |  9 +++++++++
 .../headers/powerpc-32-syscalls-3.0.34_pointers_override.h     |  9 +++++++++
 instrumentation/syscalls/headers/syscalls_pointers_override.h  | 10 ----------
 .../headers/x86-32-syscalls-3.1.0-rc6_pointers_override.h      | 10 ++++++++++
 .../headers/x86-64-syscalls-3.10.0-rc7_pointers_override.h     |  9 +++++++++
 5 files changed, 37 insertions(+), 10 deletions(-)

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 d515e1d..b27eedb 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
@@ -18,6 +18,15 @@ SC_LTTNG_TRACEPOINT_EVENT(mmap2,
 	)
 )
 
+#define OVERRIDE_32_pipe
+SC_LTTNG_TRACEPOINT_EVENT(pipe,
+	TP_PROTO(sc_exit(long ret,) int * fildes),
+	TP_ARGS(sc_exit(ret,) fildes),
+	TP_FIELDS(sc_exit(ctf_integer(long, ret, ret))
+		sc_out(ctf_user_array(int, fildes, fildes, 2))
+	)
+)
+
 #else	/* CREATE_SYSCALL_TABLE */
 
 #define OVERRIDE_TABLE_32_execve
diff --git a/instrumentation/syscalls/headers/powerpc-32-syscalls-3.0.34_pointers_override.h b/instrumentation/syscalls/headers/powerpc-32-syscalls-3.0.34_pointers_override.h
index b9e83bc..1fd3ec4 100644
--- a/instrumentation/syscalls/headers/powerpc-32-syscalls-3.0.34_pointers_override.h
+++ b/instrumentation/syscalls/headers/powerpc-32-syscalls-3.0.34_pointers_override.h
@@ -16,6 +16,15 @@ SC_LTTNG_TRACEPOINT_EVENT(mmap2,
 	)
 )
 
+#define OVERRIDE_32_pipe
+SC_LTTNG_TRACEPOINT_EVENT(pipe,
+	TP_PROTO(sc_exit(long ret,) int * fildes),
+	TP_ARGS(sc_exit(ret,) fildes),
+	TP_FIELDS(sc_exit(ctf_integer(long, ret, ret))
+		sc_out(ctf_user_array(int, fildes, fildes, 2))
+	)
+)
+
 #else	/* CREATE_SYSCALL_TABLE */
 
 #define OVERRIDE_TABLE_32_execve
diff --git a/instrumentation/syscalls/headers/syscalls_pointers_override.h b/instrumentation/syscalls/headers/syscalls_pointers_override.h
index a552908..c9478f4 100644
--- a/instrumentation/syscalls/headers/syscalls_pointers_override.h
+++ b/instrumentation/syscalls/headers/syscalls_pointers_override.h
@@ -41,16 +41,6 @@ SC_LTTNG_TRACEPOINT_EVENT(getcpu,
 	)
 )
 
-#define OVERRIDE_32_pipe
-#define OVERRIDE_64_pipe
-SC_LTTNG_TRACEPOINT_EVENT(pipe,
-	TP_PROTO(sc_exit(long ret,) int * fildes),
-	TP_ARGS(sc_exit(ret,) fildes),
-	TP_FIELDS(sc_exit(ctf_integer(long, ret, ret))
-		sc_out(ctf_user_array(int, fildes, fildes, 2))
-	)
-)
-
 #define OVERRIDE_32_pipe2
 #define OVERRIDE_64_pipe2
 SC_LTTNG_TRACEPOINT_EVENT(pipe2,
diff --git a/instrumentation/syscalls/headers/x86-32-syscalls-3.1.0-rc6_pointers_override.h b/instrumentation/syscalls/headers/x86-32-syscalls-3.1.0-rc6_pointers_override.h
index 05c8e21..7c804a6 100644
--- a/instrumentation/syscalls/headers/x86-32-syscalls-3.1.0-rc6_pointers_override.h
+++ b/instrumentation/syscalls/headers/x86-32-syscalls-3.1.0-rc6_pointers_override.h
@@ -10,6 +10,16 @@
 #  define OVERRIDE_32_chown16
 # endif
 
+#define OVERRIDE_32_pipe
+#define OVERRIDE_64_pipe
+SC_LTTNG_TRACEPOINT_EVENT(pipe,
+    TP_PROTO(sc_exit(long ret,) int * fildes),
+    TP_ARGS(sc_exit(ret,) fildes),
+    TP_FIELDS(sc_exit(ctf_integer(long, ret, ret))
+        sc_out(ctf_user_array(int, fildes, fildes, 2))
+    )
+)
+
 #else	/* CREATE_SYSCALL_TABLE */
 
 # ifndef CONFIG_UID16
diff --git a/instrumentation/syscalls/headers/x86-64-syscalls-3.10.0-rc7_pointers_override.h b/instrumentation/syscalls/headers/x86-64-syscalls-3.10.0-rc7_pointers_override.h
index af519cd..702cfb5 100644
--- a/instrumentation/syscalls/headers/x86-64-syscalls-3.10.0-rc7_pointers_override.h
+++ b/instrumentation/syscalls/headers/x86-64-syscalls-3.10.0-rc7_pointers_override.h
@@ -106,6 +106,15 @@ SC_LTTNG_TRACEPOINT_EVENT_CODE(accept,
 	)
 )
 
+#define OVERRIDE_64_pipe
+SC_LTTNG_TRACEPOINT_EVENT(pipe,
+	TP_PROTO(sc_exit(long ret,) int * fildes),
+	TP_ARGS(sc_exit(ret,) fildes),
+	TP_FIELDS(sc_exit(ctf_integer(long, ret, ret))
+		sc_out(ctf_user_array(int, fildes, fildes, 2))
+	)
+)
+
 #else	/* CREATE_SYSCALL_TABLE */
 
 #define OVERRIDE_TABLE_64_clone
-- 
2.1.4




More information about the lttng-dev mailing list