HORIZON HASKELLDocslts/ghc-10.0.xfc4e5982026-10-11Search names, modules, packages, or :: a typeCtrl K

GHC 10.0.0.20260917 · lts/ghc-10.0.x · fc4e598 · 2026-10-11

Moduleghc-lib-parser-9.14.1.20251220GHC2021

GHC.Linker.Types

  • 14 types
  • 22 values
datadata LoaderState
#

Constructors

datadata LinkerEnv
#

Constructors

  • LinkerEnv
    • closure_env :: !ClosureEnv

      Current global mapping from closure Names to their true values

    • itbl_env :: !ItblEnv

      The current global mapping from RdrNames of DataCons to info table addresses. When a new LinkablePart is linked into the running image, or an existing module in the image is replaced, the itbl_env must be updated appropriately.

    • addr_env :: !AddrEnv

      Like closure_env and itbl_env, but for top-level Addr# literals, see Note [Generating code for top-level string literal bindings] in GHC.StgToByteCode.

datadata LinkedBreaks
#

BreakArrays and CCSs are allocated per-module at link-time.

Specifically, a module's BreakArray is allocated either: - When a BCO for that module is linked - When :break is used on a given module *before* the BCO has been linked.

We keep this structure in the LoaderState

Constructors

datadata SptEntry
#

An entry to be inserted into a module's static pointer table. See Note [Grand plan for static forms] in GHC.Iface.Tidy.StaticPtrTable.

Constructors

Instances1Outputable

Linkable

17 declarations
datadata LinkablePart
#

Objects which have yet to be linked by the compiler

Constructors

Instances1Outputable
datadata LinkableObjectSort
#

Classify the provenance of .o products.

Constructors

  • ModuleObject

    The object is the final product for a module. When linking splices, its file extension will be adapted to the interpreter's way if needed.

  • ForeignObject

    The object was created from generated code for foreign stubs or foreign sources added by the user. Its file extension must be preserved, since there are no objects for alternative ways available.