| From 0b4060f61f1bb101b5d8d084714b7d2feacdb199 Mon Sep 17 00:00:00 2001 |
| From: Ali Polatel <alip@exherbo.org> |
| Date: Tue, 24 Sep 2013 20:04:32 +0300 |
| Subject: [PATCH 01/29] 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> |
| --- |
| |
| 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>]) |
| diff --git a/process.c b/process.c |
| index 1a2181b..59428a4 100644 |
| --- a/process.c |
| +++ b/process.c |
| @@ -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 |
| diff --git a/signal.c b/signal.c |
| index 7fb9abf..3411ddd 100644 |
| --- a/signal.c |
| +++ b/signal.c |
| @@ -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 |
| diff --git a/syscall.c b/syscall.c |
| index 83a95bd..3477dcd 100644 |
| --- a/syscall.c |
| +++ b/syscall.c |
| @@ -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 |
| diff --git a/util.c b/util.c |
| index 0dab902..30a7f19 100644 |
| --- a/util.c |
| +++ b/util.c |
| @@ -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 |
| -- |
| 1.8.3.2 |
| |