commit:     57827a2dbb31f225eaeb61a296fdbf0d49c88dc5
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 15 18:45:48 2018 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Sat Sep 15 18:45:48 2018 +0000
URL:        https://gitweb.gentoo.org/proj/gcc-patches.git/commit/?id=57827a2d

3.3.6: Fix for removal of struct ucontext in glibc 2.26

Fix by Christian Schmidt.

Bug: https://bugs.gentoo.org/664486
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>

 3.3.6/gentoo/89_all_gcc-3.3.x-ucontext.patch | 58 ++++++++++++++++++++++++++++
 3.3.6/gentoo/README.history                  |  2 +
 2 files changed, 60 insertions(+)

diff --git a/3.3.6/gentoo/89_all_gcc-3.3.x-ucontext.patch 
b/3.3.6/gentoo/89_all_gcc-3.3.x-ucontext.patch
new file mode 100644
index 0000000..dd5bfe9
--- /dev/null
+++ b/3.3.6/gentoo/89_all_gcc-3.3.x-ucontext.patch
@@ -0,0 +1,58 @@
+Fix for removal of struct ucontext in glibc 2.26
+
+Fix by Christian Schmidt.
+
+Bug: https://bugs.gentoo.org/664486
+--- a/gcc/config/alpha/linux.h
++++ b/gcc/config/alpha/linux.h
+@@ -89,7 +89,7 @@ Boston, MA 02111-1307, USA.  */
+       {                                                                       
\
+       struct rt_sigframe {                                            \
+         siginfo_t info;                                               \
+-        struct ucontext uc;                                           \
++        ucontext_t uc;                                                \
+       } *rt_ = (CONTEXT)->cfa;                                        \
+       sc_ = &rt_->uc.uc_mcontext;                                     \
+       }                                                                       
\
+--- a/gcc/config/i386/linux.h
++++ b/gcc/config/i386/linux.h
+@@ -260,7 +260,7 @@ Boston, MA 02111-1307, USA.  */
+         siginfo_t *pinfo;                                             \
+         void *puc;                                                    \
+         siginfo_t info;                                               \
+-        struct ucontext uc;                                           \
++        ucontext_t uc;                                                \
+       } *rt_ = (CONTEXT)->cfa;                                        \
+       sc_ = (struct sigcontext *) &rt_->uc.uc_mcontext;               \
+       }                                                                       
\
+--- a/gcc/config/i386/linux64.h
++++ b/gcc/config/i386/linux64.h
+@@ -112,7 +112,7 @@ Boston, MA 02111-1307, USA.  */
+     if (*(unsigned char *)(pc_+0) == 0x48                             \
+       && *(unsigned long *)(pc_+1) == 0x050f0000000fc0c7)             \
+       {                                                                       
\
+-      struct ucontext *uc_ = (CONTEXT)->cfa;                          \
++      ucontext_t *uc_ = (CONTEXT)->cfa;                               \
+       sc_ = (struct sigcontext *) &uc_->uc_mcontext;                  \
+       }                                                                       
\
+     else                                                              \
+@@ -182,7 +182,7 @@ Boston, MA 02111-1307, USA.  */
+         siginfo_t *pinfo;                                             \
+         void *puc;                                                    \
+         siginfo_t info;                                               \
+-        struct ucontext uc;                                           \
++        ucontext_t uc;                                                \
+       } *rt_ = (CONTEXT)->cfa;                                        \
+       sc_ = (struct sigcontext *) &rt_->uc.uc_mcontext;               \
+       }                                                                       
\
+--- a/gcc/config/rs6000/linux.h
++++ b/gcc/config/rs6000/linux.h
+@@ -101,7 +101,7 @@ Boston, MA 02111-1307, USA.  */
+ 
+ struct kernel_old_ucontext {
+   unsigned long     uc_flags;
+-  struct ucontext  *uc_link;
++  ucontext_t       *uc_link;
+   stack_t           uc_stack;
+   struct sigcontext_struct uc_mcontext;
+   sigset_t          uc_sigmask;

diff --git a/3.3.6/gentoo/README.history b/3.3.6/gentoo/README.history
index a2b5ae8..bc906b3 100644
--- a/3.3.6/gentoo/README.history
+++ b/3.3.6/gentoo/README.history
@@ -1,3 +1,5 @@
+1.10           TODO
+       + 89_all_gcc-3.3.x-ucontext.patch
 1.9            06 Apr 2015
        R 05_all_gcc-4.3.x-siginfo.patch -> 05_all_gcc-3.3.x-siginfo.patch
        + 10_all_gcc-3.4.6-c-parse-bison-3.patch

Reply via email to