summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
45bf1e5)
In a follow-up patch which updates the instrumentation for arm32, the
instrumentation of the old_sigaction() syscall would fail to build when
targeting a 64-bit kernel.
In that context, old_sigaction becomes compat_old_sigaction which is a
syscall that can be disabled (it was superseded by rt_sigaction a long
time ago).
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: I3d9e155f7943cc4b768e13ebd25b671e46df9659
#ifndef CREATE_SYSCALL_TABLE
#ifndef CREATE_SYSCALL_TABLE
+#ifdef CONFIG_ARM64
+#ifdef CONFIG_COMPAT_OLD_SIGACTION
+/*
+ * From the point of view of the 64-bit ABI, old_sigaction
+ * becomes compat_old_sigaction.
+ */
+#define old_sigaction compat_old_sigaction
+#else /* CONFIG_COMPAT_OLD_SIGACTION */
+/*
+ * The target 64-bit kernel does not enable the support for
+ * the 32-bit compat version of OLD_SIGACTION. Defining
+ * OVERRIDE_32_sigaction ensures we don't build a tracepoint
+ * for this syscall.
+ */
+#define OVERRIDE_32_sigaction
+#endif /* CONFIG_COMPAT_OLD_SIGACTION */
+#endif
+
#define OVERRIDE_32_pipe
SC_LTTNG_TRACEPOINT_EVENT(pipe,
TP_PROTO(sc_exit(long ret,) int * fildes),
#define OVERRIDE_32_pipe
SC_LTTNG_TRACEPOINT_EVENT(pipe,
TP_PROTO(sc_exit(long ret,) int * fildes),