108 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
		
		
			
		
	
	
			108 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| 
								 | 
							
								Trivally backported the upstream commit
							 | 
						||
| 
								 | 
							
								b685411208e0aaa79190d54faf945763514706b8
							 | 
						||
| 
								 | 
							
								(different directory, some files not present, etc.)
							 | 
						||
| 
								 | 
							
								We only really use x86* from those, probably, so I didn't bother much.
							 | 
						||
| 
								 | 
							
								diff --git a/gcc/config/alpha/linux-unwind.h b/gcc/config/alpha/linux-unwind.h
							 | 
						||
| 
								 | 
							
								index bdbba4a..e84812e 100644
							 | 
						||
| 
								 | 
							
								--- a/gcc/config/alpha/linux-unwind.h
							 | 
						||
| 
								 | 
							
								+++ b/gcc/config/alpha/linux-unwind.h
							 | 
						||
| 
								 | 
							
								@@ -51,7 +51,7 @@ alpha_fallback_frame_state (struct _Unwind_Context *context,
							 | 
						||
| 
								 | 
							
								     {
							 | 
						||
| 
								 | 
							
								       struct rt_sigframe {
							 | 
						||
| 
								 | 
							
								 	siginfo_t info;
							 | 
						||
| 
								 | 
							
								-	struct ucontext uc;
							 | 
						||
| 
								 | 
							
								+	ucontext_t uc;
							 | 
						||
| 
								 | 
							
								       } *rt_ = context->cfa;
							 | 
						||
| 
								 | 
							
								       sc = &rt_->uc.uc_mcontext;
							 | 
						||
| 
								 | 
							
								     }
							 | 
						||
| 
								 | 
							
								diff --git a/gcc/config/bfin/linux-unwind.h b/gcc/config/bfin/linux-unwind.h
							 | 
						||
| 
								 | 
							
								index 77b7c23..8bf5e82 100644
							 | 
						||
| 
								 | 
							
								--- a/gcc/config/bfin/linux-unwind.h
							 | 
						||
| 
								 | 
							
								+++ b/gcc/config/bfin/linux-unwind.h
							 | 
						||
| 
								 | 
							
								@@ -52,7 +52,7 @@ bfin_fallback_frame_state (struct _Unwind_Context *context,
							 | 
						||
| 
								 | 
							
								 	void *puc;
							 | 
						||
| 
								 | 
							
								 	char retcode[8];
							 | 
						||
| 
								 | 
							
								 	siginfo_t info;
							 | 
						||
| 
								 | 
							
								-	struct ucontext uc;
							 | 
						||
| 
								 | 
							
								+	ucontext_t uc;
							 | 
						||
| 
								 | 
							
								       } *rt_ = context->cfa;
							 | 
						||
| 
								 | 
							
								 
							 | 
						||
| 
								 | 
							
								       /* The void * cast is necessary to avoid an aliasing warning.
							 | 
						||
| 
								 | 
							
								diff --git a/gcc/config/i386/linux-unwind.h b/gcc/config/i386/linux-unwind.h
							 | 
						||
| 
								 | 
							
								index 540a0a2..29efbe3 100644
							 | 
						||
| 
								 | 
							
								--- a/gcc/config/i386/linux-unwind.h
							 | 
						||
| 
								 | 
							
								+++ b/gcc/config/i386/linux-unwind.h
							 | 
						||
| 
								 | 
							
								@@ -58,7 +58,7 @@ x86_64_fallback_frame_state (struct _Unwind_Context *context,
							 | 
						||
| 
								 | 
							
								   if (*(unsigned char *)(pc+0) == 0x48
							 | 
						||
| 
								 | 
							
								       && *(unsigned long long *)(pc+1) == RT_SIGRETURN_SYSCALL)
							 | 
						||
| 
								 | 
							
								     {
							 | 
						||
| 
								 | 
							
								-      struct ucontext *uc_ = context->cfa;
							 | 
						||
| 
								 | 
							
								+      ucontext_t *uc_ = context->cfa;
							 | 
						||
| 
								 | 
							
								       /* The void * cast is necessary to avoid an aliasing warning.
							 | 
						||
| 
								 | 
							
								          The aliasing warning is correct, but should not be a problem
							 | 
						||
| 
								 | 
							
								          because it does not alias anything.  */
							 | 
						||
| 
								 | 
							
								@@ -138,7 +138,7 @@ x86_fallback_frame_state (struct _Unwind_Context *context,
							 | 
						||
| 
								 | 
							
								 	siginfo_t *pinfo;
							 | 
						||
| 
								 | 
							
								 	void *puc;
							 | 
						||
| 
								 | 
							
								 	siginfo_t info;
							 | 
						||
| 
								 | 
							
								-	struct ucontext uc;
							 | 
						||
| 
								 | 
							
								+	ucontext_t uc;
							 | 
						||
| 
								 | 
							
								       } *rt_ = context->cfa;
							 | 
						||
| 
								 | 
							
								       /* The void * cast is necessary to avoid an aliasing warning.
							 | 
						||
| 
								 | 
							
								          The aliasing warning is correct, but should not be a problem
							 | 
						||
| 
								 | 
							
								diff --git a/gcc/config/m68k/linux-unwind.h b/gcc/config/m68k/linux-unwind.h
							 | 
						||
| 
								 | 
							
								index 75b7cf7..f964e24 100644
							 | 
						||
| 
								 | 
							
								--- a/gcc/config/m68k/linux-unwind.h
							 | 
						||
| 
								 | 
							
								+++ b/gcc/config/m68k/linux-unwind.h
							 | 
						||
| 
								 | 
							
								@@ -33,7 +33,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
							 | 
						||
| 
								 | 
							
								 /* <sys/ucontext.h> is unfortunately broken right now.  */
							 | 
						||
| 
								 | 
							
								 struct uw_ucontext {
							 | 
						||
| 
								 | 
							
								 	unsigned long	  uc_flags;
							 | 
						||
| 
								 | 
							
								-	struct ucontext  *uc_link;
							 | 
						||
| 
								 | 
							
								+	ucontext_t	 *uc_link;
							 | 
						||
| 
								 | 
							
								 	stack_t		  uc_stack;
							 | 
						||
| 
								 | 
							
								 	mcontext_t	  uc_mcontext;
							 | 
						||
| 
								 | 
							
								 	unsigned long	  uc_filler[80];
							 | 
						||
| 
								 | 
							
								diff --git a/gcc/config/pa/linux-unwind.h b/gcc/config/pa/linux-unwind.h
							 | 
						||
| 
								 | 
							
								index 9a2657f..e47493d 100644
							 | 
						||
| 
								 | 
							
								--- a/gcc/config/pa/linux-unwind.h
							 | 
						||
| 
								 | 
							
								+++ b/gcc/config/pa/linux-unwind.h
							 | 
						||
| 
								 | 
							
								@@ -80,7 +80,7 @@ pa32_fallback_frame_state (struct _Unwind_Context *context,
							 | 
						||
| 
								 | 
							
								   struct sigcontext *sc;
							 | 
						||
| 
								 | 
							
								   struct rt_sigframe {
							 | 
						||
| 
								 | 
							
								     siginfo_t info;
							 | 
						||
| 
								 | 
							
								-    struct ucontext uc;
							 | 
						||
| 
								 | 
							
								+    ucontext_t uc;
							 | 
						||
| 
								 | 
							
								   } *frame;
							 | 
						||
| 
								 | 
							
								 
							 | 
						||
| 
								 | 
							
								   /* rt_sigreturn trampoline:
							 | 
						||
| 
								 | 
							
								diff --git a/gcc/config/sh/linux-unwind.h b/gcc/config/sh/linux-unwind.h
							 | 
						||
| 
								 | 
							
								index e389cac..0bf43ba 100644
							 | 
						||
| 
								 | 
							
								--- a/gcc/config/sh/linux-unwind.h
							 | 
						||
| 
								 | 
							
								+++ b/gcc/config/sh/linux-unwind.h
							 | 
						||
| 
								 | 
							
								@@ -180,7 +180,7 @@ sh_fallback_frame_state (struct _Unwind_Context *context,
							 | 
						||
| 
								 | 
							
								     {
							 | 
						||
| 
								 | 
							
								       struct rt_sigframe {
							 | 
						||
| 
								 | 
							
								 	siginfo_t info;
							 | 
						||
| 
								 | 
							
								-	struct ucontext uc;
							 | 
						||
| 
								 | 
							
								+	ucontext_t uc;
							 | 
						||
| 
								 | 
							
								       } *rt_ = context->cfa;
							 | 
						||
| 
								 | 
							
								       /* The void * cast is necessary to avoid an aliasing warning.
							 | 
						||
| 
								 | 
							
								          The aliasing warning is correct, but should not be a problem
							 | 
						||
| 
								 | 
							
								diff --git a/gcc/config/xtensa/linux-unwind.h b/gcc/config/xtensa/linux-unwind.h
							 | 
						||
| 
								 | 
							
								index 9872492..586a9d4 100644
							 | 
						||
| 
								 | 
							
								--- a/gcc/config/xtensa/linux-unwind.h
							 | 
						||
| 
								 | 
							
								+++ b/gcc/config/xtensa/linux-unwind.h
							 | 
						||
| 
								 | 
							
								@@ -67,7 +67,7 @@ xtensa_fallback_frame_state (struct _Unwind_Context *context,
							 | 
						||
| 
								 | 
							
								 
							 | 
						||
| 
								 | 
							
								   struct rt_sigframe {
							 | 
						||
| 
								 | 
							
								     siginfo_t info;
							 | 
						||
| 
								 | 
							
								-    struct ucontext uc;
							 | 
						||
| 
								 | 
							
								+    ucontext_t uc;
							 | 
						||
| 
								 | 
							
								   } *rt_;
							 | 
						||
| 
								 | 
							
								 
							 | 
						||
| 
								 | 
							
								   /* movi a2, __NR_rt_sigreturn; syscall */
							 | 
						||
| 
								 | 
							
								-- 
							 | 
						||
| 
								 | 
							
								2.9.3
							 | 
						||
| 
								 | 
							
								
							 |