[commit: ghc] master: Add Windows to NoSharedLibsPlatformList (4af1e76)

git at git.haskell.org git at git.haskell.org
Mon Jan 13 06:28:20 UTC 2014


Repository : ssh://git@git.haskell.org/ghc

On branch  : master
Link       : http://ghc.haskell.org/trac/ghc/changeset/4af1e76c701a7698ebd9b5ca3fb1394dd8b56c8d/ghc

>---------------------------------------------------------------

commit 4af1e76c701a7698ebd9b5ca3fb1394dd8b56c8d
Author: Austin Seipp <austin at well-typed.com>
Date:   Mon Jan 13 00:21:18 2014 -0600

    Add Windows to NoSharedLibsPlatformList
    
    We're punting on full -dynamic and -dynamic-too support for Windows
    right now, since it's still unstable. Also, ensure "Support dynamic-too"
    in `ghc --info` is set to "NO" for Cabal.
    
    See issues #7134, #8228, and #5987
    
    Signed-off-by: Austin Seipp <austin at well-typed.com>


>---------------------------------------------------------------

4af1e76c701a7698ebd9b5ca3fb1394dd8b56c8d
 compiler/main/DynFlags.hs |    4 +++-
 mk/config.mk.in           |   19 ++++---------------
 2 files changed, 7 insertions(+), 16 deletions(-)

diff --git a/compiler/main/DynFlags.hs b/compiler/main/DynFlags.hs
index 06d1ed9..734e7e9 100644
--- a/compiler/main/DynFlags.hs
+++ b/compiler/main/DynFlags.hs
@@ -3563,7 +3563,7 @@ compilerInfo dflags
        ("Support SMP",                 cGhcWithSMP),
        ("Tables next to code",         cGhcEnableTablesNextToCode),
        ("RTS ways",                    cGhcRTSWays),
-       ("Support dynamic-too",         "YES"),
+       ("Support dynamic-too",         if isWindows then "NO" else "YES"),
        ("Support parallel --make",     "YES"),
        ("Dynamic by default",          if dYNAMIC_BY_DEFAULT dflags
                                        then "YES" else "NO"),
@@ -3574,6 +3574,8 @@ compilerInfo dflags
        ("LibDir",                      topDir dflags),
        ("Global Package DB",           systemPackageConfig dflags)
       ]
+  where
+    isWindows = platformOS (targetPlatform dflags) == OSMinGW32
 
 #include "../includes/dist-derivedconstants/header/GHCConstantsHaskellWrappers.hs"
 
diff --git a/mk/config.mk.in b/mk/config.mk.in
index f61ecc0..59d48c4 100644
--- a/mk/config.mk.in
+++ b/mk/config.mk.in
@@ -94,22 +94,11 @@ else
 TargetElf = YES
 endif
 
-# Currently, on Windows, we artificially limit the unfolding creation
-# threshold to minimize the number of exported symbols on Windows
-# platforms in the stage2 DLL. This avoids a hard limit of 2^16
-# exported symbols in the windows dynamic linker.
-#
-# This is a pitifully low threshold (the default is 750,) but it
-# reduced the symbol count by about ~7,000, bringing us back under the
-# limit (for now.)
-#
-# See #5987
-ifeq "$(TargetOS_CPP)" "mingw32"
-GhcStage2HcOpts += -funfolding-creation-threshold=100
-endif
-
 # Some platforms don't support shared libraries
-NoSharedLibsPlatformList = arm-unknown-linux powerpc-unknown-linux
+NoSharedLibsPlatformList = arm-unknown-linux \
+	powerpc-unknown-linux \
+	x86_64-unknown-mingw32 \
+	i386-unknown-mingw32
 
 ifeq "$(SOLARIS_BROKEN_SHLD)" "YES"
 NoSharedLibsPlatformList += i386-unknown-solaris2



More information about the ghc-commits mailing list