[gentoo-commits] proj/gcc-patches:master commit in: 4.6.4/gentoo/
commit: 804174e0b59cba153e1b232bfdaba1016dd1615c Author: Sergei Trofimovich gentoo org> AuthorDate: Sat Nov 9 23:47:27 2019 + Commit: Sergei Trofimovich gentoo org> CommitDate: Sat Nov 9 23:51:18 2019 + URL:https://gitweb.gentoo.org/proj/gcc-patches.git/commit/?id=804174e0 4.6.4: expand 97_all_cgraph_node-gcc-9.patch to allow gcc-9 Signed-off-by: Sergei Trofimovich gentoo.org> 4.6.4/gentoo/97_all_cgraph_node-gcc-9.patch | 2 +- 4.6.4/gentoo/README.history | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/4.6.4/gentoo/97_all_cgraph_node-gcc-9.patch b/4.6.4/gentoo/97_all_cgraph_node-gcc-9.patch index 77c9a1d..e6334bc 100644 --- a/4.6.4/gentoo/97_all_cgraph_node-gcc-9.patch +++ b/4.6.4/gentoo/97_all_cgraph_node-gcc-9.patch @@ -16,7 +16,7 @@ gcc-4.6.4/gcc/pretty-print.h:322:6: error: 'cgraph_node' is not defined as a typ /* This header may be included before diagnostics-core.h, hence the duplicate definitions to allow for GCC-specific formats. */ -#if GCC_VERSION >= 3005 -+#if (GCC_VERSION >= 3005) && (GCC_VERSION != 9001) /* 9.1.0 is buggy: https://gcc.gnu.org/PR90677 */ ++#if (GCC_VERSION >= 3005) && (__GNUC__ != 9) /* gcc-9 is buggy: https://gcc.gnu.org/PR90677 */ #define ATTRIBUTE_GCC_PPDIAG(m, n) __attribute__ ((__format__ (__gcc_diag__, m ,n))) ATTRIBUTE_NONNULL(m) #else #define ATTRIBUTE_GCC_PPDIAG(m, n) ATTRIBUTE_NONNULL(m) diff --git a/4.6.4/gentoo/README.history b/4.6.4/gentoo/README.history index 5ea9032..1d39625 100644 --- a/4.6.4/gentoo/README.history +++ b/4.6.4/gentoo/README.history @@ -1,3 +1,6 @@ +2 9 Nov 2019 + U 97_all_cgraph_node-gcc-9.patch + 1.51 Jun 2019 + 95_all_libjava-ucontext.patch + 96_all_gcc-gperf-gnu-inline.patch
[gentoo-commits] proj/gcc-patches:master commit in: 4.6.4/gentoo/
commit: 83395c7f691bcba3e5a4312edbbc25fce755ef33 Author: Sergei Trofimovich gentoo org> AuthorDate: Sat Jun 1 08:39:30 2019 + Commit: Sergei Trofimovich gentoo org> CommitDate: Sat Jun 1 08:39:30 2019 + URL:https://gitweb.gentoo.org/proj/gcc-patches.git/commit/?id=83395c7f 4.6.4: cut 1.5 patchset Three new patches: 95_all_libjava-ucontext.patch: fix libjava build on modern glibc 96_all_gcc-gperf-gnu-inline.patch: fix inline declaration for modern gcc 97_all_cgraph_node-gcc-9.patch: workaround buid failure against gcc-9.1.0 Bug: https://bugs.gentoo.org/629502 Bug: https://gcc.gnu.org/PR90677 Signed-off-by: Sergei Trofimovich gentoo.org> 4.6.4/gentoo/README.history | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/4.6.4/gentoo/README.history b/4.6.4/gentoo/README.history index 247ea24..5ea9032 100644 --- a/4.6.4/gentoo/README.history +++ b/4.6.4/gentoo/README.history @@ -1,4 +1,4 @@ -1.5TODO +1.51 Jun 2019 + 95_all_libjava-ucontext.patch + 96_all_gcc-gperf-gnu-inline.patch + 97_all_cgraph_node-gcc-9.patch
[gentoo-commits] proj/gcc-patches:master commit in: 4.6.4/gentoo/, 4.3.6/gentoo/, 4.0.4/gentoo/, 4.2.4/gentoo/, 4.5.4/gentoo/, ...
commit: 417f0afc6bbda0eb075bd8025f9b41d0cba2ca14 Author: Sergei Trofimovich gentoo org> AuthorDate: Thu May 30 21:45:41 2019 + Commit: Sergei Trofimovich gentoo org> CommitDate: Thu May 30 21:45:41 2019 + URL:https://gitweb.gentoo.org/proj/gcc-patches.git/commit/?id=417f0afc 4.*.*: fix build failure against gcc-9 It's a workaround against https://gcc.gnu.org/PR90677 where 'cgraph_node' is effectively forbidden for function names. Bug: https://gcc.gnu.org/PR90677 Signed-off-by: Sergei Trofimovich gentoo.org> 4.0.4/gentoo/88_all_cgraph_node-gcc-9.patch | 44 4.0.4/gentoo/README.history | 1 + 4.1.2/gentoo/98_all_cgraph_node-gcc-9.patch | 44 4.1.2/gentoo/README.history | 1 + 4.2.4/gentoo/96_all_cgraph_node-gcc-9.patch | 44 4.2.4/gentoo/README.history | 1 + 4.3.6/gentoo/94_all_cgraph_node-gcc-9.patch | 44 4.3.6/gentoo/README.history | 1 + 4.4.7/gentoo/99_all_cgraph_node-gcc-9.patch | 44 4.4.7/gentoo/README.history | 1 + 4.5.4/gentoo/102_all_cgraph_node-gcc-9.patch | 22 ++ 4.5.4/gentoo/README.history | 1 + 4.6.4/gentoo/97_all_cgraph_node-gcc-9.patch | 22 ++ 4.6.4/gentoo/README.history | 1 + 14 files changed, 271 insertions(+) diff --git a/4.0.4/gentoo/88_all_cgraph_node-gcc-9.patch b/4.0.4/gentoo/88_all_cgraph_node-gcc-9.patch new file mode 100644 index 000..fe95a0d --- /dev/null +++ b/4.0.4/gentoo/88_all_cgraph_node-gcc-9.patch @@ -0,0 +1,44 @@ +The patch is a workaround to build this version of gcc with +gcc-9.1.0: https://gcc.gnu.org/PR90677 + +There gcc-9.1.0 pinned 'cgraph_node' to a wired-in type and +disallows anything else (function names in this case) to share +'cgraph_node' name. + +Without this patch build fails as: +gcc-4.6.4/gcc/pretty-print.h:322:6: error: 'cgraph_node' is not defined as a type + 322 | ATTRIBUTE_GCC_PPDIAG(2,3); + | ^ +--- a/gcc/c-tree.h b/gcc/c-tree.h +@@ -609,7 +609,7 @@ extern void c_write_global_declarations (void); +diagnostic framework extensions, you must include this file before +toplev.h, not after. */ + #define GCC_DIAG_STYLE __gcc_cdiag__ +-#if GCC_VERSION >= 3005 ++#if (GCC_VERSION >= 3005) && (GCC_VERSION != 9001) /* 9.1.0 is buggy: https://gcc.gnu.org/PR90677 */ + #define ATTRIBUTE_GCC_CDIAG(m, n) __attribute__ ((__format__ (GCC_DIAG_STYLE, m ,n))) ATTRIBUTE_NONNULL(m) + #else + #define ATTRIBUTE_GCC_CDIAG(m, n) ATTRIBUTE_NONNULL(m) +--- a/gcc/pretty-print.h b/gcc/pretty-print.h +@@ -253,7 +253,7 @@ extern void pp_base_append_text (pretty_printer *, const char *, const char *); + + /* This header may be included before toplev.h, hence the duplicate +definitions to allow for GCC-specific formats. */ +-#if GCC_VERSION >= 3005 ++#if (GCC_VERSION >= 3005) && (GCC_VERSION != 9001) /* 9.1.0 is buggy: https://gcc.gnu.org/PR90677 */ + #define ATTRIBUTE_GCC_PPDIAG(m, n) __attribute__ ((__format__ (__gcc_diag__, m ,n))) ATTRIBUTE_NONNULL(m) + #else + #define ATTRIBUTE_GCC_PPDIAG(m, n) ATTRIBUTE_NONNULL(m) +--- a/gcc/toplev.h b/gcc/toplev.h +@@ -52,7 +52,7 @@ extern void _fatal_insn (const char *, rtx, const char *, int, const char *) +specifiers. We must use custom format checks. Note that at present +the front-end %D specifier is used in non-front-end code with some +functions, and those formats can only be checked in front-end code. */ +-#if GCC_VERSION >= 3005 ++#if (GCC_VERSION >= 3005) && (GCC_VERSION != 9001) /* 9.1.0 is buggy: https://gcc.gnu.org/PR90677 */ + #define ATTRIBUTE_GCC_DIAG(m, n) __attribute__ ((__format__ (GCC_DIAG_STYLE, m, n))) ATTRIBUTE_NONNULL(m) + #ifdef NO_FRONT_END_DIAG + #define ATTRIBUTE_GCC_FE_DIAG(m, n) ATTRIBUTE_NONNULL(m) diff --git a/4.0.4/gentoo/README.history b/4.0.4/gentoo/README.history index 4d92217..0e98546 100644 --- a/4.0.4/gentoo/README.history +++ b/4.0.4/gentoo/README.history @@ -1,5 +1,6 @@ 1.5TODO + 87_all_libjava-ucontext.patch + + 88_all_cgraph_node-gcc-9.patch 1.423 Sep 2018 + 86_all_ucontext-to-ucontext_t.patch diff --git a/4.1.2/gentoo/98_all_cgraph_node-gcc-9.patch b/4.1.2/gentoo/98_all_cgraph_node-gcc-9.patch new file mode 100644 index 000..92f27a8 --- /dev/null +++ b/4.1.2/gentoo/98_all_cgraph_node-gcc-9.patch @@ -0,0 +1,44 @@ +The patch is a workaround to build this version of gcc with +gcc-9.1.0: https://gcc.gnu.org/PR90677 + +There gcc-9.1.0 pinned 'cgraph_node' to a wired-in type and +disallows anything else (function names in this case) to share +'cgraph_node' name. + +Without this patch build fails as: +gcc-4.6.4/gcc/pretty-print.h:322:6: error: 'cgraph_node' is not defined as a type + 322 | ATTRIBUTE_GCC_PPDIAG(2,3); +
[gentoo-commits] proj/gcc-patches:master commit in: 4.6.4/gentoo/
commit: 5ea5abd9862ba73faa75e620e1055818fed794c7 Author: Sergei Trofimovich gentoo org> AuthorDate: Wed May 29 06:56:21 2019 + Commit: Sergei Trofimovich gentoo org> CommitDate: Wed May 29 06:56:21 2019 + URL:https://gitweb.gentoo.org/proj/gcc-patches.git/commit/?id=5ea5abd9 4.6.4: backport gperf-gnu-inline patch Signed-off-by: Sergei Trofimovich gentoo.org> 4.6.4/gentoo/96_all_gcc-gperf-gnu-inline.patch | 64 ++ 4.6.4/gentoo/README.history| 1 + 2 files changed, 65 insertions(+) diff --git a/4.6.4/gentoo/96_all_gcc-gperf-gnu-inline.patch b/4.6.4/gentoo/96_all_gcc-gperf-gnu-inline.patch new file mode 100644 index 000..b26647a --- /dev/null +++ b/4.6.4/gentoo/96_all_gcc-gperf-gnu-inline.patch @@ -0,0 +1,64 @@ +https://gcc.gnu.org/ml/gcc-patches/2015-08/msg00375.html + +From 1de9842cba4749376b545a09ef0b4fc195d319a6 Mon Sep 17 00:00:00 2001 +From: Mike Frysinger +Date: Thu, 6 Aug 2015 23:32:54 -0400 +Subject: [PATCH] cfns: fix mismatch in gnu_inline attributes + +Since the 3.0.3 release of gperf (made in May 2007), the generated func +has had the gnu_inline attribute applied to it. The gcc source however +has not been updated to include that which has lead to a mismatch. + +In practice, this hasn't been an issue for two reasons: +(1) Before gcc-5, the default standard was (gnu) C89, and gcc does not +warn or throw an error in this mode. +(2) Starting with gcc-4.8, the compiler driver used to build gcc was +changed to C++, and g++ does not warn or throw an error in this mode. + +This error does show up though when using gcc-5 to build gcc-4.7 or +older as then the default is (gnu) C11 and the C compiler driver is +used. That failure looks like: +In file included from .../gcc-4.7.4/gcc/cp/except.c:990:0: +cfns.gperf: At top level: +cfns.gperf:101:1: error: 'gnu_inline' attribute present on 'libc_name_p' +cfns.gperf:26:14: error: but not here + +Whether the compiler should always emit this error regardless of the +active standard or compiler driver is debatable (I think it should be +consistent -- either always do it or never do it). +--- + gcc/cp/cfns.gperf | 3 +++ + gcc/cp/cfns.h | 3 +++ + 2 files changed, 6 insertions(+) + +diff --git a/gcc/cp/cfns.gperf b/gcc/cp/cfns.gperf +index 68acd3d..953262f 100644 +--- a/gcc/cp/cfns.gperf b/gcc/cp/cfns.gperf +@@ -22,6 +22,9 @@ __inline + static unsigned int hash (const char *, unsigned int); + #ifdef __GNUC__ + __inline ++#ifdef __GNUC_STDC_INLINE__ ++__attribute__ ((__gnu_inline__)) static ++#endif + #endif + const char * libc_name_p (const char *, unsigned int); + %} +diff --git a/gcc/cp/cfns.h b/gcc/cp/cfns.h +index 1c6665d..6d00c0e 100644 +--- a/gcc/cp/cfns.h b/gcc/cp/cfns.h +@@ -53,6 +53,9 @@ __inline + static unsigned int hash (const char *, unsigned int); + #ifdef __GNUC__ + __inline ++#ifdef __GNUC_STDC_INLINE__ ++__attribute__ ((__gnu_inline__)) static ++#endif + #endif + const char * libc_name_p (const char *, unsigned int); + /* maximum key range = 391, duplicates = 0 */ +-- +2.4.4 + diff --git a/4.6.4/gentoo/README.history b/4.6.4/gentoo/README.history index 49ed8ec..af8339f 100644 --- a/4.6.4/gentoo/README.history +++ b/4.6.4/gentoo/README.history @@ -1,5 +1,6 @@ 1.5TODO + 95_all_libjava-ucontext.patch + + 96_all_gcc-gperf-gnu-inline.patch 1.423 Sep 2018 - 10_all_default-fortify-source.patch
[gentoo-commits] proj/gcc-patches:master commit in: 4.6.4/gentoo/
commit: 637f374a31cd971c1afff480162fc4ea9b675189 Author: Sergei Trofimovich gentoo org> AuthorDate: Mon Nov 19 23:39:00 2018 + Commit: Sergei Trofimovich gentoo org> CommitDate: Mon Nov 19 23:39:00 2018 + URL:https://gitweb.gentoo.org/proj/gcc-patches.git/commit/?id=637f374a 4.6.4: backport libjava-ucontext.patch: bug #671270 Reported-by: Cyp Bug: https://bugs.gentoo.org/671270 Signed-off-by: Sergei Trofimovich gentoo.org> 4.6.4/gentoo/95_all_libjava-ucontext.patch | 62 ++ 4.6.4/gentoo/README.history| 3 ++ 2 files changed, 65 insertions(+) diff --git a/4.6.4/gentoo/95_all_libjava-ucontext.patch b/4.6.4/gentoo/95_all_libjava-ucontext.patch new file mode 100644 index 000..6b823d8 --- /dev/null +++ b/4.6.4/gentoo/95_all_libjava-ucontext.patch @@ -0,0 +1,62 @@ +https://bugs.gentoo.org/629502 + +From 9b9287cde20ea57578cf07efb2a96ed4cc0da36f Mon Sep 17 00:00:00 2001 +From: doko +Date: Thu, 7 Sep 2017 07:22:07 + +Subject: [PATCH] 2017-09-07 Matthias Klose + +* include/x86_64-signal.h (HANDLE_DIVIDE_OVERFLOW): Replace +'struct ucontext' with ucontext_t. +* include/i386-signal.h (HANDLE_DIVIDE_OVERFLOW): Likewise. +* include/s390-signal.h (HANDLE_DIVIDE_OVERFLOW): Likewise. + + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-5-branch@251832 138bc75d-0d04-0410-961f-82ee72b054a4 +--- + libjava/include/i386-signal.h | 2 +- + libjava/include/s390-signal.h | 2 +- + libjava/include/x86_64-signal.h | 2 +- + 4 files changed, 10 insertions(+), 3 deletions(-) + +diff --git a/libjava/include/i386-signal.h b/libjava/include/i386-signal.h +index c2409b0e301..ef77e7e99ae 100644 +--- a/libjava/include/i386-signal.h b/libjava/include/i386-signal.h +@@ -29,7 +29,7 @@ static void _Jv_##_name (int, siginfo_t *, \ + #define HANDLE_DIVIDE_OVERFLOW \ + do\ + { \ +- struct ucontext *_uc = (struct ucontext *)_p; \ ++ ucontext_t *_uc = (ucontext_t *)_p; \ + gregset_t &_gregs = _uc->uc_mcontext.gregs; \ + unsigned char *_eip = (unsigned char *)_gregs[REG_EIP]; \ + \ +diff --git a/libjava/include/s390-signal.h b/libjava/include/s390-signal.h +index 4ca4c108864..9261b52be6e 100644 +--- a/libjava/include/s390-signal.h b/libjava/include/s390-signal.h +@@ -51,7 +51,7 @@ do \ + struct\ + { \ + unsigned long int uc_flags; \ +-struct ucontext *uc_link; \ ++ucontext_t *uc_link;\ + stack_t uc_stack; \ + mcontext_t uc_mcontext; \ + unsigned long sigmask[2]; \ +diff --git a/libjava/include/x86_64-signal.h b/libjava/include/x86_64-signal.h +index 12383b5485a..e36c5a32a64 100644 +--- a/libjava/include/x86_64-signal.h b/libjava/include/x86_64-signal.h +@@ -28,7 +28,7 @@ static void _Jv_##_name (int, siginfo_t *, \ + #define HANDLE_DIVIDE_OVERFLOW \ + do\ + { \ +- struct ucontext *_uc = (struct ucontext *)_p; \ ++ ucontext_t *_uc = (ucontext_t *)_p; \ + gregset_t &_gregs = _uc->uc_mcontext.gregs; \ + unsigned char *_rip = (unsigned char *)_gregs[REG_RIP]; \ + \ +-- +2.15.1 + diff --git a/4.6.4/gentoo/README.history b/4.6.4/gentoo/README.history index fe9dd13..49ed8ec 100644 --- a/4.6.4/gentoo/README.history +++ b/4.6.4/gentoo/README.history @@ -1,3 +1,6 @@ +1.5TODO + + 95_all_libjava-ucontext.patch + 1.423 Sep 2018 - 10_all_default-fortify-source.patch - 11_all_gcc-default-format-security.patch
[gentoo-commits] proj/gcc-patches:master commit in: 4.6.4/gentoo/
commit: aa1f626c1bbaedcd234ff6e9f67cfe0319890155 Author: Sergei Trofimovich gentoo org> AuthorDate: Sun Sep 23 21:31:54 2018 + Commit: Sergei Trofimovich gentoo org> CommitDate: Sun Sep 23 21:31:54 2018 + URL:https://gitweb.gentoo.org/proj/gcc-patches.git/commit/?id=aa1f626c 4.6.4: cut 1.4 release Signed-off-by: Sergei Trofimovich gentoo.org> 4.6.4/gentoo/README.history | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/4.6.4/gentoo/README.history b/4.6.4/gentoo/README.history index b3ff314..fe9dd13 100644 --- a/4.6.4/gentoo/README.history +++ b/4.6.4/gentoo/README.history @@ -1,4 +1,4 @@ -1.4[pending] +1.423 Sep 2018 - 10_all_default-fortify-source.patch - 11_all_gcc-default-format-security.patch - 12_all_default-warn-trampolines.patch
[gentoo-commits] proj/gcc-patches:master commit in: 4.6.4/gentoo/
commit: f103dc3d200d6c68d334eb95704f8f687ede63e0 Author: Sergei Trofimovich gentoo org> AuthorDate: Sat Sep 15 23:23:37 2018 + Commit: Sergei Trofimovich gentoo org> CommitDate: Sat Sep 15 23:23:37 2018 + URL:https://gitweb.gentoo.org/proj/gcc-patches.git/commit/?id=f103dc3d 4.6.4: backport 'struct ucontext' to 'ucontext_t' rename in glibc Signed-off-by: Sergei Trofimovich gentoo.org> 4.6.4/gentoo/94_all_ucontext-to-ucontext_t.patch | 152 +++ 4.6.4/gentoo/README.history | 1 + 2 files changed, 153 insertions(+) diff --git a/4.6.4/gentoo/94_all_ucontext-to-ucontext_t.patch b/4.6.4/gentoo/94_all_ucontext-to-ucontext_t.patch new file mode 100644 index 000..8b0a008 --- /dev/null +++ b/4.6.4/gentoo/94_all_ucontext-to-ucontext_t.patch @@ -0,0 +1,152 @@ +https://bugs.gentoo.org/629502 + +From ecf0d1a107133c715763940c2b197aa814710e1b Mon Sep 17 00:00:00 2001 +From: jsm28 +Date: Tue, 4 Jul 2017 10:25:10 + +Subject: [PATCH] Use ucontext_t not struct ucontext in linux-unwind.h files. + +Current glibc no longer gives the ucontext_t type the tag struct +ucontext, to conform with POSIX namespace rules. This requires +various linux-unwind.h files in libgcc, that were previously using +struct ucontext, to be fixed to use ucontext_t instead. This is +similar to the removal of the struct siginfo tag from siginfo_t some +years ago. + +This patch changes those files to use ucontext_t instead. As the +standard name that should be unconditionally safe, so this is not +restricted to architectures supported by glibc, or conditioned on the +glibc version. + +Tested compilation together with current glibc with glibc's +build-many-glibcs.py. + + * config/aarch64/linux-unwind.h (aarch64_fallback_frame_state), + config/alpha/linux-unwind.h (alpha_fallback_frame_state), + config/bfin/linux-unwind.h (bfin_fallback_frame_state), + config/i386/linux-unwind.h (x86_64_fallback_frame_state, + x86_fallback_frame_state), config/m68k/linux-unwind.h (struct + uw_ucontext), config/nios2/linux-unwind.h (struct nios2_ucontext), + config/pa/linux-unwind.h (pa32_fallback_frame_state), + config/sh/linux-unwind.h (sh_fallback_frame_state), + config/tilepro/linux-unwind.h (tile_fallback_frame_state), + config/xtensa/linux-unwind.h (xtensa_fallback_frame_state): Use + ucontext_t instead of struct ucontext. + + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-5-branch@249958 138bc75d-0d04-0410-961f-82ee72b054a4 +--- + libgcc/config/aarch64/linux-unwind.h | 2 +- + libgcc/config/alpha/linux-unwind.h | 2 +- + libgcc/config/bfin/linux-unwind.h| 2 +- + libgcc/config/i386/linux-unwind.h| 4 ++-- + libgcc/config/m68k/linux-unwind.h| 2 +- + libgcc/config/nios2/linux-unwind.h | 2 +- + libgcc/config/pa/linux-unwind.h | 2 +- + libgcc/config/sh/linux-unwind.h | 2 +- + libgcc/config/tilepro/linux-unwind.h | 2 +- + libgcc/config/xtensa/linux-unwind.h | 2 +- + 11 files changed, 25 insertions(+), 11 deletions(-) + +diff --git a/libgcc/config/alpha/linux-unwind.h b/libgcc/config/alpha/linux-unwind.h +index d65474fec12..9a226b195b5 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 = _->uc.uc_mcontext; + } +diff --git a/libgcc/config/bfin/linux-unwind.h b/libgcc/config/bfin/linux-unwind.h +index 0c270e435c7..7fa95d2dc96 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/libgcc/config/i386/linux-unwind.h b/libgcc/config/i386/linux-unwind.h +index e54bf73b1fd..d35fc4566ce 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