b68697e579d38ca29c2b84377dc2affa04659a28 introduced a regression
stopping existing unregisteristed compilers from being used to compile a
newer version of GHC, as they emit the old EI_/II_. This reintroduces
them to Stg.h as a fix.
- rGHC Glasgow Haskell Compiler
- unreg-bootstrap (branched from master)
No Unit Test Coverage
- Build Status
Buildable 16669 Build 30504: [GHC] Linux/amd64: Patch building Build 30503: [GHC] OSX/amd64: Continuous Integration Build 30502: [GHC] Windows/amd64: Continuous Integration Build 30501: arc lint + arc unit
Nice and simple fix. Apologies for caused breakage. Didin't realize
we leak-in new Stg.h even when stage0 is invoked.
Perhaps worth explicitly adding a nothe that it:
I would agree with that; this was just a local hack, but I was encouraged to send it, so I did. For whatever reason, -Iincludes is given to the stage0 compiler when building stage1. An example of the failure (re-running make after a failed run) can be seen at https://people.debian.org/~jrtc27/ghc-unregisterised-bootstrap-error.log.
The GHC_INCLUDE_DIRS to stage0 was added in ea310f9956179f91ca973bc747b0bc7b061bc174:
# We add these paths to the Haskell compiler's #include search path list since # we must avoid #including files by paths relative to the source file as Hadrian # moves the build artifacts out of the source tree. See #8040. compiler_HC_OPTS += $(addprefix -I,$(GHC_INCLUDE_DIRS))