175 lines
6.0 KiB
Diff
175 lines
6.0 KiB
Diff
|
https://bugs.gentoo.org/424970
|
||
|
|
||
|
fix from upstream for building with newer glibc versions
|
||
|
|
||
|
From f0cdca2bf2230005025e13e7354fedb612933c96 Mon Sep 17 00:00:00 2001
|
||
|
From: tschwinge <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4>
|
||
|
Date: Fri, 20 Apr 2012 08:14:00 +0000
|
||
|
Subject: [PATCH] struct siginfo vs. siginfo_t
|
||
|
|
||
|
Backport from trunk (but apply to gcc/):
|
||
|
|
||
|
2012-04-20 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
|
||
|
gcc/
|
||
|
* 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/xtensa/linux-unwind.h (xtensa_fallback_frame_state): Likewise.
|
||
|
|
||
|
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_5-branch@186613 138bc75d-0d04-0410-961f-82ee72b054a4
|
||
|
---
|
||
|
gcc/ChangeLog | 20 ++++++++++++++++++++
|
||
|
gcc/config/alpha/linux-unwind.h | 4 ++--
|
||
|
gcc/config/bfin/linux-unwind.h | 6 +++---
|
||
|
gcc/config/i386/linux-unwind.h | 6 +++---
|
||
|
gcc/config/ia64/linux-unwind.h | 6 +++---
|
||
|
gcc/config/mips/linux-unwind.h | 5 +++--
|
||
|
gcc/config/pa/linux-unwind.h | 4 ++--
|
||
|
gcc/config/sh/linux-unwind.h | 9 +++++----
|
||
|
gcc/config/xtensa/linux-unwind.h | 4 ++--
|
||
|
9 files changed, 43 insertions(+), 21 deletions(-)
|
||
|
|
||
|
diff --git a/gcc/config/alpha/linux-unwind.h b/gcc/config/alpha/linux-unwind.h
|
||
|
index 4c811dc..8c04b3b 100644
|
||
|
--- a/gcc/config/alpha/linux-unwind.h
|
||
|
+++ b/gcc/config/alpha/linux-unwind.h
|
||
|
@@ -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/gcc/config/bfin/linux-unwind.h b/gcc/config/bfin/linux-unwind.h
|
||
|
index 88c8285..15bb2f1 100644
|
||
|
--- a/gcc/config/bfin/linux-unwind.h
|
||
|
+++ b/gcc/config/bfin/linux-unwind.h
|
||
|
@@ -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/gcc/config/i386/linux-unwind.h b/gcc/config/i386/linux-unwind.h
|
||
|
index 36ee370..fe0ea3e 100644
|
||
|
--- a/gcc/config/i386/linux-unwind.h
|
||
|
+++ b/gcc/config/i386/linux-unwind.h
|
||
|
@@ -133,9 +133,9 @@ x86_fallback_frame_state (struct _Unwind_Context *context,
|
||
|
{
|
||
|
struct rt_sigframe {
|
||
|
int sig;
|
||
|
- 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.
|
||
|
diff --git a/gcc/config/ia64/linux-unwind.h b/gcc/config/ia64/linux-unwind.h
|
||
|
index 93f762d..da31259 100644
|
||
|
--- a/gcc/config/ia64/linux-unwind.h
|
||
|
+++ b/gcc/config/ia64/linux-unwind.h
|
||
|
@@ -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/gcc/config/mips/linux-unwind.h b/gcc/config/mips/linux-unwind.h
|
||
|
index 02f7cd5..094ff58 100644
|
||
|
--- a/gcc/config/mips/linux-unwind.h
|
||
|
+++ b/gcc/config/mips/linux-unwind.h
|
||
|
@@ -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/gcc/config/pa/linux-unwind.h b/gcc/config/pa/linux-unwind.h
|
||
|
index a0560e9..38b4eda 100644
|
||
|
--- a/gcc/config/pa/linux-unwind.h
|
||
|
+++ b/gcc/config/pa/linux-unwind.h
|
||
|
@@ -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/gcc/config/sh/linux-unwind.h b/gcc/config/sh/linux-unwind.h
|
||
|
index 94ed95d..5a78e31 100644
|
||
|
--- a/gcc/config/sh/linux-unwind.h
|
||
|
+++ b/gcc/config/sh/linux-unwind.h
|
||
|
@@ -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/gcc/config/xtensa/linux-unwind.h b/gcc/config/xtensa/linux-unwind.h
|
||
|
index 32e9349..2456497 100644
|
||
|
--- a/gcc/config/xtensa/linux-unwind.h
|
||
|
+++ b/gcc/config/xtensa/linux-unwind.h
|
||
|
@@ -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.9.7
|
||
|
|