Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in / Register
  • GHC GHC
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 4,866
    • Issues 4,866
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
  • Merge requests 456
    • Merge requests 456
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Releases
  • Analytics
    • Analytics
    • Value stream
    • 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 Compiler
  • GHCGHC
  • Issues
  • #16686
Closed
Open
Created May 23, 2019 by Zubin@wz1000Maintainer

HIE file versions are not checked, and they don't have a sensible header

Even though we have a hie_file_version field in HieFiles, while reading HIE files, we don't check to see if this matches. This version is also doesn't appear at the start of the file, but two Word32s after.

A more sensible approach would be to have a header for .hie files which is immediately recognizable, and includes the version of the HIE file format, as well as the version of GHC the file was generated with.

The HIE file version should also be generated automatically from the GHC version as is done for interface files

The proposed new header format for HIE files is:

  • 3 bytes (0x48,0x49,0x45) corresponding to the capital ASCII letters "HIE"
  • 1 Integer for the current HIE file version
  • 1 Int for the length of the GHC version
  • The raw bytes of the current GHC version

It is important that this is included in the 8.8 release, as 8.8 is the first release in which .hie files appear.

Edited May 25, 2019 by Zubin
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking