[commit: ghc] wip/nfs-locking: Compile rts with -O2 (8e3e9bc)

git at git.haskell.org git at git.haskell.org
Thu Oct 26 23:36:51 UTC 2017


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

On branch  : wip/nfs-locking
Link       : http://ghc.haskell.org/trac/ghc/changeset/8e3e9bcf2c7fc37423a5b19ac314fe23447610ad/ghc

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

commit 8e3e9bcf2c7fc37423a5b19ac314fe23447610ad
Author: Moritz Angermann <moritz.angermann at gmail.com>
Date:   Tue Jan 5 13:57:35 2016 +0800

    Compile rts with -O2
    
    Fixes #90. We need to force inlining for rts to compile and not end up with missing symbols.


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

8e3e9bcf2c7fc37423a5b19ac314fe23447610ad
 src/Settings/Packages/Rts.hs | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/Settings/Packages/Rts.hs b/src/Settings/Packages/Rts.hs
index 36476a0..eb74eea 100644
--- a/src/Settings/Packages/Rts.hs
+++ b/src/Settings/Packages/Rts.hs
@@ -49,6 +49,13 @@ rtsPackageArgs = package rts ? do
           [ arg "-Irts"
           , arg $ "-I" ++ path -/- "build"
           , arg $ "-DRtsWay=\"rts_" ++ show way ++ "\""
+          -- rts **must** be compiled with optimizations. The INLINE_HEADER macro,
+          -- requires that functions are inlined to work as expected.  Inlining
+          -- only happens for optimized builds. Otherwise we can assume that
+          -- there is a non-inlined variant to use instead. But rts does not
+          -- provide non-inlined alternatives and hence needs the function to
+          -- be inlined. See also Issue #90
+          , arg $ "-O2"
 
           , (file "//RtsMessages.*" ||^ file "//Trace.*") ?
             arg ("-DProjectVersion=" ++ quote projectVersion)



More information about the ghc-commits mailing list