diff --git a/System/Posix/Directory.hsc b/System/Posix/Directory.hsc
index 7f64e167ad7e8df94d8a6d5bd871184fe40ce807..47fd91f01010f759ac75def622fd5f2296392203 100644
--- a/System/Posix/Directory.hsc
+++ b/System/Posix/Directory.hsc
@@ -1,3 +1,6 @@
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Trustworthy #-}
+#endif
 {-# LANGUAGE ForeignFunctionInterface #-}
 {-# OPTIONS_GHC -fno-warn-unused-imports #-}
 -----------------------------------------------------------------------------
diff --git a/System/Posix/DynamicLinker.hsc b/System/Posix/DynamicLinker.hsc
index 418ce39124e5f240d04fe00022795a5a4c8eb86c..ac6efb01471d1919dac277c8cbdcce40791adb13 100644
--- a/System/Posix/DynamicLinker.hsc
+++ b/System/Posix/DynamicLinker.hsc
@@ -1,3 +1,6 @@
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Trustworthy #-}
+#endif
 -----------------------------------------------------------------------------
 -- |
 -- Module      :  System.Posix.DynamicLinker
diff --git a/System/Posix/DynamicLinker/Module.hsc b/System/Posix/DynamicLinker/Module.hsc
index 7ea8284c3ac9086b251e6b27ea469814e495406c..15d19dfe1e36b1eaf071d685e26cc7e71c774ec3 100644
--- a/System/Posix/DynamicLinker/Module.hsc
+++ b/System/Posix/DynamicLinker/Module.hsc
@@ -1,3 +1,6 @@
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Trustworthy #-}
+#endif
 {-# LANGUAGE ForeignFunctionInterface #-}
 -----------------------------------------------------------------------------
 -- |
diff --git a/System/Posix/DynamicLinker/Prim.hsc b/System/Posix/DynamicLinker/Prim.hsc
index 908d86366d0b50caf24d719311cf6d10584b5441..d285ff60317f2cc32686e0acdbf7bca65ffda4d5 100644
--- a/System/Posix/DynamicLinker/Prim.hsc
+++ b/System/Posix/DynamicLinker/Prim.hsc
@@ -1,3 +1,6 @@
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Trustworthy #-}
+#endif
 {-# LANGUAGE ForeignFunctionInterface #-}
 -----------------------------------------------------------------------------
 -- |
diff --git a/System/Posix/Env.hsc b/System/Posix/Env.hsc
index 799fd6b1b31e4e0b372cea266230c3ad3c52465f..ba24c29a828c6fe1f915b7cbb8286d9344ea1126 100644
--- a/System/Posix/Env.hsc
+++ b/System/Posix/Env.hsc
@@ -1,3 +1,6 @@
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Trustworthy #-}
+#endif
 {-# LANGUAGE ForeignFunctionInterface #-}
 -----------------------------------------------------------------------------
 -- |
diff --git a/System/Posix/Error.hs b/System/Posix/Error.hs
index d0683c58bb8012df87d451380a18192a64dddce9..81bc62b408b2ed78e736287e34fee5330b3af220 100644
--- a/System/Posix/Error.hs
+++ b/System/Posix/Error.hs
@@ -1,3 +1,6 @@
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Trustworthy #-}
+#endif
 -----------------------------------------------------------------------------
 -- |
 -- Module      :  System.Posix.Error
diff --git a/System/Posix/Files.hsc b/System/Posix/Files.hsc
index e8dbe43e27945bd48e21575a997c1638762c4318..0831bc46fb73af0dc4b363df07ee8dd9b7a94cb8 100644
--- a/System/Posix/Files.hsc
+++ b/System/Posix/Files.hsc
@@ -1,3 +1,6 @@
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Trustworthy #-}
+#endif
 {-# LANGUAGE ForeignFunctionInterface #-}
 {-# OPTIONS_GHC -fno-warn-unused-imports #-}
 -----------------------------------------------------------------------------
diff --git a/System/Posix/IO.hsc b/System/Posix/IO.hsc
index 710299ba63ae74ac45e252e137f7551b9c599e65..31ee04bd98ce2001a2957cc7e9f33b55f305f70e 100644
--- a/System/Posix/IO.hsc
+++ b/System/Posix/IO.hsc
@@ -1,3 +1,6 @@
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Trustworthy #-}
+#endif
 {-# LANGUAGE ForeignFunctionInterface #-}
 {-# OPTIONS_GHC -fno-warn-unused-imports #-}
 {-# OPTIONS_GHC -XRecordWildCards #-}
diff --git a/System/Posix/Process.hsc b/System/Posix/Process.hsc
index 5b91b4163e1377c9b61441e1e97a72b675f2a205..87277ae4e00582f43956ec49854590c38f32a4a8 100644
--- a/System/Posix/Process.hsc
+++ b/System/Posix/Process.hsc
@@ -1,3 +1,6 @@
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Trustworthy #-}
+#endif
 {-# LANGUAGE ForeignFunctionInterface #-}
 -----------------------------------------------------------------------------
 -- |
diff --git a/System/Posix/Process/Internals.hs b/System/Posix/Process/Internals.hs
index 26f8ce58c1907c312d6c52fa602f8de63cd6f8c7..a8bd82bc159f8db0280c39d3e63fce6af55551cc 100644
--- a/System/Posix/Process/Internals.hs
+++ b/System/Posix/Process/Internals.hs
@@ -1,3 +1,6 @@
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Trustworthy #-}
+#endif
 
 module System.Posix.Process.Internals (
        pPrPr_disableITimers, c_execvpe,
diff --git a/System/Posix/Resource.hsc b/System/Posix/Resource.hsc
index 1a3d2f650577bcf28a843524569e73f59506adc3..84aa00923f2b5154451e63cb15d6c998c4f0e0e6 100644
--- a/System/Posix/Resource.hsc
+++ b/System/Posix/Resource.hsc
@@ -1,3 +1,6 @@
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Trustworthy #-}
+#endif
 {-# LANGUAGE ForeignFunctionInterface #-}
 {-# OPTIONS_GHC -w #-}
 -- The above warning supression flag is a temporary kludge.
diff --git a/System/Posix/Semaphore.hsc b/System/Posix/Semaphore.hsc
index a9d59dfd4bb9398a6c655e59bc89aa26ea8ecc97..900f7da8b2c8b015870b57236a6a597c70e344fa 100644
--- a/System/Posix/Semaphore.hsc
+++ b/System/Posix/Semaphore.hsc
@@ -1,5 +1,7 @@
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Trustworthy #-}
+#endif
 {-# LANGUAGE ForeignFunctionInterface #-}
-
 -----------------------------------------------------------------------------
 -- |
 -- Module      :  System.Posix.Semaphore
diff --git a/System/Posix/SharedMem.hsc b/System/Posix/SharedMem.hsc
index bc80063372a8f58a3df443b003128c406470a47f..81febd3e0bc0481268d7532192c033daeb918856 100644
--- a/System/Posix/SharedMem.hsc
+++ b/System/Posix/SharedMem.hsc
@@ -1,6 +1,8 @@
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Trustworthy #-}
+#endif
 {-# LANGUAGE ForeignFunctionInterface #-}
 {-# OPTIONS_GHC -fno-warn-unused-imports #-}
-
 -----------------------------------------------------------------------------
 -- |
 -- Module      :  System.Posix.SharedMem
diff --git a/System/Posix/Signals.hsc b/System/Posix/Signals.hsc
index e156e5b963741ca79f36b0baadf3f75519c137de..13e1e0523867ed05d5c542a02e03a8050012d243 100644
--- a/System/Posix/Signals.hsc
+++ b/System/Posix/Signals.hsc
@@ -1,3 +1,6 @@
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Trustworthy #-}
+#endif
 {-# LANGUAGE DeriveDataTypeable,PatternGuards #-}
 {-# OPTIONS_GHC -fno-cse #-} -- global variables
 -----------------------------------------------------------------------------
diff --git a/System/Posix/Signals/Exts.hsc b/System/Posix/Signals/Exts.hsc
index 0d98dd5183386cc781625cff9a3dc1dc076fc51d..1ff404917ee81ede2652c78f1f688583d2b13967 100644
--- a/System/Posix/Signals/Exts.hsc
+++ b/System/Posix/Signals/Exts.hsc
@@ -1,3 +1,6 @@
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Trustworthy #-}
+#endif
 {-# LANGUAGE ForeignFunctionInterface #-}
 -----------------------------------------------------------------------------
 -- |
diff --git a/System/Posix/Temp.hsc b/System/Posix/Temp.hsc
index 612580233e6cfb97c978fe8f177043699d7be495..b6af83eaa4abdd3137c44366183527842b7c6acb 100644
--- a/System/Posix/Temp.hsc
+++ b/System/Posix/Temp.hsc
@@ -1,3 +1,6 @@
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Trustworthy #-}
+#endif
 {-# LANGUAGE ForeignFunctionInterface #-}
 -----------------------------------------------------------------------------
 -- |
diff --git a/System/Posix/Time.hsc b/System/Posix/Time.hsc
index 1d2e107b6e5d9984d970120447f6747182603b51..9de3937e3422c12756fd1f68adfb5b8a21a2a9fe 100644
--- a/System/Posix/Time.hsc
+++ b/System/Posix/Time.hsc
@@ -1,3 +1,6 @@
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Trustworthy #-}
+#endif
 {-# LANGUAGE ForeignFunctionInterface #-}
 -----------------------------------------------------------------------------
 -- |
diff --git a/System/Posix/Unistd.hsc b/System/Posix/Unistd.hsc
index 4aefd60755f39d1b8fea1b8df1cd85e5b3caabee..8fbb525f484787834bffde3698ba6261df7a5887 100644
--- a/System/Posix/Unistd.hsc
+++ b/System/Posix/Unistd.hsc
@@ -1,3 +1,6 @@
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Trustworthy #-}
+#endif
 {-# LANGUAGE ForeignFunctionInterface #-}
 {-# OPTIONS_GHC -fno-warn-unused-imports -fno-warn-unused-binds #-}
 -----------------------------------------------------------------------------
diff --git a/System/Posix/User.hsc b/System/Posix/User.hsc
index 4f31451f9d79042f738a159c5eefdaa22d8a4f58..f1d4fc4cef03315a043edfe7f34d2aaf543582f6 100644
--- a/System/Posix/User.hsc
+++ b/System/Posix/User.hsc
@@ -1,3 +1,6 @@
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Trustworthy #-}
+#endif
 {-# LANGUAGE ForeignFunctionInterface #-}
 -----------------------------------------------------------------------------
 -- |