summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--extra/libstdc++5/PKGBUILD15
-rw-r--r--extra/libstdc++5/gcc-3.3.6-ucontext-32bit.patch12
2 files changed, 27 insertions, 0 deletions
diff --git a/extra/libstdc++5/PKGBUILD b/extra/libstdc++5/PKGBUILD
new file mode 100644
index 00000000..ad8e2710
--- /dev/null
+++ b/extra/libstdc++5/PKGBUILD
@@ -0,0 +1,15 @@
+# backport missing ucontext_t fix
+
+source+=('gcc-3.3.6-ucontext-32bit.patch')
+md5sums+=('6deb06cd6acf74afa71fb8e9d5921cd4')
+
+eval "$(
+ declare -f prepare | \
+ sed '
+ /mkdir/ i \
+ patch -p1 -i "$srcdir/gcc-3.3.6-ucontext-32bit.patch"
+ '
+)"
+
+# for now disable testing, needs many more fixes
+unset check
diff --git a/extra/libstdc++5/gcc-3.3.6-ucontext-32bit.patch b/extra/libstdc++5/gcc-3.3.6-ucontext-32bit.patch
new file mode 100644
index 00000000..81ab4c60
--- /dev/null
+++ b/extra/libstdc++5/gcc-3.3.6-ucontext-32bit.patch
@@ -0,0 +1,12 @@
+diff -rauN gcc-3.3.6/gcc/config/i386/linux.h gcc-3.3.6-patch/gcc/config/i386/linux.h
+--- gcc-3.3.6/gcc/config/i386/linux.h 2019-08-07 17:42:49.368565918 +0200
++++ gcc-3.3.6-patch/gcc/config/i386/linux.h 2019-08-07 17:44:14.256537234 +0200
+@@ -260,7 +260,7 @@
+ siginfo_t *pinfo; \
+ void *puc; \
+ siginfo_t info; \
+- struct ucontext uc; \
++ ucontext_t uc; \
+ } *rt_ = (CONTEXT)->cfa; \
+ sc_ = (struct sigcontext *) &rt_->uc.uc_mcontext; \
+ } \