aboutsummaryrefslogtreecommitdiff
path: root/x11-fonts/fontconfig
diff options
context:
space:
mode:
authorSean Bruno <sbruno@FreeBSD.org>2014-09-03 14:57:53 +0000
committerSean Bruno <sbruno@FreeBSD.org>2014-09-03 14:57:53 +0000
commitc547f4a0f08d3f61fdf909c4e8b177bf2927981e (patch)
treeda6becb98afac5023addd0542446ed33587a5d5c /x11-fonts/fontconfig
parent05460b88672778c26fa034ffb29fe70761b40731 (diff)
downloadports-c547f4a0f08d3f61fdf909c4e8b177bf2927981e.tar.gz
ports-c547f4a0f08d3f61fdf909c4e8b177bf2927981e.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
Notes
Notes: svn path=/head/; revision=367209
Diffstat (limited to 'x11-fonts/fontconfig')
-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;