Quantcast

[GHC] #5987: Too many symbols in ghc package DLL

classic Classic list List threaded Threaded
18 messages Options
GHC
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

[GHC] #5987: Too many symbols in ghc package DLL

GHC
#5987: Too many symbols in ghc package DLL
---------------------------------+------------------------------------------
    Reporter:  igloo             |       Owner:                  
        Type:  bug               |      Status:  new            
    Priority:  highest           |   Milestone:  7.6.1          
   Component:  Compiler          |     Version:  7.5            
    Keywords:                    |          Os:  Unknown/Multiple
Architecture:  Unknown/Multiple  |     Failure:  None/Unknown    
  Difficulty:  Unknown           |    Testcase:                  
   Blockedby:                    |    Blocking:                  
     Related:                    |  
---------------------------------+------------------------------------------
 In HEAD, the libHSghc DLL currently contains about 75000 symbols, but DLLs
 can only have about 65000 symbols. This means that when you try to run
 anything that uses the libHSghc DLL, references get resolved incorrectly
 and the GCer segfaults.

 Max ran into this before, and temporarily fixed it with:
 {{{
 commit dd391759500ab2b6abd23d502ade7ff8946c780f
 Author: Max Bolingbroke <[hidden email]>
 Date:   Wed Jul 6 18:01:02 2011 +0100

     Don't export the _info symbol for the data constructor worker bindings
 }}}
 but the number of symbols has since crept up.

 Three possible solutions:
  * Split the ghc package up into `ghc-base`, `ghc-codegen`, `ghc-
 nativegen`, etc.
  * Export fewer things. We'd first have to do this at the Haskell level
 (i.e. stop exposing some modules in the .cabal file; this may upset GHC
 API users), and then thread this info through so that we can tell the
 linker which symbols we do/don't want it to expose. Unfortunately, re-
 exports at the Haskell level mean that it isn't as simple as just not
 exporting anything from modules that aren't exposed.
  * Automatically split the package into 2 DLLs. The tricky bit here is
 that we'd need dependencies to go only in one direction, i.e. if
 libHSghc1.dll uses symbols from libHSghc2.dll, then libHSghc2.dll doesn't
 use any symbols from libHSghc1.dll. Ideally Cabal would have a way to do
 this automatically, and the GHC build system would use the split that it
 calculates. However, i don't think Cabal has enough info to do this
 currently.

 It would also be good if we can detect that building a DLL has gone wrong,
 and give an error.

--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/5987>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler

_______________________________________________
Glasgow-haskell-bugs mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
GHC
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: [GHC] #5987: Too many symbols in ghc package DLL

GHC
#5987: Too many symbols in ghc package DLL
---------------------------------+------------------------------------------
    Reporter:  igloo             |       Owner:                  
        Type:  bug               |      Status:  new            
    Priority:  highest           |   Milestone:  7.6.1          
   Component:  Compiler          |     Version:  7.5            
    Keywords:                    |          Os:  Unknown/Multiple
Architecture:  Unknown/Multiple  |     Failure:  None/Unknown    
  Difficulty:  Unknown           |    Testcase:                  
   Blockedby:                    |    Blocking:                  
     Related:                    |  
---------------------------------+------------------------------------------

Comment(by batterseapower):

 I reported a bug to binutils over 5 months ago asking them to make "ld"
 error out when this happens, but there is no indication that anyone has
 even read the bug. I even provided a patch, so this is a bit disappointing
 :-(

 The bug is at http://sourceware.org/bugzilla/show_bug.cgi?id=12969

--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/5987#comment:1>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler

_______________________________________________
Glasgow-haskell-bugs mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
GHC
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: [GHC] #5987: Too many symbols in ghc package DLL

GHC
In reply to this post by GHC
#5987: Too many symbols in ghc package DLL
---------------------------------+------------------------------------------
    Reporter:  igloo             |       Owner:                  
        Type:  bug               |      Status:  new            
    Priority:  highest           |   Milestone:  7.6.1          
   Component:  Compiler          |     Version:  7.5            
    Keywords:                    |          Os:  Unknown/Multiple
Architecture:  Unknown/Multiple  |     Failure:  None/Unknown    
  Difficulty:  Unknown           |    Testcase:                  
   Blockedby:                    |    Blocking:                  
     Related:                    |  
---------------------------------+------------------------------------------

Comment(by igloo):

 Simon Marlow says:

 There is one problem that I know of with breaking up the compiler into
 separate packages: GHC will do too much recompilation when things change,
 which will make development somewhat painful.  I discovered this when
 making changes in hoopl: a small change in hoopl causes recompilation of
 nearly every module in GHC.  The reason is the way that GHC records
 dependencies across packages: rather than the fine-grained dependencies we
 get within a package, a dependency on a package module records only the
 ABI hash of the whole module.

--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/5987#comment:2>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler

_______________________________________________
Glasgow-haskell-bugs mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
GHC
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: [GHC] #5987: Too many symbols in ghc package DLL

GHC
In reply to this post by GHC
#5987: Too many symbols in ghc package DLL
---------------------------------+------------------------------------------
    Reporter:  igloo             |       Owner:                  
        Type:  bug               |      Status:  new            
    Priority:  highest           |   Milestone:  7.6.1          
   Component:  Compiler          |     Version:  7.5            
    Keywords:                    |          Os:  Unknown/Multiple
Architecture:  Unknown/Multiple  |     Failure:  None/Unknown    
  Difficulty:  Unknown           |    Testcase:                  
   Blockedby:                    |    Blocking:                  
     Related:                    |  
---------------------------------+------------------------------------------

Comment(by simonpj):

 I mis-read Max's comment. I thought he was saying that we (the GHC crowd)
 have been ignoring the ticket.   But actually he's saying that he offered
 a patch to the `binutils` folk, but they have ignored it so far.  Does
 anyone know anyone who who might help un-glue the `binutils` process?

 Simon

--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/5987#comment:3>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler

_______________________________________________
Glasgow-haskell-bugs mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
GHC
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: [GHC] #5987: Too many symbols in ghc package DLL

GHC
In reply to this post by GHC
#5987: Too many symbols in ghc package DLL
---------------------------------+------------------------------------------
    Reporter:  igloo             |       Owner:                  
        Type:  bug               |      Status:  new            
    Priority:  highest           |   Milestone:  7.6.1          
   Component:  Compiler          |     Version:  7.5            
    Keywords:                    |          Os:  Unknown/Multiple
Architecture:  Unknown/Multiple  |     Failure:  None/Unknown    
  Difficulty:  Unknown           |    Testcase:                  
   Blockedby:                    |    Blocking:                  
     Related:                    |  
---------------------------------+------------------------------------------

Comment(by igloo):

 Note that the binutils patch doesn't actually fix the problem: It just
 means that the GHC build will fail, rather than silently making a bogus
 DLL.

--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/5987#comment:4>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler

_______________________________________________
Glasgow-haskell-bugs mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
GHC
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: [GHC] #5987: Too many symbols in ghc package DLL

GHC
In reply to this post by GHC
#5987: Too many symbols in ghc package DLL
---------------------------------+------------------------------------------
    Reporter:  igloo             |       Owner:  igloo          
        Type:  bug               |      Status:  new            
    Priority:  highest           |   Milestone:  7.6.1          
   Component:  Compiler          |     Version:  7.5            
    Keywords:                    |          Os:  Unknown/Multiple
Architecture:  Unknown/Multiple  |     Failure:  None/Unknown    
  Difficulty:  Unknown           |    Testcase:                  
   Blockedby:                    |    Blocking:                  
     Related:                    |  
---------------------------------+------------------------------------------
Changes (by igloo):

  * owner:  => igloo


--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/5987#comment:5>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler

_______________________________________________
Glasgow-haskell-bugs mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
GHC
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: [GHC] #5987: Too many symbols in ghc package DLL

GHC
In reply to this post by GHC
#5987: Too many symbols in ghc package DLL
---------------------------------+------------------------------------------
    Reporter:  igloo             |       Owner:  igloo          
        Type:  bug               |      Status:  new            
    Priority:  highest           |   Milestone:  7.6.1          
   Component:  Compiler          |     Version:  7.5            
    Keywords:                    |          Os:  Unknown/Multiple
Architecture:  Unknown/Multiple  |     Failure:  None/Unknown    
  Difficulty:  Unknown           |    Testcase:                  
   Blockedby:                    |    Blocking:                  
     Related:                    |  
---------------------------------+------------------------------------------

Comment(by igloo@…):

 commit 6c29fad6a1ab20e8cfed5ad4af406a821ee74291
 {{{
 Author: Ian Lynagh <[hidden email]>
 Date:   Fri Jun 29 17:47:32 2012 +0100

     Don't build the ghc DLL on Windows; works around trac #5987

     We also don't build DLLs for the dph-lifted-* packages as they depend
     on ghc.

  compiler/ghc.mk        |    8 ++++++++
  ghc.mk                 |   12 ++++++++++++
  rules/build-package.mk |    2 +-
  3 files changed, 21 insertions(+), 1 deletions(-)
 }}}

--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/5987#comment:6>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler

_______________________________________________
Glasgow-haskell-bugs mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
GHC
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: [GHC] #5987: Too many symbols in ghc package DLL

GHC
In reply to this post by GHC
#5987: Too many symbols in ghc package DLL
---------------------------------+------------------------------------------
    Reporter:  igloo             |       Owner:  igloo          
        Type:  bug               |      Status:  new            
    Priority:  highest           |   Milestone:  7.6.1          
   Component:  Compiler          |     Version:  7.5            
    Keywords:                    |          Os:  Unknown/Multiple
Architecture:  Unknown/Multiple  |     Failure:  None/Unknown    
  Difficulty:  Unknown           |    Testcase:                  
   Blockedby:                    |    Blocking:                  
     Related:                    |  
---------------------------------+------------------------------------------

Comment(by igloo@…):

 commit 5ddc841a547d2d37428280b04c071a1d4b83e10d
 {{{
 Author: Ian Lynagh <[hidden email]>
 Date:   Fri Jun 29 01:33:17 2012 +0100

     On Windows, detect if DLLs have too many symbols; trac #5987

     The test isn't very pretty; it involves trawling through the
     objdump -p output. I couldn't find an easier way, unfortuantely.

  configure.ac               |    7 +++++++
  mk/config.mk.in            |    1 +
  rules/build-package-way.mk |    3 +++
  3 files changed, 11 insertions(+), 0 deletions(-)
 }}}

--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/5987#comment:7>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler

_______________________________________________
Glasgow-haskell-bugs mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
GHC
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: [GHC] #5987: Too many symbols in ghc package DLL

GHC
In reply to this post by GHC
#5987: Too many symbols in ghc package DLL
---------------------------------+------------------------------------------
    Reporter:  igloo             |       Owner:  igloo          
        Type:  bug               |      Status:  new            
    Priority:  highest           |   Milestone:  7.8.1          
   Component:  Compiler          |     Version:  7.5            
    Keywords:                    |          Os:  Unknown/Multiple
Architecture:  Unknown/Multiple  |     Failure:  None/Unknown    
  Difficulty:  Unknown           |    Testcase:                  
   Blockedby:                    |    Blocking:                  
     Related:                    |  
---------------------------------+------------------------------------------
Changes (by igloo):

  * milestone:  7.6.1 => 7.8.1


Comment:

 This isn't fixed, but (a) we now detect it if it happens, and (b) we no
 longer build a broken ghc package DLL (because we don't build the DLL at
 all).

 So we still need a proper fix, but this will do for now.

--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/5987#comment:8>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler

_______________________________________________
Glasgow-haskell-bugs mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
GHC
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: [GHC] #5987: Too many symbols in ghc package DLL

GHC
In reply to this post by GHC
#5987: Too many symbols in ghc package DLL
---------------------------------+------------------------------------------
    Reporter:  igloo             |       Owner:                  
        Type:  bug               |      Status:  new            
    Priority:  highest           |   Milestone:  7.8.1          
   Component:  Compiler          |     Version:  7.5            
    Keywords:                    |          Os:  Unknown/Multiple
Architecture:  Unknown/Multiple  |     Failure:  None/Unknown    
  Difficulty:  Unknown           |    Testcase:                  
   Blockedby:                    |    Blocking:                  
     Related:                    |  
---------------------------------+------------------------------------------
Changes (by igloo):

  * owner:  igloo =>


--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/5987#comment:9>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler

_______________________________________________
Glasgow-haskell-bugs mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
GHC
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: [GHC] #5987: Too many symbols in ghc package DLL

GHC
In reply to this post by GHC
#5987: Too many symbols in ghc package DLL
---------------------------------+------------------------------------------
    Reporter:  igloo             |       Owner:                  
        Type:  bug               |      Status:  new            
    Priority:  highest           |   Milestone:  7.8.1          
   Component:  Compiler          |     Version:  7.5            
    Keywords:                    |          Os:  Unknown/Multiple
Architecture:  Unknown/Multiple  |     Failure:  None/Unknown    
  Difficulty:  Unknown           |    Testcase:                  
   Blockedby:                    |    Blocking:                  
     Related:                    |  
---------------------------------+------------------------------------------

Comment(by marlowsd@…):

 commit 99fd2469fba1a38b2a65b4694f337d92e559df01
 {{{
 Merge: d260d91... 0d19922...
 Author: Simon Marlow <[hidden email]>
 Date:   Wed Jul 4 10:34:48 2012 +0100

     Merge remote-tracking branch 'origin/master' into newcg

     * origin/master: (756 commits)
       don't crash if argv[0] == NULL (#7037)
       -package P was loading all versions of P in GHCi (#7030)
       Add a Note, copying text from #2437
       improve the --help docs a bit (#7008)
       Copy Data.HashTable's hashString into our Util module
       Build fix
       Build fixes
       Parse error: suggest brackets and indentation.
       Don't build the ghc DLL on Windows; works around trac #5987
       On Windows, detect if DLLs have too many symbols; trac #5987
       Add some more Integer rules; fixes #6111
       Fix PA dfun construction with silent superclass args
       Add silent superclass parameters to the vectoriser
       Add silent superclass parameters (again)
       Mention Generic1 in the user's guide
       Make the GHC API a little more powerful.
       tweak llvm version warning message
       New version of the patch for #5461.
       Fix Word64ToInteger conversion rule.
       Implemented feature request on reconfigurable pretty-printing in
 GHCi (#5461)
       ...

     Conflicts:
         compiler/basicTypes/UniqSupply.lhs
         compiler/cmm/CmmBuildInfoTables.hs
         compiler/cmm/CmmLint.hs
         compiler/cmm/CmmOpt.hs
         compiler/cmm/CmmPipeline.hs
         compiler/cmm/CmmStackLayout.hs
         compiler/cmm/MkGraph.hs
         compiler/cmm/OldPprCmm.hs
         compiler/codeGen/CodeGen.lhs
         compiler/codeGen/StgCmm.hs
         compiler/codeGen/StgCmmBind.hs
         compiler/codeGen/StgCmmLayout.hs
         compiler/codeGen/StgCmmUtils.hs
         compiler/main/CodeOutput.lhs
         compiler/main/HscMain.hs
         compiler/nativeGen/AsmCodeGen.lhs
         compiler/simplStg/SimplStg.lhs

  .authorspellings                                   |   29 -
  .darcs-boring                                      |  256 ---
  .gitignore                                         |    1 +
  README                                             |   11 +-
  aclocal.m4                                         |   96 +-
  bindisttest/Makefile                               |    4 +-
  bindisttest/ghc.mk                                 |    4 +-
  compiler/HsVersions.h                              |   13 +-
  compiler/basicTypes/BasicTypes.lhs                 |   44 +-
  compiler/basicTypes/DataCon.lhs                    |   33 +-
  compiler/basicTypes/Demand.lhs                     |    3 -
  compiler/basicTypes/Id.lhs                         |   21 +-
  compiler/basicTypes/IdInfo.lhs                     |   17 +-
  compiler/basicTypes/Literal.lhs                    |   56 +-
  compiler/basicTypes/MkId.lhs                       |   74 +-
  compiler/basicTypes/MkId.lhs-boot                  |    3 +
  compiler/basicTypes/Name.lhs                       |    5 +-
  compiler/basicTypes/NameEnv.lhs                    |   32 +-
  compiler/basicTypes/OccName.lhs                    |   13 +-
  compiler/basicTypes/RdrName.lhs                    |   46 +-
  compiler/basicTypes/SrcLoc.lhs                     |  279 ++--
  compiler/basicTypes/UniqSupply.lhs                 |    9 +-
  compiler/basicTypes/Unique.lhs                     |   37 +-
  compiler/basicTypes/Var.lhs                        |   40 +-
  compiler/cmm/Bitmap.hs                             |    2 +-
  compiler/cmm/CLabel.hs                             |  117 +-
  compiler/cmm/Cmm.hs                                |   10 +-
  compiler/cmm/CmmBuildInfoTables.hs                 |   38 +-
  compiler/cmm/CmmCvt.hs                             |    2 +-
  compiler/cmm/CmmExpr.hs                            |    4 +
  compiler/cmm/CmmInfo.hs                            |    4 +-
  compiler/cmm/CmmLint.hs                            |   71 +-
  compiler/cmm/CmmMachOp.hs                          |    9 +-
  compiler/cmm/CmmOpt.hs                             |   31 +-
  compiler/cmm/CmmParse.y                            |   10 +-
  compiler/cmm/CmmPipeline.hs                        |   22 +-
  compiler/cmm/CmmProcPoint.hs                       |    2 +-
  compiler/cmm/CmmStackLayout.hs                     |  591 +++++
  compiler/cmm/CmmType.hs                            |    6 +
  compiler/cmm/CmmUtils.hs                           |    7 +-
  compiler/cmm/OldCmm.hs                             |    9 +-
  compiler/cmm/OldCmmLint.hs                         |   70 +-
  compiler/cmm/OldCmmUtils.hs                        |    1 +
  compiler/cmm/OldPprCmm.hs                          |   99 +-
  compiler/cmm/OptimizationFuel.hs                   |    1 +
  compiler/cmm/PprC.hs                               |   76 +-
  compiler/cmm/PprCmm.hs                             |  109 +-
  compiler/cmm/PprCmmDecl.hs                         |   97 +-
  compiler/cmm/PprCmmExpr.hs                         |  117 +-
  compiler/codeGen/CgBindery.lhs                     |   27 +-
  compiler/codeGen/CgCase.lhs                        |    1 -
  compiler/codeGen/CgClosure.lhs                     |   29 +-
  compiler/codeGen/CgCon.lhs                         |   11 +-
  compiler/codeGen/CgExpr.lhs                        |    2 +-
  compiler/codeGen/CgForeignCall.hs                  |    8 +-
  compiler/codeGen/CgInfoTbls.hs                     |    5 +-
  compiler/codeGen/CgMonad.lhs                       |    1 +
  compiler/codeGen/CgParallel.hs                     |   69 +-
  compiler/codeGen/CgPrimOp.hs                       |  186 ++-
  compiler/codeGen/CgProf.hs                         |    3 +-
  compiler/codeGen/CgStackery.lhs                    |    3 +-
  compiler/codeGen/CgTailCall.lhs                    |    1 +
  compiler/codeGen/CgTicky.hs                        |   13 +-
  compiler/codeGen/CgUtils.hs                        |   13 +-
  compiler/codeGen/ClosureInfo.lhs                   |   50 +-
  compiler/codeGen/CodeGen.lhs                       |    3 +-
  compiler/codeGen/StgCmm.hs                         |    5 +-
  compiler/codeGen/StgCmmBind.hs                     |   47 +-
  compiler/codeGen/StgCmmClosure.hs                  |   68 +-
  compiler/codeGen/StgCmmCon.hs                      |    4 +-
  compiler/codeGen/StgCmmEnv.hs                      |    1 -
  compiler/codeGen/StgCmmExpr.hs                     |    2 +-
  compiler/codeGen/StgCmmForeign.hs                  |    7 +-
  compiler/codeGen/StgCmmGran.hs                     |   57 +-
  compiler/codeGen/StgCmmHeap.hs                     |   10 +-
  compiler/codeGen/StgCmmLayout.hs                   |   27 +-
  compiler/codeGen/StgCmmMonad.hs                    |   12 +-
  compiler/codeGen/StgCmmPrim.hs                     |   17 +-
  compiler/codeGen/StgCmmProf.hs                     |    3 +-
  compiler/codeGen/StgCmmTicky.hs                    |   19 +-
  compiler/codeGen/StgCmmUtils.hs                    |   14 +-
  compiler/coreSyn/CoreArity.lhs                     |   10 +-
  compiler/coreSyn/CoreFVs.lhs                       |   20 +-
  compiler/coreSyn/CoreLint.lhs                      |  531 ++---
  compiler/coreSyn/CorePrep.lhs                      |  481 ++--
  compiler/coreSyn/CoreSubst.lhs                     |    5 +-
  compiler/coreSyn/CoreSyn.lhs                       |   92 +-
  compiler/coreSyn/CoreTidy.lhs                      |    4 +-
  compiler/coreSyn/CoreUnfold.lhs                    |  165 +-
  compiler/coreSyn/CoreUtils.lhs                     |  275 ++-
  compiler/coreSyn/MkCore.lhs                        |   54 +-
  compiler/coreSyn/MkExternalCore.lhs                |  199 +-
  compiler/coreSyn/PprCore.lhs                       |  261 ++--
  compiler/coreSyn/TrieMap.lhs                       |  137 +-
  compiler/deSugar/Coverage.lhs                      |  510 +++--
  compiler/deSugar/Desugar.lhs                       |    9 +-
  compiler/deSugar/DsArrows.lhs                      |    4 +-
  compiler/deSugar/DsBinds.lhs                       |  208 ++-
  compiler/deSugar/DsCCall.lhs                       |   13 +-
  compiler/deSugar/DsExpr.lhs                        |   63 +-
  compiler/deSugar/DsForeign.lhs                     |  136 +-
  compiler/deSugar/DsListComp.lhs                    |   50 +-
  compiler/deSugar/DsMeta.hs                         | 1005 +++++----
  compiler/deSugar/DsMonad.lhs                       |   19 +-
  compiler/deSugar/DsUtils.lhs                       |    4 +-
  compiler/deSugar/Match.lhs                         |    2 +-
  compiler/deSugar/MatchCon.lhs                      |   17 +-
  compiler/ghc.cabal.in                              |   42 +-
  compiler/ghc.mk                                    |   28 +-
  compiler/ghci/ByteCodeAsm.lhs                      |  599 +++---
  compiler/ghci/ByteCodeGen.lhs                      |  276 ++-
  compiler/ghci/ByteCodeItbls.lhs                    |   31 +-
  compiler/ghci/ByteCodeLink.lhs                     |   14 +-
  compiler/ghci/Debugger.hs                          |   11 +-
  compiler/ghci/DebuggerUtils.hs                     |    4 +-
  compiler/ghci/LibFFI.hsc                           |    4 +-
  compiler/ghci/Linker.lhs                           |  705 +++---
  compiler/ghci/ObjLink.lhs                          |   41 +-
  compiler/ghci/RtClosureInspect.hs                  |  180 +-
  compiler/hsSyn/Convert.lhs                         |  353 ++--
  compiler/hsSyn/HsBinds.lhs                         |   44 +-
  compiler/hsSyn/HsDecls.lhs                         |  419 ++--
  compiler/hsSyn/HsExpr.lhs                          |   46 +-
  compiler/hsSyn/HsImpExp.lhs                        |   19 +-
  compiler/hsSyn/HsPat.lhs                           |   11 +-
  compiler/hsSyn/HsSyn.lhs                           |    3 +-
  compiler/hsSyn/HsTypes.lhs                         |  406 ++--
  compiler/hsSyn/HsUtils.lhs                         |   94 +-
  compiler/iface/BinIface.hs                         |  169 +-
  compiler/iface/BuildTyCl.lhs                       |   15 +-
  compiler/iface/FlagChecker.hs                      |   46 +-
  compiler/iface/IfaceEnv.lhs                        |   25 +-
  compiler/iface/IfaceSyn.lhs                        |   39 +-
  compiler/iface/IfaceType.lhs                       |  154 +-
  compiler/iface/LoadIface.lhs                       |   15 +-
  compiler/iface/MkIface.lhs                         |  254 ++-
  compiler/iface/TcIface.lhs                         |  198 ++-
  compiler/llvmGen/Llvm.hs                           |    1 -
  compiler/llvmGen/Llvm/PpLlvm.hs                    |  106 +-
  compiler/llvmGen/LlvmCodeGen.hs                    |   41 +-
  compiler/llvmGen/LlvmCodeGen/Base.hs               |   16 +-
  compiler/llvmGen/LlvmCodeGen/CodeGen.hs            |   57 +-
  compiler/llvmGen/LlvmCodeGen/Ppr.hs                |   13 +-
  compiler/main/Annotations.hs                       |  107 +
  compiler/main/Annotations.lhs                      |  108 -
  compiler/main/CmdLineParser.hs                     |    4 +-
  compiler/main/CodeOutput.lhs                       |   13 +-
  compiler/main/Constants.lhs                        |    4 +
  compiler/main/DriverMkDepend.hs                    |   10 +-
  compiler/main/DriverPipeline.hs                    |  106 +-
  compiler/main/DynFlags.hs                          |  412 +++-
  compiler/main/DynFlags.hs-boot                     |   13 +
  compiler/main/DynamicLoading.hs                    |   21 +-
  compiler/main/ErrUtils.lhs                         |  119 +-
  compiler/main/ErrUtils.lhs-boot                    |    1 +
  compiler/main/GHC.hs                               |  192 ++-
  compiler/main/GhcMake.hs                           | 1306 ++++++------
  compiler/main/HeaderInfo.hs                        |   78 +-
  compiler/main/HscMain.hs                           |  325 ++--
  compiler/main/HscStats.hs                          |  160 ++
  compiler/main/HscStats.lhs                         |   12 +-
  compiler/main/HscTypes.lhs                         |  105 +-
  compiler/main/InteractiveEval.hs                   |   99 +-
  compiler/main/PackageConfig.hs                     |   50 +-
  compiler/main/Packages.lhs                         |  437 ++--
  compiler/main/StaticFlagParser.hs                  |   38 +-
  compiler/main/StaticFlags.hs                       |   68 +-
  compiler/main/SysTools.lhs                         |   25 +-
  compiler/main/TidyPgm.lhs                          |  749 ++++---
  compiler/nativeGen/AsmCodeGen.lhs                  |  647 +++---
  compiler/nativeGen/PIC.hs                          |   93 +-
  compiler/nativeGen/PPC/CodeGen.hs                  |   33 +-
  compiler/nativeGen/PPC/Ppr.hs                      |  567 +++---
  compiler/nativeGen/PPC/Regs.hs                     |   14 +-
  compiler/nativeGen/PprBase.hs                      |   17 -
  compiler/nativeGen/RegAlloc/Graph/Main.hs          |  609 +++---
  compiler/nativeGen/RegAlloc/Graph/SpillCost.hs     |   10 +-
  compiler/nativeGen/RegAlloc/Graph/Stats.hs         |   30 +-
  compiler/nativeGen/RegAlloc/Graph/TrivColorable.hs |   56 +-
  compiler/nativeGen/RegAlloc/Linear/FreeRegs.hs     |   14 +-
  compiler/nativeGen/RegAlloc/Linear/Main.hs         |   44 +-
  compiler/nativeGen/RegAlloc/Liveness.hs            |   68 +-
  compiler/nativeGen/SPARC/CodeGen.hs                |  511 ++++-
  compiler/nativeGen/SPARC/CodeGen/CCall.hs          |  343 ---
  compiler/nativeGen/SPARC/CodeGen/CondCode.hs       |    7 +-
  compiler/nativeGen/SPARC/CodeGen/Gen64.hs          |    3 +-
  compiler/nativeGen/SPARC/CodeGen/Sanity.hs         |   10 +-
  compiler/nativeGen/SPARC/Imm.hs                    |    5 +-
  compiler/nativeGen/SPARC/Ppr.hs                    |   94 +-
  compiler/nativeGen/TargetReg.hs                    |   70 +-
  compiler/nativeGen/X86/CodeGen.hs                  |  458 +++--
  compiler/nativeGen/X86/Instr.hs                    |    3 +
  compiler/nativeGen/X86/Ppr.hs                      |  155 +-
  compiler/nativeGen/X86/Regs.hs                     |   43 +-
  compiler/parser/Lexer.x                            |   75 +-
  compiler/parser/Parser.y.pp                        |  143 +-
  compiler/parser/ParserCore.y                       |   34 +-
  compiler/parser/RdrHsSyn.lhs                       |  330 ++--
  compiler/prelude/ForeignCall.lhs                   |   56 +-
  compiler/prelude/PrelNames.lhs                     |  136 +-
  compiler/prelude/PrelRules.lhs                     |  212 ++-
  compiler/prelude/PrimOp.lhs                        |    3 -
  compiler/prelude/PrimOp.lhs-boot                   |    7 +
  compiler/prelude/TysPrim.lhs                       |  114 +-
  compiler/prelude/TysWiredIn.lhs                    |   88 +-
  compiler/prelude/primops.txt.pp                    |   39 +
  compiler/profiling/CostCentre.lhs                  |    6 +-
  compiler/profiling/ProfInit.hs                     |    9 +-
  compiler/profiling/SCCfinal.lhs                    |    1 +
  compiler/rename/RnBinds.lhs                        |   80 +-
  compiler/rename/RnEnv.lhs                          |  470 +++--
  compiler/rename/RnExpr.lhs                         |   80 +-
  compiler/rename/RnHsSyn.lhs                        |  159 --
  compiler/rename/RnNames.lhs                        |  194 +--
  compiler/rename/RnPat.lhs                          |   41 +-
  compiler/rename/RnSource.lhs                       |  563 +++---
  compiler/rename/RnTypes.lhs                        |  652 ++++--
  compiler/simplCore/CSE.lhs                         |   30 +-
  compiler/simplCore/CoreMonad.lhs                   |   61 +-
  compiler/simplCore/FloatIn.lhs                     |   18 +-
  compiler/simplCore/OccurAnal.lhs                   |  116 +-
  compiler/simplCore/SetLevels.lhs                   |   41 +-
  compiler/simplCore/SimplCore.lhs                   |   92 +-
  compiler/simplCore/SimplEnv.lhs                    |    1 +
  compiler/simplCore/SimplMonad.lhs                  |    3 +-
  compiler/simplCore/SimplUtils.lhs                  |  234 +--
  compiler/simplCore/Simplify.lhs                    |  131 +-
  compiler/simplStg/SRT.lhs                          |    4 +-
  compiler/simplStg/SimplStg.lhs                     |   14 +-
  compiler/simplStg/UnariseStg.lhs                   |  167 ++
  compiler/specialise/Rules.lhs                      |  584 +++---
  compiler/specialise/SpecConstr.lhs                 |   13 +-
  compiler/specialise/Specialise.lhs                 | 1070 +++++-----
  compiler/stgSyn/CoreToStg.lhs                      |   41 +-
  compiler/stgSyn/StgLint.lhs                        |   71 +-
  compiler/stgSyn/StgSyn.lhs                         |   48 +-
  compiler/stranal/DmdAnal.lhs                       |   17 +-
  compiler/stranal/WorkWrap.lhs                      |   88 +-
  compiler/stranal/WwLib.lhs                         |   56 +-
  compiler/typecheck/FamInst.lhs                     |   78 +-
  compiler/typecheck/Inst.lhs                        |  104 +-
  compiler/typecheck/TcArrows.lhs                    |    4 +-
  compiler/typecheck/TcBinds.lhs                     |  485 ++---
  compiler/typecheck/TcCanonical.lhs                 | 1384 ++++++-------
  compiler/typecheck/TcClassDcl.lhs                  |  124 +-
  compiler/typecheck/TcDeriv.lhs                     |  292 ++-
  compiler/typecheck/TcEnv.lhs                       |  194 +-
  compiler/typecheck/TcErrors.lhs                    |  388 ++--
  compiler/typecheck/TcEvidence.lhs                  |  159 ++-
  compiler/typecheck/TcExpr.lhs                      |   88 +-
  compiler/typecheck/TcForeign.lhs                   |  104 +-
  compiler/typecheck/TcGenDeriv.lhs                  |   12 +-
  compiler/typecheck/TcGenGenerics.lhs               |  515 ++++-
  compiler/typecheck/TcHsSyn.lhs                     |  184 +-
  compiler/typecheck/TcHsType.lhs                    | 1528 +++++++------
  compiler/typecheck/TcInstDcls.lhs                  |  433 +++--
  compiler/typecheck/TcInteract.lhs                  | 1171 +++++-----
  compiler/typecheck/TcMType.lhs                     |  828 ++++----
  compiler/typecheck/TcMatches.lhs                   |   70 +-
  compiler/typecheck/TcPat.lhs                       |   77 +-
  compiler/typecheck/TcRnDriver.lhs                  |  231 ++-
  compiler/typecheck/TcRnMonad.lhs                   |   80 +-
  compiler/typecheck/TcRnTypes.lhs                   |  326 ++--
  compiler/typecheck/TcRules.lhs                     |  197 ++-
  compiler/typecheck/TcSMonad.lhs                    | 1493 ++++++++------
  compiler/typecheck/TcSimplify.lhs                  | 1115 ++++++----
  compiler/typecheck/TcSplice.lhs                    |  157 +-
  compiler/typecheck/TcSplice.lhs-boot               |    7 +-
  compiler/typecheck/TcTyClsDecls.lhs                |  848 ++++----
  compiler/typecheck/TcTyDecls.lhs                   |   18 +-
  compiler/typecheck/TcType.lhs                      |  131 +-
  compiler/typecheck/TcUnify.lhs                     |  237 +--
  compiler/types/Class.lhs                           |    3 -
  compiler/types/Coercion.lhs                        |   22 +-
  compiler/types/FamInstEnv.lhs                      |   12 +-
  compiler/types/FunDeps.lhs                         |   91 +-
  compiler/types/IParam.lhs                          |   41 -
  compiler/types/IParam.lhs-boot                     |   10 -
  compiler/types/InstEnv.lhs                         |   71 +-
  compiler/types/Kind.lhs                            |  240 +--
  compiler/types/OptCoercion.lhs                     |    1 +
  compiler/types/TyCon.lhs                           |  871 ++++----
  compiler/types/Type.lhs                            |  303 ++--
  compiler/types/TypeRep.lhs                         |  172 +-
  compiler/types/Unify.lhs                           |   59 +-
  compiler/utils/Binary.hs                           |    3 -
  compiler/utils/Digraph.lhs                         |   17 +-
  compiler/utils/Exception.hs                        |    6 +-
  compiler/utils/FastString.lhs                      |    5 -
  compiler/utils/GraphColor.hs                       |  597 +++---
  compiler/utils/GraphOps.hs                         |  923 ++++----
  compiler/utils/ListSetOps.lhs                      |   79 +-
  compiler/utils/MonadUtils.hs                       |   18 -
  compiler/utils/Outputable.lhs                      |  268 +--
  compiler/utils/Outputable.lhs-boot                 |    7 +
  compiler/utils/Panic.lhs                           |  197 ++-
  compiler/utils/Platform.hs                         |   14 +-
  compiler/utils/Pretty.lhs                          |    9 +-
  compiler/utils/UniqFM.lhs                          |    4 +-
  compiler/utils/Util.lhs                            |  211 +-
  compiler/vectorise/Vectorise.hs                    |   21 +-
  compiler/vectorise/Vectorise/Builtins/Base.hs      |    2 +-
  .../vectorise/Vectorise/Builtins/Initialise.hs     |    2 +-
  compiler/vectorise/Vectorise/Convert.hs            |    9 +-
  compiler/vectorise/Vectorise/Env.hs                |    9 +-
  compiler/vectorise/Vectorise/Exp.hs                |  716 +++++--
  .../vectorise/Vectorise/Generic/Description.hs     |    3 +-
  compiler/vectorise/Vectorise/Generic/PADict.hs     |   41 +-
  compiler/vectorise/Vectorise/Generic/PAMethods.hs  |   27 +-
  compiler/vectorise/Vectorise/Generic/PData.hs      |    4 +-
  compiler/vectorise/Vectorise/Monad.hs              |   20 +-
  compiler/vectorise/Vectorise/Monad/Base.hs         |   41 +-
  compiler/vectorise/Vectorise/Monad/Global.hs       |    9 +-
  compiler/vectorise/Vectorise/Monad/InstEnv.hs      |   18 +-
  compiler/vectorise/Vectorise/Type/Classify.hs      |    1 +
  compiler/vectorise/Vectorise/Type/TyConDecl.hs     |   29 +-
  compiler/vectorise/Vectorise/Type/Type.hs          |    1 +
  compiler/vectorise/Vectorise/Utils/Base.hs         |   19 +-
  compiler/vectorise/Vectorise/Utils/PADict.hs       |   74 +-
  config.guess                                       |  482 ++---
  configure.ac                                       |  156 +-
  distrib/compare/compare.hs                         |   23 +-
  docs/coding-style.html                             |   60 +-
  docs/comm/genesis/modules.html                     |    2 +-
  docs/comm/rts-libs/threaded-rts.html               |    2 +-
  docs/ext-core/Makefile                             |    3 -
  docs/ext-core/a4wide.sty                           |   39 -
  docs/ext-core/code.sty                             |   83 -
  docs/ext-core/core.bib                             |  124 -
  docs/ext-core/core.tex                             |  779 -------
  docs/ext-core/ghc.mk                               |   15 -
  docs/index.html.in                                 |   22 +-
  docs/users_guide/bugs.xml                          |   26 +-
  docs/users_guide/external_core.xml                 | 1807 +++++++++++++++
  docs/users_guide/ffi-chap.xml                      |   52 +
  docs/users_guide/flags.xml                         |  103 +-
  docs/users_guide/ghci.xml                          |  119 +-
  docs/users_guide/glasgow_exts.xml                  |  694 ++++--
  docs/users_guide/packages.xml                      |  108 +-
  docs/users_guide/phases.xml                        |   25 +-
  docs/users_guide/runghc.xml                        |    2 +-
  docs/users_guide/runtime_control.xml               |   43 +-
  docs/users_guide/ug-book.xml.in                    |    1 +
  docs/users_guide/ug-ent.xml.in                     |    2 +
  docs/users_guide/using.xml                         | 2354
 +++++++++++---------
  docs/vh/vh.xml                                     |  593 +++---
  driver/ghci/ghc.mk                                 |    4 +-
  driver/utils/cwrapper.c                            |    6 +-
  ghc.mk                                             |   39 +-
  ghc/GhciMonad.hs                                   |   48 +-
  ghc/GhciTags.hs                                    |   42 +-
  ghc/InteractiveUI.hs                               |  616 ++++--
  ghc/Main.hs                                        |   19 +-
  ghc/ghc-bin.cabal.in                               |    4 +-
  ghc/ghc.mk                                         |   11 +-
  ghc/hschooks.c                                     |    5 +-
  includes/Cmm.h                                     |    8 +-
  includes/HaskellConstants.hs                       |   12 +-
  includes/MachDeps.h                                |   27 +-
  includes/Rts.h                                     |   26 +-
  includes/RtsAPI.h                                  |    2 +-
  includes/Stg.h                                     |   10 +-
  includes/ghc.mk                                    |   31 +-
  includes/mkDerivedConstants.c                      |   23 +-
  includes/rts/Constants.h                           |   50 +-
  includes/rts/EventLogFormat.h                      |   27 +-
  includes/rts/FileLock.h                            |    6 +-
  includes/rts/Flags.h                               |   12 +-
  includes/rts/Hooks.h                               |    6 +-
  includes/rts/Messages.h                            |   15 +-
  includes/rts/Threads.h                             |    4 +
  includes/rts/Types.h                               |    6 +-
  includes/rts/storage/GC.h                          |    5 +-
  includes/rts/storage/InfoTables.h                  |   22 +-
  includes/rts/storage/TSO.h                         |    2 +-
  includes/stg/DLL.h                                 |   25 +-
  includes/stg/MachRegs.h                            |  209 +-
  includes/stg/MiscClosures.h                        |    2 +
  includes/stg/Types.h                               |   29 +-
  libffi/ghc.mk                                      |   11 +-
  .../Distribution/InstalledPackageInfo/Binary.hs    |    4 +-
  libraries/gen_contents_index                       |   37 +-
  mk/config.mk.in                                    |   21 +-
  mk/tree.mk                                         |    2 +-
  mk/validate-settings.mk                            |   18 +-
  packages                                           |    3 +-
  rts/Adjustor.c                                     |  477 +++--
  rts/Capability.c                                   |   50 +-
  rts/Capability.h                                   |    6 +-
  rts/ClosureFlags.c                                 |   18 +-
  rts/Disassembler.c                                 |   18 +-
  rts/FileLock.c                                     |  144 ++
  rts/FileLock.h                                     |   15 +
  rts/GetTime.h                                      |    3 +
  rts/HeapStackCheck.cmm                             |   12 +-
  rts/Interpreter.c                                  |   48 +-
  rts/Linker.c                                       |  826 +++++++-
  rts/LinkerInternals.h                              |    6 +-
  rts/PosixSource.h                                  |    4 +
  rts/Prelude.h                                      |    8 +-
  rts/PrimOps.cmm                                    |   39 +-
  rts/Printer.c                                      |   26 +-
  rts/ProfHeap.c                                     |    2 +-
  rts/RaiseAsync.c                                   |   77 +-
  rts/RetainerProfile.c                              |    4 +-
  rts/RtsDllMain.c                                   |    4 +-
  rts/RtsDllMain.h                                   |    2 +-
  rts/RtsFlags.c                                     |   20 +-
  rts/RtsMain.c                                      |    7 +-
  rts/RtsProbes.d                                    |   37 +-
  rts/RtsStartup.c                                   |   20 +-
  rts/Schedule.c                                     |   38 +-
  rts/Stats.c                                        |  163 +-
  rts/Stats.h                                        |   19 +-
  rts/StgCRun.c                                      |   87 +-
  rts/StgMiscClosures.cmm                            |    6 +-
  rts/StgStartup.cmm                                 |   12 +-
  rts/Task.c                                         |  104 +-
  rts/Task.h                                         |   30 +-
  rts/Threads.c                                      |   54 +-
  rts/Ticky.c                                        |   26 +-
  rts/Trace.c                                        |  148 ++-
  rts/Trace.h                                        |  263 ++-
  rts/eventlog/EventLog.c                            |  201 ++-
  rts/eventlog/EventLog.h                            |   34 +
  rts/ghc.mk                                         |   23 +-
  rts/hooks/MallocFail.c                             |    2 +-
  rts/hooks/OutOfHeap.c                              |    2 +-
  rts/hooks/StackOverflow.c                          |    2 +-
  rts/package.conf.in                                |    8 +-
  rts/posix/Clock.h                                  |   35 +
  rts/posix/FileLock.c                               |  145 --
  rts/posix/FileLock.h                               |   15 -
  rts/posix/GetTime.c                                |   50 +-
  rts/posix/Itimer.c                                 |   13 +-
  rts/posix/OSMem.c                                  |    2 +-
  rts/posix/OSThreads.c                              |    1 -
  rts/posix/Select.c                                 |   81 +-
  rts/posix/Select.h                                 |    2 +-
  rts/sm/Compact.c                                   |    2 +-
  rts/sm/Evac.c                                      |    2 +-
  rts/sm/GC.c                                        |   25 +-
  rts/sm/Sanity.c                                    |   18 +-
  rts/sm/Scav.c                                      |    6 +-
  rts/sm/Storage.c                                   |  178 +-
  rts/sm/Storage.h                                   |    3 +-
  rts/win32/AwaitEvent.c                             |    4 +-
  rts/win32/GetTime.c                                |   74 +-
  rts/win32/IOManager.c                              |    2 +-
  rts/win32/OSMem.c                                  |   20 +-
  rts/win32/ThrIOManager.c                           |    6 +-
  rts/win32/libHSbase.def                            |    1 -
  rts/win32/libHSghc-prim.def                        |    1 +
  rts/win32/seh_excn.c                               |    5 +-
  rules/build-package-data.mk                        |    8 +-
  rules/build-package-way.mk                         |   15 +-
  rules/build-package.mk                             |    2 +-
  rules/build-prog.mk                                |    4 +-
  rules/c-suffix-rules.mk                            |   22 +-
  rules/cmm-suffix-rules.mk                          |   12 +-
  rules/distdir-way-opts.mk                          |   46 +-
  rules/hs-suffix-rules-srcdir.mk                    |   30 +-
  rules/hs-suffix-rules.mk                           |    8 +-
  rules/package-config.mk                            |   15 +-
  rules/pretty_commands.mk                           |   13 +
  sync-all                                           |   63 +
  utils/compare_sizes/Main.hs                        |    1 -
  utils/fingerprint/fingerprint.py                   |    2 +-
  utils/genapply/GenApply.hs                         |  650 +++---
  utils/genprimopcode/Main.hs                        |  433 ++--
  utils/genprimopcode/Parser.y                       |    1 -
  utils/genprimopcode/ParserM.hs                     |    1 -
  utils/genprimopcode/Syntax.hs                      |   20 +-
  utils/ghc-cabal/Main.hs                            |   44 +-
  utils/ghc-cabal/ghc.mk                             |    4 +-
  utils/ghc-pkg/Main.hs                              |  108 +-
  utils/ghc-pkg/ghc-pkg.wrapper                      |    2 +-
  utils/ghc-pkg/ghc.mk                               |    8 +-
  utils/ghctags/Main.hs                              |   16 +-
  utils/hp2ps/Key.c                                  |   23 +-
  utils/runghc/ghc.mk                                |    3 +
  utils/runghc/runghc.hs                             |   12 +-
  validate                                           |   27 +-
  483 files changed, 33989 insertions(+), 25880 deletions(-)
 }}}

--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/5987#comment:10>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler

_______________________________________________
Glasgow-haskell-bugs mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
GHC
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: [GHC] #5987: Too many symbols in ghc package DLL

GHC
In reply to this post by GHC
#5987: Too many symbols in ghc package DLL
---------------------------------+------------------------------------------
    Reporter:  igloo             |       Owner:                  
        Type:  bug               |      Status:  new            
    Priority:  highest           |   Milestone:  7.8.1          
   Component:  Compiler          |     Version:  7.5            
    Keywords:                    |          Os:  Unknown/Multiple
Architecture:  Unknown/Multiple  |     Failure:  None/Unknown    
  Difficulty:  Unknown           |    Testcase:                  
   Blockedby:                    |    Blocking:                  
     Related:                    |  
---------------------------------+------------------------------------------

Comment(by thorkilnaur):

 The commit 5ddc841a547d2d37428280b04c071a1d4b83e10d causes tn23 (a Mac OS
 X builder) to fail with
 {{{
 configure: error: cannot find objdump in your PATH
 }}}
 See http://darcs.haskell.org/ghcBuilder/builders/tn23/655/8.html.
 Best regards
 Thorkil

--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/5987#comment:11>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler

_______________________________________________
Glasgow-haskell-bugs mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
GHC
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: [GHC] #5987: Too many symbols in ghc package DLL

GHC
In reply to this post by GHC
#5987: Too many symbols in ghc package DLL
---------------------------------+------------------------------------------
    Reporter:  igloo             |       Owner:                  
        Type:  bug               |      Status:  new            
    Priority:  highest           |   Milestone:  7.8.1          
   Component:  Compiler          |     Version:  7.5            
    Keywords:                    |          Os:  Unknown/Multiple
Architecture:  Unknown/Multiple  |     Failure:  None/Unknown    
  Difficulty:  Unknown           |    Testcase:                  
   Blockedby:                    |    Blocking:  3658            
     Related:                    |  
---------------------------------+------------------------------------------

Comment(by duncan):

 Have we looked into whether we can avoid exporting so many symbols by
 hiding all package-internal symbols. My intuition is that there must be
 lots of them that are only needed for intra-package linkage and are not
 needed in the external interface. The only symbols that should need to be
 external are the ones for things accessable via the .hi files of the
 exposed modules. Though if basically every module is exposed then that
 would not help much.

--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/5987#comment:13>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler

_______________________________________________
Glasgow-haskell-bugs mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
GHC
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: [GHC] #5987: Too many symbols in ghc package DLL

GHC
In reply to this post by GHC
#5987: Too many symbols in ghc package DLL
---------------------------------+------------------------------------------
    Reporter:  igloo             |       Owner:                  
        Type:  bug               |      Status:  new            
    Priority:  highest           |   Milestone:  7.8.1          
   Component:  Compiler          |     Version:  7.5            
    Keywords:                    |          Os:  Unknown/Multiple
Architecture:  Unknown/Multiple  |     Failure:  None/Unknown    
  Difficulty:  Unknown           |    Testcase:                  
   Blockedby:                    |    Blocking:  3658            
     Related:                    |  
---------------------------------+------------------------------------------

Comment(by simonmar):

 Replying to [comment:13 duncan]:
 > Have we looked into whether we can avoid exporting so many symbols by
 hiding all package-internal symbols. My intuition is that there must be
 lots of them that are only needed for intra-package linkage and are not
 needed in the external interface. The only symbols that should need to be
 external are the ones for things accessable via the .hi files of the
 exposed modules. Though if basically every module is exposed then that
 would not help much.

 We should do this, but it wouldn't help in the case of the GHC package: as
 you say, every module is exposed.

 It would be good to have a per-module flag to say "this is a hidden
 module", and then we could give the symbols the correct linker hint so
 that they don't populate the .so file's symbol table.

--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/5987#comment:14>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler

_______________________________________________
Glasgow-haskell-bugs mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
GHC
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: [GHC] #5987: Too many symbols in ghc package DLL

GHC
In reply to this post by GHC
#5987: Too many symbols in ghc package DLL
---------------------------------+------------------------------------------
    Reporter:  igloo             |       Owner:                  
        Type:  bug               |      Status:  new            
    Priority:  highest           |   Milestone:  7.8.1          
   Component:  Compiler          |     Version:  7.5            
    Keywords:                    |          Os:  Unknown/Multiple
Architecture:  Unknown/Multiple  |     Failure:  None/Unknown    
  Difficulty:  Unknown           |    Testcase:                  
   Blockedby:                    |    Blocking:  3658            
     Related:                    |  
---------------------------------+------------------------------------------
Changes (by rassilon):

 * cc: bill@… (added)


Comment:

 Here's a pretty nutty idea: What if we split the DLL in parts by
 automatically forcing the .o files into partitions and create a .def file
 for each partition thus breaking the import library cycle.

 GHC already uses .def files to break the cycle between the RTS and the
 base DLLs.

 Then you would "just" modify Cabal to understand partitioned DLLs.
 Unfortunately, this might end up increasing the total number of partitions
 if you're not careful because internal symbols would now need to be
 exported from the partitions. :(

--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/5987#comment:15>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler

_______________________________________________
ghc-tickets mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/ghc-tickets
GHC
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: [GHC] #5987: Too many symbols in ghc package DLL

GHC
In reply to this post by GHC
#5987: Too many symbols in ghc package DLL
---------------------------------+------------------------------------------
    Reporter:  igloo             |       Owner:                  
        Type:  bug               |      Status:  new            
    Priority:  highest           |   Milestone:  7.8.1          
   Component:  Compiler          |     Version:  7.5            
    Keywords:                    |          Os:  Unknown/Multiple
Architecture:  Unknown/Multiple  |     Failure:  None/Unknown    
  Difficulty:  Unknown           |    Testcase:                  
   Blockedby:                    |    Blocking:  3658            
     Related:                    |  
---------------------------------+------------------------------------------

Comment(by igloo@…):

 commit 56353e3da9d5718dfd25e25ccf61c78b25deefe8
 {{{
 Author: Ian Lynagh <[hidden email]>
 Date:   Tue Mar 12 22:12:38 2013 +0100

     Finish adding support for 2 DLLs in the ghc package; fixes #5987

  ghc.mk                     |    3 ---
  rules/build-package-way.mk |   20 +++++++++++++++++---
  utils/ghc-cabal/Main.hs    |   27 +++++++++++++++++++++++++--
  3 files changed, 42 insertions(+), 8 deletions(-)
 }}}

--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/5987#comment:16>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler

_______________________________________________
ghc-tickets mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/ghc-tickets
GHC
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: [GHC] #5987: Too many symbols in ghc package DLL

GHC
In reply to this post by GHC
#5987: Too many symbols in ghc package DLL
-------------------------------+--------------------------------------------
  Reporter:  igloo             |          Owner:                  
      Type:  bug               |         Status:  closed          
  Priority:  highest           |      Milestone:  7.8.1          
 Component:  Compiler          |        Version:  7.5            
Resolution:  fixed             |       Keywords:                  
        Os:  Unknown/Multiple  |   Architecture:  Unknown/Multiple
   Failure:  None/Unknown      |     Difficulty:  Unknown        
  Testcase:                    |      Blockedby:                  
  Blocking:  3658              |        Related:                  
-------------------------------+--------------------------------------------
Changes (by igloo):

  * status:  new => closed
  * resolution:  => fixed


Comment:

 Fixed. We now have
 {{{
 libHSghc-7.7.20130310-0-ghc7.7.20130310.dll (42123 symbols)
 libHSghc-7.7.20130310-ghc7.7.20130310.dll   (47675 symbols)
 }}}

--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/5987#comment:17>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler

_______________________________________________
ghc-tickets mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/ghc-tickets
GHC
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: [GHC] #5987: Too many symbols in ghc package DLL

GHC
In reply to this post by GHC
#5987: Too many symbols in ghc package DLL
-------------------------------+--------------------------------------------
  Reporter:  igloo             |          Owner:                  
      Type:  bug               |         Status:  closed          
  Priority:  highest           |      Milestone:  7.8.1          
 Component:  Compiler          |        Version:  7.5            
Resolution:  fixed             |       Keywords:                  
        Os:  Unknown/Multiple  |   Architecture:  Unknown/Multiple
   Failure:  None/Unknown      |     Difficulty:  Unknown        
  Testcase:                    |      Blockedby:                  
  Blocking:  3658              |        Related:                  
-------------------------------+--------------------------------------------

Comment(by simonpj):

 Great.  Are there some Wiki notes or comments in the code to explain the
 thinking, what the problem is, how it is solved, where the partioning is
 done, how you managed to factor GHC into two?  Etc.  This kind of global
 info can be hard to find.

 Indeed is there a wiki page surveying the whole dynamic-linking question
 and how we address it?  I can't find it if so.

 Simon

--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/5987#comment:18>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler

_______________________________________________
ghc-tickets mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/ghc-tickets
Loading...