diff options
author | Ali Polatel <alip@exherbo.org> | 2013-09-24 20:04:32 +0300 |
---|---|---|
committer | Dmitry V. Levin <ldv@altlinux.org> | 2013-09-26 13:08:43 +0000 |
commit | 0b4060f61f1bb101b5d8d084714b7d2feacdb199 (patch) | |
tree | ec58178b66603ab10c1bf6df1ea75715f5b0e1bc | |
parent | 7daacbbbe7349677476a3d2fbf174dcf86f171be (diff) | |
download | strace-0b4060f61f1bb101b5d8d084714b7d2feacdb199.tar.gz strace-0b4060f61f1bb101b5d8d084714b7d2feacdb199.tar.bz2 strace-0b4060f61f1bb101b5d8d084714b7d2feacdb199.tar.xz |
Work around conflict between <sys/ptrace.h> and <linux/ptrace.h>
Since glibc-2.18~39 <sys/ptrace.h> defines ptrace_peeksiginfo_args
which collides with <linux/ptrace.h>.
* configure.ac: Check for `struct ptrace_peeksiginfo_args' in
<sys/ptrace.h>.
* process.c: Work around potential conflict between <sys/ptrace.h>
and <linux/ptrace.h> by redefining ptrace_peeksiginfo_args.
* signal.c: Likewise.
* syscall.c: Likewise.
* util.c: Likewise.
Signed-off-by: Ali Polatel <alip@exherbo.org>
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | process.c | 4 | ||||
-rw-r--r-- | signal.c | 4 | ||||
-rw-r--r-- | syscall.c | 4 | ||||
-rw-r--r-- | util.c | 4 |
5 files changed, 17 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac index f19e4f2..aa4923a 100644 --- a/configure.ac +++ b/configure.ac @@ -257,7 +257,7 @@ AC_CHECK_MEMBERS([struct T_conn_res.QUEUE_ptr, AC_CHECK_TYPES([struct __old_kernel_stat],,, [#include <asm/stat.h>]) -AC_CHECK_TYPES([struct pt_all_user_regs, struct ia64_fpreg],,, +AC_CHECK_TYPES([struct pt_all_user_regs, struct ia64_fpreg, struct ptrace_peeksiginfo_args],,, [#include <sys/ptrace.h>]) AC_CHECK_TYPES([struct user_desc],,, [#include <asm/ldt.h>]) @@ -63,7 +63,11 @@ # ifdef HAVE_STRUCT_PT_ALL_USER_REGS # define pt_all_user_regs XXX_pt_all_user_regs # endif +# ifdef HAVE_STRUCT_PTRACE_PEEKSIGINFO_ARGS +# define ptrace_peeksiginfo_args XXX_ptrace_peeksiginfo_args +# endif # include <linux/ptrace.h> +# undef ptrace_peeksiginfo_args # undef ia64_fpreg # undef pt_all_user_regs #endif @@ -51,7 +51,11 @@ # ifdef HAVE_STRUCT_PT_ALL_USER_REGS # define pt_all_user_regs XXX_pt_all_user_regs # endif +# ifdef HAVE_STRUCT_PTRACE_PEEKSIGINFO_ARGS +# define ptrace_peeksiginfo_args XXX_ptrace_peeksiginfo_args +# endif # include <linux/ptrace.h> +# undef ptrace_peeksiginfo_args # undef ia64_fpreg # undef pt_all_user_regs #endif @@ -48,7 +48,11 @@ # ifdef HAVE_STRUCT_PT_ALL_USER_REGS # define pt_all_user_regs XXX_pt_all_user_regs # endif +# ifdef HAVE_STRUCT_PTRACE_PEEKSIGINFO_ARGS +# define ptrace_peeksiginfo_args XXX_ptrace_peeksiginfo_args +# endif # include <linux/ptrace.h> +# undef ptrace_peeksiginfo_args # undef ia64_fpreg # undef pt_all_user_regs #endif @@ -55,7 +55,11 @@ # ifdef HAVE_STRUCT_PT_ALL_USER_REGS # define pt_all_user_regs XXX_pt_all_user_regs # endif +# ifdef HAVE_STRUCT_PTRACE_PEEKSIGINFO_ARGS +# define ptrace_peeksiginfo_args XXX_ptrace_peeksiginfo_args +# endif # include <linux/ptrace.h> +# undef ptrace_peeksiginfo_args # undef ia64_fpreg # undef pt_all_user_regs #endif |