---- strace-4.5.11/signal.c 2005-02-02 05:16:54.000000000 +0100
-+++ strace-4.5.11.new/signal.c 2006-11-14 15:33:54.000000000 +0100
-@@ -1422,7 +1422,11 @@
+diff -urN strace-4.5.14/signal.c strace-4.5.14.new/signal.c
+--- strace-4.5.14/signal.c 2006-01-12 23:34:50.000000000 +0100
++++ strace-4.5.14.new/signal.c 2006-11-14 18:25:18.000000000 +0100
+@@ -66,7 +66,7 @@
+
+
+ #ifdef LINUX
+-
++#include <linux/version.h>
+ #ifdef IA64
+ # include <asm/ptrace_offsets.h>
+ #endif /* !IA64 */
+@@ -1420,7 +1420,11 @@
if (umove(tcp, sp, &sc) < 0)
return 0;
tcp->u_arg[0] = 1;
-+#ifdef LINUX_2_4
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0)
tcp->u_arg[1] = sc.sc_sigset;
+#else
+ tcp->u_arg[1] = sc.sc_hi2;
} else {
tcp->u_rval = tcp->u_error = 0;
if(tcp->u_arg[0] == 0)
+diff -urN strace-4.5.14/system.c strace-4.5.14.new/system.c
+--- strace-4.5.14/system.c 2006-01-12 22:21:06.000000000 +0100
++++ strace-4.5.14.new/system.c 2006-11-14 17:39:30.000000000 +0100
+@@ -78,6 +78,7 @@
+ #endif
+
+ #include <linux/sysctl.h>
++#include <linux/version.h>
+
+ static const struct xlat mount_flags[] = {
+ { MS_MGC_VAL, "MS_MGC_VAL" },
+@@ -1578,7 +1579,9 @@
+ { CTL_KERN, "CTL_KERN" },
+ { CTL_VM, "CTL_VM" },
+ { CTL_NET, "CTL_NET" },
+- { CTL_PROC, "CTL_PROC" },
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18)
++ { CTL_PROC, "CTL_PROC" },
++#endif
+ { CTL_FS, "CTL_FS" },
+ { CTL_DEBUG, "CTL_DEBUG" },
+ { CTL_DEV, "CTL_DEV" },