From 69f52a7916eeb53d4ce2fc83d99790c4acdd491c Mon Sep 17 00:00:00 2001 From: LluĂ­s Batlle i Rossell Date: Wed, 26 Dec 2012 19:18:29 +0100 Subject: gcc46: extending the gcc 4.6.3 patch about siginfo to other archs I took the gcc commit as reference. --- .../compilers/gcc/4.6/siginfo_t_fix.patch | 260 ++++++++++++++++++++- 1 file changed, 255 insertions(+), 5 deletions(-) (limited to 'pkgs') diff --git a/pkgs/development/compilers/gcc/4.6/siginfo_t_fix.patch b/pkgs/development/compilers/gcc/4.6/siginfo_t_fix.patch index 5b5898196564..009a081c1ea8 100644 --- a/pkgs/development/compilers/gcc/4.6/siginfo_t_fix.patch +++ b/pkgs/development/compilers/gcc/4.6/siginfo_t_fix.patch @@ -1,8 +1,119 @@ -From http://pastebin.com/VkgE27Pd +http://gcc.gnu.org/git/?p=gcc.git;a=patch;h=5617a3db5d04630d0bfb71a3578894b4442f266d ---- a/gcc/config/i386/linux-unwind.h 2011-01-03 20:52:22.000000000 +0000 -+++ b/gcc/config/i386/linux-unwind.h 2012-07-06 12:23:51.562859470 +0100 -@@ -133,9 +133,9 @@ +From 5617a3db5d04630d0bfb71a3578894b4442f266d Mon Sep 17 00:00:00 2001 +From: tschwinge +Date: Fri, 20 Apr 2012 07:44:50 +0000 +Subject: [PATCH] struct siginfo vs. siginfo_t + +libgcc/ + * config/alpha/linux-unwind.h (alpha_fallback_frame_state): Use + siginfo_t instead of struct siginfo. + * config/bfin/linux-unwind.h (bfin_fallback_frame_state): Likewise. + * config/i386/linux-unwind.h (x86_fallback_frame_state): Likewise. + * config/ia64/linux-unwind.h (ia64_fallback_frame_state) + (ia64_handle_unwabi): Likewise. + * config/mips/linux-unwind.h (mips_fallback_frame_state): Likewise. + * config/pa/linux-unwind.h (pa32_fallback_frame_state): Likewise. + * config/sh/linux-unwind.h (shmedia_fallback_frame_state) + (sh_fallback_frame_state): Likewise. + * config/tilepro/linux-unwind.h (tile_fallback_frame_state): Likewise. + * config/xtensa/linux-unwind.h (xtensa_fallback_frame_state): Likewise. + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186610 138bc75d-0d04-0410-961f-82ee72b054a4 +--- + libgcc/ChangeLog | 17 +++++++++++++++++ + libgcc/config/alpha/linux-unwind.h | 4 ++-- + libgcc/config/bfin/linux-unwind.h | 6 +++--- + libgcc/config/i386/linux-unwind.h | 6 +++--- + libgcc/config/ia64/linux-unwind.h | 6 +++--- + libgcc/config/mips/linux-unwind.h | 5 +++-- + libgcc/config/pa/linux-unwind.h | 4 ++-- + libgcc/config/sh/linux-unwind.h | 9 +++++---- + libgcc/config/tilepro/linux-unwind.h | 2 +- + libgcc/config/xtensa/linux-unwind.h | 4 ++-- + 10 files changed, 41 insertions(+), 22 deletions(-) + +diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog +index 354b3ce..401fc62 100644 +--- a/libgcc/ChangeLog ++++ b/libgcc/ChangeLog +@@ -1,3 +1,20 @@ ++2012-04-20 Thomas Schwinge ++ ++ struct siginfo vs. siginfo_t ++ ++ * config/alpha/linux-unwind.h (alpha_fallback_frame_state): Use ++ siginfo_t instead of struct siginfo. ++ * config/bfin/linux-unwind.h (bfin_fallback_frame_state): Likewise. ++ * config/i386/linux-unwind.h (x86_fallback_frame_state): Likewise. ++ * config/ia64/linux-unwind.h (ia64_fallback_frame_state) ++ (ia64_handle_unwabi): Likewise. ++ * config/mips/linux-unwind.h (mips_fallback_frame_state): Likewise. ++ * config/pa/linux-unwind.h (pa32_fallback_frame_state): Likewise. ++ * config/sh/linux-unwind.h (shmedia_fallback_frame_state) ++ (sh_fallback_frame_state): Likewise. ++ * config/tilepro/linux-unwind.h (tile_fallback_frame_state): Likewise. ++ * config/xtensa/linux-unwind.h (xtensa_fallback_frame_state): Likewise. ++ + 2012-04-02 H.J. Lu + + * config/i386/linux-unwind.h (RT_SIGRETURN_SYSCALL): Update x32 +diff --git a/libgcc/config/alpha/linux-unwind.h b/libgcc/config/alpha/linux-unwind.h +index 4c811dc..8c04b3b 100644 +--- a/libgcc/config/alpha/linux-unwind.h ++++ b/libgcc/config/alpha/linux-unwind.h +@@ -1,5 +1,5 @@ + /* DWARF2 EH unwinding support for Alpha Linux. +- Copyright (C) 2004, 2005, 2009, 2011 Free Software Foundation, Inc. ++ Copyright (C) 2004, 2005, 2009, 2011, 2012 Free Software Foundation, Inc. + + This file is part of GCC. + +@@ -49,7 +49,7 @@ alpha_fallback_frame_state (struct _Unwind_Context *context, + else if (pc[1] == 0x201f015f) /* lda $0,NR_rt_sigreturn */ + { + struct rt_sigframe { +- struct siginfo info; ++ siginfo_t info; + struct ucontext uc; + } *rt_ = context->cfa; + sc = &rt_->uc.uc_mcontext; +diff --git a/libgcc/config/bfin/linux-unwind.h b/libgcc/config/bfin/linux-unwind.h +index 88c8285..15bb2f1 100644 +--- a/libgcc/config/bfin/linux-unwind.h ++++ b/libgcc/config/bfin/linux-unwind.h +@@ -1,5 +1,5 @@ + /* DWARF2 EH unwinding support for Blackfin. +- Copyright (C) 2007, 2009 Free Software Foundation, Inc. ++ Copyright (C) 2007, 2009, 2012 Free Software Foundation, Inc. + + This file is part of GCC. + +@@ -48,10 +48,10 @@ bfin_fallback_frame_state (struct _Unwind_Context *context, + { + struct rt_sigframe { + int sig; +- struct siginfo *pinfo; ++ siginfo_t *pinfo; + void *puc; + char retcode[8]; +- struct siginfo info; ++ siginfo_t info; + struct ucontext uc; + } *rt_ = context->cfa; + +diff --git a/libgcc/config/i386/linux-unwind.h b/libgcc/config/i386/linux-unwind.h +index ad0ccfa..02b1897 100644 +--- a/libgcc/config/i386/linux-unwind.h ++++ b/libgcc/config/i386/linux-unwind.h +@@ -1,5 +1,5 @@ + /* DWARF2 EH unwinding support for AMD x86-64 and x86. +- Copyright (C) 2004, 2005, 2006, 2009, 2010, 2011 ++ Copyright (C) 2004, 2005, 2006, 2009, 2010, 2011, 2012 + Free Software Foundation, Inc. + + This file is part of GCC. +@@ -136,9 +136,9 @@ x86_fallback_frame_state (struct _Unwind_Context *context, { struct rt_sigframe { int sig; @@ -13,4 +124,143 @@ From http://pastebin.com/VkgE27Pd + siginfo_t info; struct ucontext uc; } *rt_ = context->cfa; - /* The void * cast is necessary to avoid an aliasing warning. \ No newline at end of file + /* The void * cast is necessary to avoid an aliasing warning. +diff --git a/libgcc/config/ia64/linux-unwind.h b/libgcc/config/ia64/linux-unwind.h +index 93f762d..da31259 100644 +--- a/libgcc/config/ia64/linux-unwind.h ++++ b/libgcc/config/ia64/linux-unwind.h +@@ -1,5 +1,5 @@ + /* DWARF2 EH unwinding support for IA64 Linux. +- Copyright (C) 2004, 2005, 2009 Free Software Foundation, Inc. ++ Copyright (C) 2004, 2005, 2009, 2012 Free Software Foundation, Inc. + + This file is part of GCC. + +@@ -47,7 +47,7 @@ ia64_fallback_frame_state (struct _Unwind_Context *context, + struct sigframe { + char scratch[16]; + unsigned long sig_number; +- struct siginfo *info; ++ siginfo_t *info; + struct sigcontext *sc; + } *frame_ = (struct sigframe *)context->psp; + struct sigcontext *sc = frame_->sc; +@@ -137,7 +137,7 @@ ia64_handle_unwabi (struct _Unwind_Context *context, _Unwind_FrameState *fs) + struct sigframe { + char scratch[16]; + unsigned long sig_number; +- struct siginfo *info; ++ siginfo_t *info; + struct sigcontext *sc; + } *frame = (struct sigframe *)context->psp; + struct sigcontext *sc = frame->sc; +diff --git a/libgcc/config/mips/linux-unwind.h b/libgcc/config/mips/linux-unwind.h +index 02f7cd5..094ff58 100644 +--- a/libgcc/config/mips/linux-unwind.h ++++ b/libgcc/config/mips/linux-unwind.h +@@ -1,5 +1,6 @@ + /* DWARF2 EH unwinding support for MIPS Linux. +- Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. ++ Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2012 Free Software ++ Foundation, Inc. + + This file is part of GCC. + +@@ -75,7 +76,7 @@ mips_fallback_frame_state (struct _Unwind_Context *context, + struct rt_sigframe { + u_int32_t ass[4]; /* Argument save space for o32. */ + u_int32_t trampoline[2]; +- struct siginfo info; ++ siginfo_t info; + _sig_ucontext_t uc; + } *rt_ = context->cfa; + sc = &rt_->uc.uc_mcontext; +diff --git a/libgcc/config/pa/linux-unwind.h b/libgcc/config/pa/linux-unwind.h +index a0560e9..38b4eda 100644 +--- a/libgcc/config/pa/linux-unwind.h ++++ b/libgcc/config/pa/linux-unwind.h +@@ -1,5 +1,5 @@ + /* DWARF2 EH unwinding support for PA Linux. +- Copyright (C) 2004, 2005, 2009 Free Software Foundation, Inc. ++ Copyright (C) 2004, 2005, 2009, 2012 Free Software Foundation, Inc. + + This file is part of GCC. + +@@ -63,7 +63,7 @@ pa32_fallback_frame_state (struct _Unwind_Context *context, + int i; + struct sigcontext *sc; + struct rt_sigframe { +- struct siginfo info; ++ siginfo_t info; + struct ucontext uc; + } *frame; + +diff --git a/libgcc/config/sh/linux-unwind.h b/libgcc/config/sh/linux-unwind.h +index 94ed95d..5a78e31 100644 +--- a/libgcc/config/sh/linux-unwind.h ++++ b/libgcc/config/sh/linux-unwind.h +@@ -1,5 +1,6 @@ + /* DWARF2 EH unwinding support for SH Linux. +- Copyright (C) 2004, 2005, 2006, 2007, 2009 Free Software Foundation, Inc. ++ Copyright (C) 2004, 2005, 2006, 2007, 2009, 2012 Free Software Foundation, ++ Inc. + + This file is part of GCC. + +@@ -80,9 +81,9 @@ shmedia_fallback_frame_state (struct _Unwind_Context *context, + && (*(unsigned long *) (pc+11) == 0x6ff0fff0)) + { + struct rt_sigframe { +- struct siginfo *pinfo; ++ siginfo_t *pinfo; + void *puc; +- struct siginfo info; ++ siginfo_t info; + struct ucontext uc; + } *rt_ = context->cfa; + /* The void * cast is necessary to avoid an aliasing warning. +@@ -179,7 +180,7 @@ sh_fallback_frame_state (struct _Unwind_Context *context, + && (*(unsigned short *) (pc+14) == 0x00ad)))) + { + struct rt_sigframe { +- struct siginfo info; ++ siginfo_t info; + struct ucontext uc; + } *rt_ = context->cfa; + /* The void * cast is necessary to avoid an aliasing warning. +diff --git a/libgcc/config/tilepro/linux-unwind.h b/libgcc/config/tilepro/linux-unwind.h +index 0ed662c..27a6c43 100644 +--- a/libgcc/config/tilepro/linux-unwind.h ++++ b/libgcc/config/tilepro/linux-unwind.h +@@ -61,7 +61,7 @@ tile_fallback_frame_state (struct _Unwind_Context *context, + + struct rt_sigframe { + unsigned char save_area[C_ABI_SAVE_AREA_SIZE]; +- struct siginfo info; ++ siginfo_t info; + struct ucontext uc; + } *rt_; + +diff --git a/libgcc/config/xtensa/linux-unwind.h b/libgcc/config/xtensa/linux-unwind.h +index 32e9349..2456497 100644 +--- a/libgcc/config/xtensa/linux-unwind.h ++++ b/libgcc/config/xtensa/linux-unwind.h +@@ -1,5 +1,5 @@ + /* DWARF2 EH unwinding support for Xtensa. +- Copyright (C) 2008, 2009 Free Software Foundation, Inc. ++ Copyright (C) 2008, 2009, 2012 Free Software Foundation, Inc. + + This file is part of GCC. + +@@ -62,7 +62,7 @@ xtensa_fallback_frame_state (struct _Unwind_Context *context, + struct sigcontext *sc; + + struct rt_sigframe { +- struct siginfo info; ++ siginfo_t info; + struct ucontext uc; + } *rt_; + +-- +1.7.3.4 + -- cgit 1.4.1