From 5539ecc8f6ab0a597e5125ff6a16d1a39017417f Mon Sep 17 00:00:00 2001 From: Lars Persson Date: Tue, 8 Sep 2015 15:20:15 +0200 Subject: [PATCH] Fix: Move pipe override to the arch specific pointers_override.h 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 Signed-off-by: Mathieu Desnoyers --- .../headers/arm-32-syscalls-3.4.25_pointers_override.h | 9 +++++++++ .../powerpc-32-syscalls-3.0.34_pointers_override.h | 9 +++++++++ .../syscalls/headers/syscalls_pointers_override.h | 10 ---------- .../x86-32-syscalls-3.1.0-rc6_pointers_override.h | 10 ++++++++++ .../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 d515e1d0..b27eedbc 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 b9e83bc4..1fd3ec45 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 a552908e..c9478f44 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 05c8e217..7c804a67 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 af519cd6..702cfb5d 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.34.1