diff --git a/System/Posix/Signals.hsc b/System/Posix/Signals.hsc
index eb46ba427309c319e284c8fb4fee262af9bfd2fc..4b5321e7e70b5e076925d4852086482c030ef7f0 100644
--- a/System/Posix/Signals.hsc
+++ b/System/Posix/Signals.hsc
@@ -616,6 +616,17 @@ foreign import ccall unsafe "sigfillset"
 
 foreign import ccall unsafe "sigismember"
   c_sigismember :: Ptr CSigset -> CInt -> IO CInt
+#elif defined(darwin_HOST_OS) && __GLASGOW_HASKELL__ < 706
+-- see http://ghc.haskell.org/trac/ghc/ticket/7359#comment:3
+-- To be removed when support for GHC 7.4.x is dropped
+foreign import ccall unsafe "__hscore_sigdelset"
+  c_sigdelset   :: Ptr CSigset -> CInt -> IO CInt
+
+foreign import ccall unsafe "__hscore_sigfillset"
+  c_sigfillset  :: Ptr CSigset -> IO CInt
+
+foreign import ccall unsafe "__hscore_sigismember"
+  c_sigismember :: Ptr CSigset -> CInt -> IO CInt
 #else
 foreign import capi unsafe "signal.h sigdelset"
   c_sigdelset   :: Ptr CSigset -> CInt -> IO CInt