summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lisp/gcl')
-rw-r--r--dev-lisp/gcl/files/gcl-2.6.13_pre99-assertion.patch12
-rw-r--r--dev-lisp/gcl/gcl-2.6.13_pre99.ebuild7
2 files changed, 18 insertions, 1 deletions
diff --git a/dev-lisp/gcl/files/gcl-2.6.13_pre99-assertion.patch b/dev-lisp/gcl/files/gcl-2.6.13_pre99-assertion.patch
new file mode 100644
index 000000000000..e788b62f2bf0
--- /dev/null
+++ b/dev-lisp/gcl/files/gcl-2.6.13_pre99-assertion.patch
@@ -0,0 +1,12 @@
+https://bugs.gentoo.org/778770
+--- a/h/notcomp.h
++++ b/h/notcomp.h
+@@ -299,7 +299,7 @@
+ #define coerce_to_filename(a_,b_) coerce_to_filename1(a_,b_,sizeof(b_))
+
+ #include <errno.h>
+-#define massert(a_) ({errno=0;if (!(a_)||errno) assert_error(#a_,__LINE__,__FILE__,__FUNCTION__);})
++#define massert(a_) ({errno=0;if (!(a_)) assert_error(#a_,__LINE__,__FILE__,__FUNCTION__);})
+
+ extern bool writable_malloc;
+ #define writable_malloc_wrap(f_,rt_,a_...) ({rt_ v;bool w=writable_malloc;writable_malloc=1;v=f_(a_);writable_malloc=w;v;})
diff --git a/dev-lisp/gcl/gcl-2.6.13_pre99.ebuild b/dev-lisp/gcl/gcl-2.6.13_pre99.ebuild
index a1f37e04a53b..6858ff5af62f 100644
--- a/dev-lisp/gcl/gcl-2.6.13_pre99.ebuild
+++ b/dev-lisp/gcl/gcl-2.6.13_pre99.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -28,6 +28,11 @@ DEPEND="${RDEPEND}
app-text/texi2html
>=sys-devel/autoconf-2.52"
+PATCHES=(
+ # bug 778770
+ "${FILESDIR}"/${P}-assertion.patch
+)
+
src_configure() {
strip-flags
filter-flags -fstack-protector -fstack-protector-all