summaryrefslogtreecommitdiff
path: root/rts/BeginPrivate.h
diff options
context:
space:
mode:
authorIan Lynagh <igloo@earth.li>2010-07-29 01:25:07 +0000
committerIan Lynagh <igloo@earth.li>2010-07-29 01:25:07 +0000
commit28c2bbb03ff6144f3a09e5286c8c3ca6ad3689e8 (patch)
tree9fb2d7f110a382b0049e8da7dd96fc01ee2bf8da /rts/BeginPrivate.h
parentfd9f6472d9bb9b521533fdb0cd4a4bf0a742b840 (diff)
downloadhaskell-28c2bbb03ff6144f3a09e5286c8c3ca6ad3689e8.tar.gz
Disable symbol visibility pragmas for FreeBSD
Do not use GCC pragmas for controlling visibility, because it causes "undefined reference" errors at link-time. The true reasons are unknown, however FreeBSD 8.x includes GCC 4.2.1 in the base system, which might be buggy.
Diffstat (limited to 'rts/BeginPrivate.h')
-rw-r--r--rts/BeginPrivate.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/rts/BeginPrivate.h b/rts/BeginPrivate.h
index 3ba4b8913d..4d7b121ad3 100644
--- a/rts/BeginPrivate.h
+++ b/rts/BeginPrivate.h
@@ -1,3 +1,7 @@
-#if __GNUC__ >= 4
+/* We don't use symbol visibility pragmas on FreeBSD, because it causes
+ "undefined reference" errors at link-time. The true reasons are
+ unknown, however FreeBSD 8.x includes GCC 4.2.1 in the base system,
+ which might be buggy. */
+#if __GNUC__ >= 4 && !defined(freebsd_HOST_OS)
#pragma GCC visibility push(hidden)
#endif