From 3f6e3045889112bf4cab2768c92095209f02fe6c Mon Sep 17 00:00:00 2001 From: "Ben.Lippmeier.anu.edu.au" Date: Sat, 2 Jan 2010 10:03:34 +0000 Subject: [PATCH] Assume CmmLabels have dynamic linkage on non-Windows --- compiler/cmm/CLabel.hs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/compiler/cmm/CLabel.hs b/compiler/cmm/CLabel.hs index 7c8fe85..d7f7724 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) -- 1.7.10.4