diff -u -r ../ghc-8.0.1/compiler/main/DriverPipeline.hs ./compiler/main/DriverPipeline.hs
--- ../ghc-8.0.1/compiler/main/DriverPipeline.hs	2016-05-16 13:08:53.000000000 -0400
+++ ./compiler/main/DriverPipeline.hs	2016-09-07 03:37:48.321941122 -0400
@@ -1831,10 +1831,7 @@
          | WayThreaded `elem` ways dflags =
             let os = platformOS (targetPlatform dflags)
             in if os == OSOsf3 then ["-lpthread", "-lexc"]
-               else if os `elem` [OSMinGW32, OSFreeBSD, OSOpenBSD,
-                                  OSNetBSD, OSHaiku, OSQNXNTO, OSiOS, OSDarwin]
-               then []
-               else ["-lpthread"]
+               else []
          | otherwise               = []
 
     rc_objs <- maybeCreateManifest dflags output_fn