Re: [GHC] #5987: Too many symbols in ghc package DLL
#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 Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #5987: Too many symbols in ghc package DLL
#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 Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #5987: Too many symbols in ghc package DLL
#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 Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #5987: Too many symbols in ghc package DLL
#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 marlo...@gmail.com 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
Re: [GHC] #5987: Too many symbols in ghc package DLL
#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 ig...@earth.li 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 Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #5987: Too many symbols in ghc package DLL
#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 ig...@earth.li 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 Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #5987: Too many symbols in ghc package DLL
#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 Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #5987: Too many symbols in ghc package DLL
#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 Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #5987: Too many symbols in ghc package DLL
#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 Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #5987: Too many symbols in ghc package DLL
#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 Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #5987: Too many symbols in ghc package DLL
#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 Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #5987: Too many symbols in ghc package DLL
#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 Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
Re: [GHC] #5987: Too many symbols in ghc package DLL
#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 Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs