aboutsummaryrefslogtreecommitdiffstats
path: root/x11-fonts
diff options
context:
space:
mode:
authorsbruno <sbruno@FreeBSD.org>2014-09-03 22:57:53 +0800
committersbruno <sbruno@FreeBSD.org>2014-09-03 22:57:53 +0800
commit8a1c1ec91c647753ef77df1eb9982dfae72b08ae (patch)
treeda6becb98afac5023addd0542446ed33587a5d5c /x11-fonts
parentd64f29a6eaa60d82796775d0c48d6defb0697ae3 (diff)
downloadfreebsd-ports-gnome-8a1c1ec91c647753ef77df1eb9982dfae72b08ae.tar.gz
freebsd-ports-gnome-8a1c1ec91c647753ef77df1eb9982dfae72b08ae.tar.zst
freebsd-ports-gnome-8a1c1ec91c647753ef77df1eb9982dfae72b08ae.zip
Undiagnosed ARMv6 core dump occurs when using GCC with fontconfig.
Avoid this crash and resore compiles via CLANG. PR: 183536 Submitted by: mazhe@alkumuna.eu Reviewed by: kwm
Diffstat (limited to 'x11-fonts')
-rw-r--r--x11-fonts/fontconfig/Makefile5
-rw-r--r--x11-fonts/fontconfig/files/patch-src__fccompat.c15
2 files changed, 15 insertions, 5 deletions
diff --git a/x11-fonts/fontconfig/Makefile b/x11-fonts/fontconfig/Makefile
index f9a87398110a..8448a513a1c6 100644
--- a/x11-fonts/fontconfig/Makefile
+++ b/x11-fonts/fontconfig/Makefile
@@ -43,11 +43,6 @@ OPTIONS_DEFINE= DOCS
.include <bsd.port.options.mk>
-# work around fc-cache crash on arm platform
-.if ${ARCH} == arm || ${ARCH} == armv6
-USE_GCC= any
-.endif
-
post-install:
.if ${PORT_OPTIONS:MDOCS}
${MKDIR} ${STAGEDIR}${DOCSDIR}
diff --git a/x11-fonts/fontconfig/files/patch-src__fccompat.c b/x11-fonts/fontconfig/files/patch-src__fccompat.c
new file mode 100644
index 000000000000..eecdeffa6994
--- /dev/null
+++ b/x11-fonts/fontconfig/files/patch-src__fccompat.c
@@ -0,0 +1,15 @@
+There is an undiagnosed ARMv6 core dump in this code
+as discovered in FreeBSD Bug 183536 when using clang.
+Removing this code from ARM builds resolves it.
+
+--- src/fccompat.c.orig 2013-10-11 03:10:18 UTC
++++ src/fccompat.c
+@@ -178,7 +178,7 @@
+ }
+
+ random_r(&fcrandbuf, &result);
+-#elif HAVE_RANDOM
++#elif HAVE_RANDOM && !defined(__arm__)
+ static char statebuf[256];
+ char *state;
+ static FcBool initialized = FcFalse;