about summary refs log tree commit diff
diff options
context:
space:
mode:
authorLluís Batlle i Rossell <viric@viric.name>2012-12-26 19:18:29 +0100
committerLluís Batlle i Rossell <viric@viric.name>2012-12-26 19:18:29 +0100
commit69f52a7916eeb53d4ce2fc83d99790c4acdd491c (patch)
tree392500fe8d79bdab5abfa690741a93ae41c02348
parent636722eb93699d17c032c8734a2e1eda6453a4ff (diff)
gcc46: extending the gcc 4.6.3 patch about siginfo to other archs
I took the gcc commit as reference.
-rw-r--r--pkgs/development/compilers/gcc/4.6/siginfo_t_fix.patch260
1 files changed, 255 insertions, 5 deletions
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 5b58981965645..009a081c1ea8c 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 <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4>
+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  <thomas@codesourcery.com>
++
++	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  <hongjiu.lu@intel.com>
+ 
+ 	* 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
+