Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Register
  • Sign in
  • GHC GHC
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
    • Locked files
  • Issues 5.5k
    • Issues 5.5k
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
  • Merge requests 636
    • Merge requests 636
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Artifacts
    • Schedules
    • Test cases
  • Deployments
    • Deployments
    • Releases
  • Analytics
    • Analytics
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Glasgow Haskell CompilerGlasgow Haskell Compiler
  • GHCGHC
  • Issues
  • #5357
Closed
Open
Issue created Jul 30, 2011 by Sergei Trofimovich@trofiReporter

ghc-7.2.1-rc1 broke unregisterised build

Tried to build unregisterised ghc:

"inplace/bin/ghc-stage1" -keep-tmp-files  -H32m -O -optc-mieee -opta-mieee -optc-mcpu=ev4 -opta-mcpu=ev4 -w    -package-name integer-gmp-0.3.0.0 -hide-all-packages -i -ilibraries/integer-gmp/. -ilibraries/integer-gmp/dist-install/build -ilibraries/integer-gmp/dist-install/build/autogen -Ilibraries/integer-gmp/dist-install/build -Ilibraries/integer-gmp/dist-install/build/autogen -Ilibraries/integer-gmp/.    -optP-include -optPlibraries/integer-gmp/dist-install/build/autogen/cabal_macros.h -package ghc-prim-0.2.0.0  -package-name integer-gmp -XHaskell98 -XCPP -XMagicHash -XUnboxedTuples -XNoImplicitPrelude -XForeignFunctionInterface -XUnliftedFFITypes -O2 -no-user-package-conf -rtsopts     -odir libraries/integer-gmp/dist-install/build -hidir libraries/integer-gmp/dist-install/build -stubdir libraries/integer-gmp/dist-install/build -hisuf hi -osuf  o -hcsuf hc -c libraries/integer-gmp/./GHC/Integer/Type.hs -o libraries/integer-gmp/dist-install/build/GHC/Integer/Type.o

/var/tmp/portage/dev-lang/ghc-7.2.0.20110728/temp/ghc11901_0/ghc11901_0.hc:33:0:
     error: static declaration of ‘integerzmgmp_GHCziIntegerziType_Szh_info’ follows non-static declaration

/var/tmp/portage/dev-lang/ghc-7.2.0.20110728/temp/ghc11901_0/ghc11901_0.hc:6:0:
     error: previous declaration of ‘integerzmgmp_GHCziIntegerziType_Szh_info’ was here

/var/tmp/portage/dev-lang/ghc-7.2.0.20110728/temp/ghc11901_0/ghc11901_0.hc:64:0:
     error: static declaration of ‘integerzmgmp_GHCziIntegerziType_Jzh_info’ follows non-static declaration

/var/tmp/portage/dev-lang/ghc-7.2.0.20110728/temp/ghc11901_0/ghc11901_0.hc:36:0:
     error: previous declaration of ‘integerzmgmp_GHCziIntegerziType_Jzh_info’ was here
make[1]: *** [libraries/integer-gmp/dist-install/build/GHC/Integer/Type.o] Error 1

And yes, the .hs file contains incoherent declarations:

EI_(integerzmgmp_GHCziIntegerziType_Szh_info);
StgWord integerzmgmp_GHCziIntegerziType_Szh_closure[] = {
(W_)&integerzmgmp_GHCziIntegerziType_Szh_info
};
...
static StgWord integerzmgmp_GHCziIntegerziType_Szh_info[] = {
(W_)&integerzmgmp_GHCziIntegerziType_Szh_entry, 0x0, 0xfUL, 0x100000004UL
};

The architecture is alpha-linux, but I think it's a generic problem. Looks like it's occured after Max's (CCed) _info export change:

commit dd391759500ab2b6abd23d502ade7ff8946c780f
Author: Max Bolingbroke <batterseapower@hotmail.com>
Date:   Wed Jul 6 18:01:02 2011 +0100

    Don't export the _info symbol for the data constructor worker bindings

    This is safe because GHC never generates a fast call to a data constructor
    worker: if the call is seen statically it will be eta-expanded and the
    allocation of the data will be inlined. We still need to export the _closure
    in case the constructor is used in an unapplied fashion.

Thanks!

Trac metadata
Trac field Value
Version
Type Bug
TypeOfFailure OtherFailure
Priority normal
Resolution Unresolved
Component Compiler
Test case
Differential revisions
BlockedBy
Related
Blocking
CC batterseapower@hotmail.com
Operating system Linux
Architecture alpha
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking