Classroom Public page

Lab Pack 6a: Static Linker (Week 7)

196 words

Resolve symbols. Apply relocations. Produce a flat binary. Five worksheets in worksheets/ch6a/ build the linker that completes the assembler from week 6.


Anchors the week

Week 7: Static Linker. The linker is the step Petzold parenthesized; the academy brings it to the foreground because real toolchains depend on it.

Concept the lab embodies

Symbol resolution. Names get final addresses; the encoded bytes get patched to use those addresses; the binary becomes self-contained.

The five worksheets

Worksheet Time Purpose
lab-6a.1-symbol-resolution.md ~90 min Collect all symbol defs; match all refs
lab-6a.2-two-relocation-types.md ~90 min PC-relative and absolute patching
lab-6a.3-link-and-boot-two-files.md ~90 min Two-file program runs on silicon
lab-6a.4-corrupted-input-and-industry-reconciliation.md ~90 min Error handling; reconcile with ld
lab-6a.5-ghidra-whole-program.md ~90 min Ghidra reads the linked output

Grading rubric

Per-worksheet rubrics. Week-level: linker handles symbol resolution and both relocation types; two-file program boots on silicon.

What's next

Lab pack 7: VM I. A new layer enters the toolchain.