Mark HPC ticks labels as dynamic
authorReid Barton <rwbarton@gmail.com>
Tue, 1 Jul 2014 05:04:18 +0000 (01:04 -0400)
committerReid Barton <rwbarton@gmail.com>
Wed, 2 Jul 2014 17:42:39 +0000 (13:42 -0400)
This enables GHC's PIC machinery for accessing tickboxes of other
packages correctly when building dynamic libraries. Previously
GHC was doing strange and wrong things in that situation. See #9012.

compiler/cmm/CLabel.hs

index 407002f..9dccd29 100644 (file)
@@ -888,6 +888,8 @@ labelDynamic dflags this_pkg this_mod lbl =
 
    PlainModuleInitLabel m -> not (gopt Opt_Static dflags) && this_pkg /= (modulePackageId m)
 
+   HpcTicksLabel m        -> not (gopt Opt_Static dflags) && this_pkg /= (modulePackageId m)
+
    -- Note that DynamicLinkerLabels do NOT require dynamic linking themselves.
    _                 -> False
   where os = platformOS (targetPlatform dflags)