Get bytes of a Double representation
Moduleghc-10.0.0.20260917GHC2024
GHC.CmmToAsm.Ppr
- 7 values
- Packageghc-10.0.0.20260917
- Exports7
- LanguageGHC2024
- LicenceBSD-3-Clause
- SourcePpr.hs
Get bytes of a Float representation
Emit a ".string" directive
Emit a ".incbin" directive
A NULL byte is added after the binary data.
Note [Split sections on COFF objects] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
On Windows/COFF, LLD's gc-sections only works on COMDAT sections, so we mark split sections as COMDAT and need to provide a unique "key" symbol.
Important: We must not use a dot-prefixed local label (e.g.
.L...) as the COMDAT key symbol, because LLVM's COFF assembler
treats dot-prefixed COMDAT key symbols specially and forces them to
have value 0 (the beginning of the section). That breaks
tablesNextToCode, where the info label is intentionally placed
after the info table data (at a non-zero offset).
Therefore we generate a non-dot-prefixed key symbol derived from
the section suffix, and (see arch-specific pprSectionAlign) we
emit a label definition for it at the beginning of the section.
ctor/dtor sections are specially treated; they must be emitted as regular data sections, otherwise LLD will drop them.
Note that we must not emit .equiv directives for COMDAT sections in COFF objects, they seriously confuse LLD and we end up with access violations at runtimes.