diff options
author | Alexander Ivchenko <alexander.ivchenko@intel.com> | 2014-05-22 20:16:00 +0400 |
---|---|---|
committer | Alexander Ivchenko <alexander.ivchenko@intel.com> | 2014-05-22 20:17:53 +0400 |
commit | 41a51304ab0f3b4580f34718ee4781c3629fb548 (patch) | |
tree | 345be61ce8cc8e8323d5ddaca307810bc6f777e0 /gcc-4.6 | |
parent | 8c493ead6366b552adee796de296936b78f34c5a (diff) | |
download | toolchain_gcc-41a51304ab0f3b4580f34718ee4781c3629fb548.tar.gz toolchain_gcc-41a51304ab0f3b4580f34718ee4781c3629fb548.tar.bz2 toolchain_gcc-41a51304ab0f3b4580f34718ee4781c3629fb548.zip |
[4.6] Fix build of 4.6 compiler using newer 4.8. Backport of two patches
from 4.6.4 release:
2012-09-21 Richard Guenther <rguenther@suse.de>
PR middle-end/54638
Backport from mainline
2012-04-19 Richard Guenther <rguenther@suse.de>
* ira-int.h (ira_allocno_object_iter_cond): Avoid out-of-bound
array access.
2012-04-20 Thomas Schwinge <thomas@codesourcery.com>
* 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.
Change-Id: If84780aad73abf47ba08bef806ac0b728c4e1c02
Signed-off-by: Alexander Ivchenko <alexander.ivchenko@intel.com>
Diffstat (limited to 'gcc-4.6')
-rw-r--r-- | gcc-4.6/gcc/config/alpha/linux-unwind.h | 4 | ||||
-rw-r--r-- | gcc-4.6/gcc/config/bfin/linux-unwind.h | 6 | ||||
-rw-r--r-- | gcc-4.6/gcc/config/i386/linux-unwind.h | 7 | ||||
-rw-r--r-- | gcc-4.6/gcc/config/ia64/linux-unwind.h | 6 | ||||
-rw-r--r-- | gcc-4.6/gcc/config/mips/linux-unwind.h | 5 | ||||
-rw-r--r-- | gcc-4.6/gcc/config/pa/linux-unwind.h | 4 | ||||
-rw-r--r-- | gcc-4.6/gcc/config/sh/linux-unwind.h | 9 | ||||
-rw-r--r-- | gcc-4.6/gcc/config/xtensa/linux-unwind.h | 4 | ||||
-rw-r--r-- | gcc-4.6/gcc/ira-int.h | 9 |
9 files changed, 31 insertions, 23 deletions
diff --git a/gcc-4.6/gcc/config/alpha/linux-unwind.h b/gcc-4.6/gcc/config/alpha/linux-unwind.h index 4c811dca4..8c04b3b41 100644 --- a/gcc-4.6/gcc/config/alpha/linux-unwind.h +++ b/gcc-4.6/gcc/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/gcc-4.6/gcc/config/bfin/linux-unwind.h b/gcc-4.6/gcc/config/bfin/linux-unwind.h index 88c828563..15bb2f12b 100644 --- a/gcc-4.6/gcc/config/bfin/linux-unwind.h +++ b/gcc-4.6/gcc/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/gcc-4.6/gcc/config/i386/linux-unwind.h b/gcc-4.6/gcc/config/i386/linux-unwind.h index c5f7ea0e8..9e4be8010 100644 --- a/gcc-4.6/gcc/config/i386/linux-unwind.h +++ b/gcc-4.6/gcc/config/i386/linux-unwind.h @@ -1,5 +1,6 @@ /* DWARF2 EH unwinding support for AMD x86-64 and x86. - Copyright (C) 2004, 2005, 2006, 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 2004, 2005, 2006, 2009, 2010, 2012 Free Software Foundation, + Inc. This file is part of GCC. @@ -133,9 +134,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-4.6/gcc/config/ia64/linux-unwind.h b/gcc-4.6/gcc/config/ia64/linux-unwind.h index 93f762de5..da3125978 100644 --- a/gcc-4.6/gcc/config/ia64/linux-unwind.h +++ b/gcc-4.6/gcc/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/gcc-4.6/gcc/config/mips/linux-unwind.h b/gcc-4.6/gcc/config/mips/linux-unwind.h index 02f7cd54c..094ff58cb 100644 --- a/gcc-4.6/gcc/config/mips/linux-unwind.h +++ b/gcc-4.6/gcc/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/gcc-4.6/gcc/config/pa/linux-unwind.h b/gcc-4.6/gcc/config/pa/linux-unwind.h index a0560e974..38b4eda7a 100644 --- a/gcc-4.6/gcc/config/pa/linux-unwind.h +++ b/gcc-4.6/gcc/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/gcc-4.6/gcc/config/sh/linux-unwind.h b/gcc-4.6/gcc/config/sh/linux-unwind.h index 94ed95d55..5a78e3172 100644 --- a/gcc-4.6/gcc/config/sh/linux-unwind.h +++ b/gcc-4.6/gcc/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/gcc-4.6/gcc/config/xtensa/linux-unwind.h b/gcc-4.6/gcc/config/xtensa/linux-unwind.h index 32e934972..245649728 100644 --- a/gcc-4.6/gcc/config/xtensa/linux-unwind.h +++ b/gcc-4.6/gcc/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_; diff --git a/gcc-4.6/gcc/ira-int.h b/gcc-4.6/gcc/ira-int.h index 049a07f89..a58f0ca0c 100644 --- a/gcc-4.6/gcc/ira-int.h +++ b/gcc-4.6/gcc/ira-int.h @@ -1123,8 +1123,13 @@ static inline bool ira_allocno_object_iter_cond (ira_allocno_object_iterator *i, ira_allocno_t a, ira_object_t *o) { - *o = ALLOCNO_OBJECT (a, i->n); - return i->n++ < ALLOCNO_NUM_OBJECTS (a); + int n = i->n++; + if (n < ALLOCNO_NUM_OBJECTS (a)) + { + *o = ALLOCNO_OBJECT (a, n); + return true; + } + return false; } /* Loop over all objects associated with allocno A. In each |