diff options
author | Ian Lynagh <igloo@earth.li> | 2010-07-29 01:25:07 +0000 |
---|---|---|
committer | Ian Lynagh <igloo@earth.li> | 2010-07-29 01:25:07 +0000 |
commit | 28c2bbb03ff6144f3a09e5286c8c3ca6ad3689e8 (patch) | |
tree | 9fb2d7f110a382b0049e8da7dd96fc01ee2bf8da /rts/BeginPrivate.h | |
parent | fd9f6472d9bb9b521533fdb0cd4a4bf0a742b840 (diff) | |
download | haskell-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.h | 6 |
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 |