[commit: hadrian] master: Update RTS flags (#613) (a63ad32)

git at git.haskell.org git at git.haskell.org
Tue Jun 12 22:53:40 UTC 2018


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

On branch  : master
Link       : http://git.haskell.org/hadrian.git/commitdiff/a63ad3294b5d51eec50d454810a314c0b2a696c7

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

commit a63ad3294b5d51eec50d454810a314c0b2a696c7
Author: Andrey Mokhov <andrey.mokhov at gmail.com>
Date:   Tue Jun 12 11:19:52 2018 +0100

    Update RTS flags (#613)
    
    * Update RTS flags
    
    See #611
    
    * More tweaks


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

a63ad3294b5d51eec50d454810a314c0b2a696c7
 src/Settings/Packages/Rts.hs | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/src/Settings/Packages/Rts.hs b/src/Settings/Packages/Rts.hs
index a4ba3dd..67ea3e7 100644
--- a/src/Settings/Packages/Rts.hs
+++ b/src/Settings/Packages/Rts.hs
@@ -115,6 +115,7 @@ rtsPackageArgs = package rts ? do
           , arg $ "-DRtsWay=\"rts_" ++ show way ++ "\""
           -- Set the namespace for the rts fs functions
           , arg $ "-DFS_NAMESPACE=rts"
+          , arg $ "-DCOMPILING_RTS"
           -- RTS *must* be compiled with optimisations. The INLINE_HEADER macro
           -- requires that functions are inlined to work as expected. Inlining
           -- only happens for optimised builds. Otherwise we can assume that
@@ -122,8 +123,13 @@ rtsPackageArgs = package rts ? do
           -- provide non-inlined alternatives and hence needs the function to
           -- be inlined. See https://github.com/snowleopard/hadrian/issues/90.
           , arg "-O2"
+          , arg "-fomit-frame-pointer"
+          , arg "-g"
 
-          , Debug     `wayUnit` way          ? arg "-DDEBUG"
+          , Debug     `wayUnit` way          ? pure [ "-DDEBUG"
+                                                    , "-fno-omit-frame-pointer"
+                                                    , "-g"
+                                                    , "-O0" ]
           , way `elem` [debug, debugDynamic] ? arg "-DTICKY_TICKY"
           , Profiling `wayUnit` way          ? arg "-DPROFILING"
           , Threaded  `wayUnit` way          ? arg "-DTHREADED_RTS"
@@ -153,8 +159,7 @@ rtsPackageArgs = package rts ? do
           , input "//xxhash.c" ? pure
             [ "-O3"
             , "-ffast-math"
-            , "-ftree-vectorize"
-            ]
+            , "-ftree-vectorize" ]
 
             , inputs ["//Evac.c", "//Evac_thr.c"] ? arg "-funroll-loops"
 
@@ -175,7 +180,6 @@ rtsPackageArgs = package rts ? do
             -- emits warnings about call-clobbered registers on x86_64
             , inputs [ "//RetainerProfile.c", "//StgCRun.c"
                      , "//win32/ConsoleHandler.c", "//win32/ThrIOManager.c"] ? arg "-w"
-            , inputs ["//RetainerSet.c"] ? arg "-Wno-format"
             -- The above warning suppression flags are a temporary kludge.
             -- While working on this module you are encouraged to remove it and fix
             -- any warnings in the module. See:
@@ -184,7 +188,6 @@ rtsPackageArgs = package rts ? do
             , (not <$> flag GccIsClang) ?
               inputs ["//Compact.c"] ? arg "-finline-limit=2500"
 
-            , input "//StgCRun.c" ? windowsHost ? arg "-Wno-return-local-addr"
             , input "//RetainerProfile.c" ? flag GccIsClang ?
               arg "-Wno-incompatible-pointer-types"
             , windowsHost ? arg ("-DWINVER=" ++ windowsVersion)



More information about the ghc-commits mailing list