diff options
author | Ben.Lippmeier.anu.edu.au <unknown> | 2010-01-02 10:03:34 +0000 |
---|---|---|
committer | Ben.Lippmeier.anu.edu.au <unknown> | 2010-01-02 10:03:34 +0000 |
commit | 3f6e3045889112bf4cab2768c92095209f02fe6c (patch) | |
tree | 16706246b22cc31fef7ce8af1d14ee11bbd67688 /compiler/cmm/CLabel.hs | |
parent | 82be37a44c572d2e6df6b7da09ea4e059c3f3133 (diff) | |
download | haskell-3f6e3045889112bf4cab2768c92095209f02fe6c.tar.gz |
Assume CmmLabels have dynamic linkage on non-Windows
Diffstat (limited to 'compiler/cmm/CLabel.hs')
-rw-r--r-- | compiler/cmm/CLabel.hs | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/compiler/cmm/CLabel.hs b/compiler/cmm/CLabel.hs index 7c8fe85a34..d7f7724b3c 100644 --- a/compiler/cmm/CLabel.hs +++ b/compiler/cmm/CLabel.hs @@ -808,13 +808,13 @@ labelDynamic this_pkg lbl = -- is the RTS in a DLL or not? RtsLabel _ -> not opt_Static && (this_pkg /= rtsPackageId) + IdLabel n _ k -> isDllName this_pkg n + +#if mingw32_TARGET_OS -- When compiling in the "dyn" way, eack package is to be linked into its own shared library. CmmLabel pkg _ _ -> not opt_Static && (this_pkg /= pkg) - IdLabel n _ k -> isDllName this_pkg n - -#if mingw32_TARGET_OS -- Foreign label is in some un-named foreign package (or DLL) ForeignLabel _ _ ForeignLabelInExternalPackage _ -> True @@ -831,6 +831,8 @@ labelDynamic this_pkg lbl = -- so we claim that all foreign imports come from dynamic libraries ForeignLabel _ _ _ _ -> True + CmmLabel pkg _ _ -> True + #endif ModuleInitLabel m _ -> not opt_Static && this_pkg /= (modulePackageId m) PlainModuleInitLabel m -> not opt_Static && this_pkg /= (modulePackageId m) |