[GHC] #15689: s390x builds flood with -Wunused-label warnings

#15689: s390x builds flood with -Wunused-label warnings -------------------------------------+------------------------------------- Reporter: juhpetersen | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: 8.6.1 Component: Compiler | Version: 8.6.1 (CodeGen) | Keywords: | Operating System: Linux Architecture: Other | Type of failure: None/Unknown Test Case: | Blocked By: Blocking: | Related Tickets: Differential Rev(s): | Wiki Page: -------------------------------------+------------------------------------- This has been happening for major releases for some time already, but I am finally getting around to reporting this. On s390x when building ghc, huge numbers of -Wunused-label warnings flood gcc output. For example this build: https://koji.fedoraproject.org/koji/taskinfo?taskID=29940997 (note the logs are only kept for 2 weeks) The build.log is 11MB and this is just for compiling less than half of ghc-cabal (270 modules), which generated around 50k unused-label warnings!! So you can imagine the size of a full build. (Well ghc-8.2.2.69.fc29 full build.log was "only" 33MB for s390x vs 8.8MB for x86_64.) For now I patched warnings.mk on s390x to workaround this, but it would be better to fix the root cause I suppose. Here is a small part of the buildlog: {{{ "/usr/bin/ghc" -H32m -O -Wall \ -optc-Wall -optc-fno-stack-protector \ \ -hide-all-packages \ -package ghc-prim -package base -package array -package transformers -package time -package containers -package bytestring -package deepseq -package process -package pretty -package directory -package unix \ --make utils/ghc-cabal/Main.hs -o utils/ghc-cabal/dist/build/tmp /ghc-cabal \ -no-user-package-db \ -Wall -fno-warn-unused-imports -fno-warn-warnings-deprecations \ -DCABAL_VERSION=2,2,0,1 \ -DCABAL_PARSEC \ -DBOOTSTRAPPING \ -odir bootstrapping \ -hidir bootstrapping \ libraries/Cabal/Cabal/Distribution/Parsec/Lexer.hs \ -ilibraries/Cabal/Cabal \ -ilibraries/binary/src \ -ilibraries/filepath \ -ilibraries/hpc \ -ilibraries/mtl \ -ilibraries/text \ libraries/text/cbits/cbits.c \ -Ilibraries/text/include \ -ilibraries/parsec/src \ \ "rm" -f compiler/stage1/build/Config.hs Creating compiler/stage1/build/Config.hs ... done. "rm" -f utils/ghc-pkg/dist/build/Version.hs echo "module Version where" >> utils/ghc- pkg/dist/build/Version.hs echo "version, targetOS, targetARCH :: String" >> utils/ghc- pkg/dist/build/Version.hs echo "version = \"8.4.3\"" >> utils/ghc-pkg/dist/build/Version.hs echo "targetOS = \"linux\"" >> utils/ghc- pkg/dist/build/Version.hs echo "targetARCH = \"s390x\"" >> utils/ghc-pkg/dist/build/Version.hs [ 1 of 270] Compiling Control.Monad.Cont.Class ( libraries/mtl/Control/Monad/Cont/Class.hs, bootstrapping/Control/Monad/Cont/Class.o ) /tmp/ghc705e_0/ghc_130.hc: In function ‘ControlziMonadziContziClass_zdp1MonadCont_entry’: /tmp/ghc705e_0/ghc_130.hc:16:1: error: warning: label ‘_c3bA’ defined but not used [-Wunused-label] _c3bA: ^~~~~ | 16 | _c3bA: | ^ /tmp/ghc705e_0/ghc_130.hc: In function ‘c3bx_entry’: /tmp/ghc705e_0/ghc_130.hc:34:1: error: warning: label ‘_c3bx’ defined but not used [-Wunused-label] _c3bx: ^~~~~ | 34 | _c3bx: | ^ /tmp/ghc705e_0/ghc_130.hc: In function ‘ControlziMonadziContziClass_callCC_entry’: /tmp/ghc705e_0/ghc_130.hc:54:1: error: warning: label ‘_c3bO’ defined but not used [-Wunused-label] _c3bO: ^~~~~ | 54 | _c3bO: | ^ /tmp/ghc705e_0/ghc_130.hc: In function ‘c3bL_entry’: /tmp/ghc705e_0/ghc_130.hc:72:1: error: warning: label ‘_c3bL’ defined but not used [-Wunused-label] _c3bL: ^~~~~ | 72 | _c3bL: | ^ /tmp/ghc705e_0/ghc_130.hc: In function ‘s38I_entry’: /tmp/ghc705e_0/ghc_130.hc:98:1: error: warning: label ‘_c3ca’ defined but not used [-Wunused-label] _c3ca: ^~~~~ | 98 | _c3ca: | ^ /tmp/ghc705e_0/ghc_130.hc: In function ‘s38J_entry’: /tmp/ghc705e_0/ghc_130.hc:125:1: error: warning: label ‘_c3cf’ defined but not used [-Wunused-label] _c3cf: ^~~~~ | 125 | _c3cf: | ^ /tmp/ghc705e_0/ghc_130.hc: In function ‘ControlziMonadziContziClass_zdfMonadContErrorT1_entry’: /tmp/ghc705e_0/ghc_130.hc:152:1: error: warning: label ‘_c3ck’ defined but not used [-Wunused-label] _c3ck: ^~~~~ | 152 | _c3ck: | ^ /tmp/ghc705e_0/ghc_130.hc: In function ‘s38M_entry’: /tmp/ghc705e_0/ghc_130.hc:181:1: error: warning: label ‘_c3cx’ defined but not used [-Wunused-label] _c3cx: ^~~~~ | 181 | _c3cx: | ^ /tmp/ghc705e_0/ghc_130.hc: In function ‘ControlziMonadziContziClass_zdfMonadContErrorTzuzdcp1MonadCont_entry’: /tmp/ghc705e_0/ghc_130.hc:206:1: error: warning: label ‘_c3cA’ defined but not used [-Wunused-label] _c3cA: ^~~~~ | 206 | _c3cA: | ^ /tmp/ghc705e_0/ghc_130.hc: In function ‘s38Q_entry’: /tmp/ghc705e_0/ghc_130.hc:235:1: error: warning: label ‘_c3cO’ defined but not used [-Wunused-label] _c3cO: ^~~~~ | 235 | _c3cO: | ^ /tmp/ghc705e_0/ghc_130.hc: In function ‘s38P_entry’: /tmp/ghc705e_0/ghc_130.hc:257:1: error: warning: label ‘_c3cV’ defined but not used [-Wunused-label] _c3cV: ^~~~~ | 257 | _c3cV: | ^ /tmp/ghc705e_0/ghc_130.hc: In function ‘ControlziMonadziContziClass_zdfMonadContErrorT_entry’: /tmp/ghc705e_0/ghc_130.hc:285:1: error: warning: label ‘_c3cZ’ defined but not used [-Wunused-label] _c3cZ: ^~~~~ | 285 | _c3cZ: | ^ /tmp/ghc705e_0/ghc_130.hc: In function ‘s38W_entry’: /tmp/ghc705e_0/ghc_130.hc:323:1: error: warning: label ‘_c3dj’ defined but not used [-Wunused-label] _c3dj: ^~~~~ | 323 | _c3dj: | ^ /tmp/ghc705e_0/ghc_130.hc: In function ‘s38X_entry’: /tmp/ghc705e_0/ghc_130.hc:350:1: error: warning: label ‘_c3do’ defined but not used [-Wunused-label] _c3do: ^~~~~ | 350 | _c3do: | ^ /tmp/ghc705e_0/ghc_130.hc: In function ‘ControlziMonadziContziClass_zdfMonadContExceptT1_entry’: /tmp/ghc705e_0/ghc_130.hc:377:1: error: warning: label ‘_c3dt’ defined but not used [-Wunused-label] _c3dt: ^~~~~ | 377 | _c3dt: | ^ /tmp/ghc705e_0/ghc_130.hc: In function ‘s38Z_entry’: /tmp/ghc705e_0/ghc_130.hc:411:1: error: warning: label ‘_c3dG’ defined but not used [-Wunused-label] _c3dG: ^~~~~ | 411 | _c3dG: | ^ /tmp/ghc705e_0/ghc_130.hc: In function ‘ControlziMonadziContziClass_zdfMonadContExceptTzuzdcp1MonadCont_entry’: /tmp/ghc705e_0/ghc_130.hc:435:1: error: warning: label ‘_c3dJ’ defined but not used [-Wunused-label] _c3dJ: ^~~~~ | 435 | _c3dJ: | ^ /tmp/ghc705e_0/ghc_130.hc: In function ‘s392_entry’: /tmp/ghc705e_0/ghc_130.hc:462:1: error: warning: label ‘_c3dX’ defined but not used [-Wunused-label] _c3dX: ^~~~~ | }}} -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15689 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#15689: s390x builds flood with -Wunused-label warnings ---------------------------------------+------------------------------ Reporter: juhpetersen | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: 8.6.1 Component: Compiler (CodeGen) | Version: 8.4.3 Resolution: | Keywords: Operating System: Linux | Architecture: Other Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | ---------------------------------------+------------------------------ Changes (by juhpetersen): * version: 8.6.1 => 8.4.3 Comment: (I haven't tested yet on 8.6.1 - that will be my next step (after hopefully having finally gotten 8.4.3 to build on s390x now with Debian's Stg.h patch). But I think this probably happens for all 8.x releases - I can check more carefully later, so I would be surprised if 8.6 is not affected too.) -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15689#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler
participants (1)
-
GHC