patches/strace/4.8/001-strace-4.8-glibc_2.18_build_fix-1.patch
author Daniel Zimmermann <netzimme@gmail.com>
Mon Nov 25 08:56:55 2013 +0100 (2013-11-25)
changeset 3255 4f3536b12be5
permissions -rw-r--r--
debug/strace: pump version to 4.7 and 4.8

Pump version for strace to 4.7 and 4.8.
Add patch from strace mainline.


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.
http://sourceforge.net/p/strace/code/ci/0b4060f61f1bb101b5d8d084714b7d2feacdb199/

Signed-off-by: "Daniel Zimmermann" <netzimme@gmail.com>
Message-Id: <67b082cf1cdc8276eb4a.1385366288@haus-VirtualBox>
Patchwork-Id: 293842
     1 Submitted By: Ken Moffat <ken at linuxfromscratch dot org>
     2 Date: 2013-08-26
     3 Initial Package Version: 4.8
     4 Upstream Status: Unknown
     5 Origin: Unknown
     6 Description: Fixes compilation with glibc-2.18.
     7 From OpenSuse factory, found in strace-4.8-2.1.src.rpm by rpmfind.net.
     8 http://download.opensuse.org/factory/repo/src-oss/suse/strace-4.8-2.1.src.rpm
     9 Their changelog reports:
    10  * Wed Aug 14 2013 schwab@suse.de
    11  - strace-linux-ptrace-h.patch: handle conflict with struct
    12    ptrace_peeksiginfo_args between <sys/ptrace.h> and <linux/ptrace.h>
    13 
    14 
    15 Index: strace-4.8/process.c
    16 ===================================================================
    17 --- strace-4.8.orig/process.c
    18 +++ strace-4.8/process.c
    19 @@ -63,9 +63,11 @@
    20  # ifdef HAVE_STRUCT_PT_ALL_USER_REGS
    21  #  define pt_all_user_regs XXX_pt_all_user_regs
    22  # endif
    23 +# define ptrace_peeksiginfo_args XXX_ptrace_peeksiginfo_args
    24  # include <linux/ptrace.h>
    25  # undef ia64_fpreg
    26  # undef pt_all_user_regs
    27 +# undef ptrace_peeksiginfo_args
    28  #endif
    29  
    30  #if defined(SPARC64)
    31 Index: strace-4.8/signal.c
    32 ===================================================================
    33 --- strace-4.8.orig/signal.c
    34 +++ strace-4.8/signal.c
    35 @@ -51,9 +51,11 @@
    36  # ifdef HAVE_STRUCT_PT_ALL_USER_REGS
    37  #  define pt_all_user_regs XXX_pt_all_user_regs
    38  # endif
    39 +# define ptrace_peeksiginfo_args XXX_ptrace_peeksiginfo_args
    40  # include <linux/ptrace.h>
    41  # undef ia64_fpreg
    42  # undef pt_all_user_regs
    43 +# undef ptrace_peeksiginfo_args
    44  #endif
    45  
    46  #ifdef IA64
    47 Index: strace-4.8/syscall.c
    48 ===================================================================
    49 --- strace-4.8.orig/syscall.c
    50 +++ strace-4.8/syscall.c
    51 @@ -48,9 +48,11 @@
    52  # ifdef HAVE_STRUCT_PT_ALL_USER_REGS
    53  #  define pt_all_user_regs XXX_pt_all_user_regs
    54  # endif
    55 +# define ptrace_peeksiginfo_args XXX_ptrace_peeksiginfo_args
    56  # include <linux/ptrace.h>
    57  # undef ia64_fpreg
    58  # undef pt_all_user_regs
    59 +# undef ptrace_peeksiginfo_args
    60  #endif
    61  
    62  #if defined(SPARC64)
    63 Index: strace-4.8/util.c
    64 ===================================================================
    65 --- strace-4.8.orig/util.c
    66 +++ strace-4.8/util.c
    67 @@ -55,9 +55,11 @@
    68  # ifdef HAVE_STRUCT_PT_ALL_USER_REGS
    69  #  define pt_all_user_regs XXX_pt_all_user_regs
    70  # endif
    71 +# define ptrace_peeksiginfo_args XXX_ptrace_peeksiginfo_args
    72  # include <linux/ptrace.h>
    73  # undef ia64_fpreg
    74  # undef pt_all_user_regs
    75 +# undef ptrace_peeksiginfo_args
    76  #endif
    77  
    78  int