
#15934: Building ghc with profiling libraries fails on windows. ---------------------------------+---------------------------------------- Reporter: AndreasK | Owner: (none) Type: bug | Status: new Priority: high | Milestone: 8.6.3 Component: Compiler | Version: 8.6.2 Resolution: | Keywords: Operating System: Windows | Architecture: Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | ---------------------------------+---------------------------------------- Changes (by AndreasK): * priority: normal => high Old description:
Seems like we create too many sections in a single file on windows.
{{{ C://ghc//msys64//home//Andi//ghc_head//inplace//mingw//bin/as.exe: C:\\ghc\\msys64\\tmp\\ghc6664_0\\ghc_6.p_o: too many sections (32801) C:\\ghc\\msys64\\tmp\\ghc6664_0\\ghc_1.s: Assembler messages: C:\\ghc\\msys64\\tmp\\ghc6664_0\\ghc_1.s: Fatal error: can't write 4 bytes to section .rdata$c1w2b_str of C:\\ghc\\msys64\\tmp\\ghc6664_0\\ghc_6.p_o because: 'File too big' C://ghc//msys64//home//Andi//ghc_head//inplace//mingw//bin/as.exe: C:\\ghc\\msys64\\tmp\\ghc6664_0\\ghc_6.p_o: too many sections (32801) C:\\ghc\\msys64\\tmp\\ghc6664_0\\ghc_1.s: Fatal error: can't close C:\\ghc\\msys64\\tmp\\ghc6664_0\\ghc_6.p_o: File too big `gcc.exe' failed in phase `Assembler'. (Exit code: 1) make[1]: *** [libraries/template-haskell/ghc.mk:4: libraries/template- haskell/dist-install/build/Language/Haskell/TH/Syntax.p_o] Error 1 make[1]: *** Waiting for unfinished jobs.... make: *** [Makefile:128: all] Error 2 }}}
build.mk {{{ ifneq "$(BuildFlavour)" "" include mk/flavours/$(BuildFlavour).mk endif
GhcLibHcOpts += -g1 GhcRtsHcOpts += -g1 # GhcStage2HcOpts += -g3
BUILD_PROF_LIBS=YES
# Don't strip debug and other unneeded symbols from libraries and executables. STRIP_CMD = :
HADDOCK_DOCS = NO BUILD_SPHINX_HTML = NO BUILD_SPHINX_PDF = NO BUILD_MAN = NO
}}}
New description: I've initially only hit this when enabling -g, but now I've run into the same issue without a customized build.mk file. ---- Seems like we create too many sections in a single file on windows. {{{ C://ghc//msys64//home//Andi//ghc_head//inplace//mingw//bin/as.exe: C:\\ghc\\msys64\\tmp\\ghc6664_0\\ghc_6.p_o: too many sections (32801) C:\\ghc\\msys64\\tmp\\ghc6664_0\\ghc_1.s: Assembler messages: C:\\ghc\\msys64\\tmp\\ghc6664_0\\ghc_1.s: Fatal error: can't write 4 bytes to section .rdata$c1w2b_str of C:\\ghc\\msys64\\tmp\\ghc6664_0\\ghc_6.p_o because: 'File too big' C://ghc//msys64//home//Andi//ghc_head//inplace//mingw//bin/as.exe: C:\\ghc\\msys64\\tmp\\ghc6664_0\\ghc_6.p_o: too many sections (32801) C:\\ghc\\msys64\\tmp\\ghc6664_0\\ghc_1.s: Fatal error: can't close C:\\ghc\\msys64\\tmp\\ghc6664_0\\ghc_6.p_o: File too big `gcc.exe' failed in phase `Assembler'. (Exit code: 1) make[1]: *** [libraries/template-haskell/ghc.mk:4: libraries/template- haskell/dist-install/build/Language/Haskell/TH/Syntax.p_o] Error 1 make[1]: *** Waiting for unfinished jobs.... make: *** [Makefile:128: all] Error 2 }}} build.mk {{{ ifneq "$(BuildFlavour)" "" include mk/flavours/$(BuildFlavour).mk endif GhcLibHcOpts += -g1 GhcRtsHcOpts += -g1 # GhcStage2HcOpts += -g3 BUILD_PROF_LIBS=YES # Don't strip debug and other unneeded symbols from libraries and executables. STRIP_CMD = : HADDOCK_DOCS = NO BUILD_SPHINX_HTML = NO BUILD_SPHINX_PDF = NO BUILD_MAN = NO }}} -- Comment: Update: I've had this just happen even with debugging information disabled. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15934#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler