Commit graph

3 commits

Author SHA1 Message Date
Graeme Geldenhuys fb0baa229f docs: mark internal linker Phases C and D as implemented 2026-06-19 10:51:09 +01:00
Graeme Geldenhuys 12613ab68e docs: mark internal linker Phases A and B as implemented 2026-06-19 07:56:13 +01:00
Graeme Geldenhuys ff5c481ec0 test: add assembler/ELF writer tests and internal linker design doc
- TAsmEncodingTests: byte-level regression tests against AssembleToBytes
  (bare (%reg) operands, .quad symbol relocations, TLS prefix ordering,
  PC32 addend with trailing immediates, branch relocations,
  .note.GNU-stack presence, REX.X for extended index registers, imm16
  width, unknown-directive/duplicate-label errors, line-numbered
  diagnostics).
- TElfWriterTests: ELF header fields, section append/align/offset
  tracking, symbol definition and lookup, BSS reservation.
- TInternalAsmE2ETests: compile->link->run through the compiler CLI
  with --backend native --assembler internal, including class virtual
  dispatch (vtable .quad relocations) and float arithmetic (SSE
  spills).  A compile failure now Fails the test rather than being
  masked as a missing toolchain.
- docs/internal-linker-design.adoc: design for the next
  toolchain-independence phase — an internal ELF linker built into the
  blaise binary (PIE output, eager binding, .rela.dyn/R_X86_64_RELATIVE,
  TLS, CRT discovery, FreeBSD/macOS outlook, OPDF pass-through).
2026-06-12 09:55:44 +01:00