afs-ld Sprint Index
32 sprints across 10 phases. Small bites, clear milestones, testable deliverables at every stage. Each sprint is independently reviewable and mergeable; every sprint that lands new surface area also lands corpus fixtures and differential coverage.
Phase 0 — Scaffolding
- Sprint 0 — Scaffolding, References, Harness
Phase 1 — Mach-O Reading
- Sprint 1 — MH_OBJECT Header & Load Commands
- Sprint 2 — Sections, Symbols, String Tables
- Sprint 3 — Relocations (Read-Side)
Phase 2 — Archives & Dylibs
Phase 3 — Symbol Resolution
- Sprint 7 — Symbol Model & Table
- Sprint 8 — Name Resolution Pass
- Sprint 9 — Subsections-via-Symbols Atomization
Phase 4 — Output Construction (MH_EXECUTE and MH_DYLIB both first-class)
- Sprint 10 — Output Segment & Section Layout (dylib-aware)
- Sprint 11 — Core Relocation Application (ARM64)
- Sprint 12 — GOT, Stubs, Lazy Pointers
- Sprint 13 — TLV Relocations
- Sprint 14 — LC_SYMTAB / LC_DYSYMTAB / String Table
Phase 5 — Dynamic Linker Metadata
- Sprint 15 — Classic LC_DYLD_INFO Opcodes
- Sprint 15.5 — Chained Fixups (LC_DYLD_CHAINED_FIXUPS)
- Sprint 16 — LC_FUNCTION_STARTS & LC_DATA_IN_CODE
- Sprint 17 — Unwind Info
Phase 6 — First End-to-End
- Sprint 18 — HELLO WORLD MILESTONE (Executable)
- Sprint 18.5 — HELLO LIBRARY MILESTONE (Dylib)
Phase 7 — CLI & Driver Integration
Phase 8 — Runtime Compatibility
Phase 9 — Advanced Features
- Sprint 23 — Dead Strip (
-dead_strip) - Sprint 24 — ICF (
-icf=safe) - Sprint 25 — LOH Relaxation
- Sprint 26 — Thunks for Out-of-Range Branches
Phase 10 — Production Hardening
View source
| 1 | # afs-ld Sprint Index |
| 2 | |
| 3 | 32 sprints across 10 phases. Small bites, clear milestones, testable deliverables at every stage. Each sprint is independently reviewable and mergeable; every sprint that lands new surface area also lands corpus fixtures and differential coverage. |
| 4 | |
| 5 | ## Phase 0 — Scaffolding |
| 6 | - [Sprint 0](sprint00.md) — Scaffolding, References, Harness |
| 7 | |
| 8 | ## Phase 1 — Mach-O Reading |
| 9 | - [Sprint 1](sprint01.md) — MH_OBJECT Header & Load Commands |
| 10 | - [Sprint 2](sprint02.md) — Sections, Symbols, String Tables |
| 11 | - [Sprint 3](sprint03.md) — Relocations (Read-Side) |
| 12 | |
| 13 | ## Phase 2 — Archives & Dylibs |
| 14 | - [Sprint 4](sprint04.md) — Static Archives (ar) |
| 15 | - [Sprint 5](sprint05.md) — Dylibs (MH_DYLIB binary) |
| 16 | - [Sprint 6](sprint06.md) — TAPI TBD Text Stubs |
| 17 | |
| 18 | ## Phase 3 — Symbol Resolution |
| 19 | - [Sprint 7](sprint07.md) — Symbol Model & Table |
| 20 | - [Sprint 8](sprint08.md) — Name Resolution Pass |
| 21 | - [Sprint 9](sprint09.md) — Subsections-via-Symbols Atomization |
| 22 | |
| 23 | ## Phase 4 — Output Construction (MH_EXECUTE and MH_DYLIB both first-class) |
| 24 | - [Sprint 10](sprint10.md) — Output Segment & Section Layout (dylib-aware) |
| 25 | - [Sprint 11](sprint11.md) — Core Relocation Application (ARM64) |
| 26 | - [Sprint 12](sprint12.md) — GOT, Stubs, Lazy Pointers |
| 27 | - [Sprint 13](sprint13.md) — TLV Relocations |
| 28 | - [Sprint 14](sprint14.md) — LC_SYMTAB / LC_DYSYMTAB / String Table |
| 29 | |
| 30 | ## Phase 5 — Dynamic Linker Metadata |
| 31 | - [Sprint 15](sprint15.md) — Classic LC_DYLD_INFO Opcodes |
| 32 | - [Sprint 15.5](sprint15_5.md) — Chained Fixups (LC_DYLD_CHAINED_FIXUPS) |
| 33 | - [Sprint 16](sprint16.md) — LC_FUNCTION_STARTS & LC_DATA_IN_CODE |
| 34 | - [Sprint 17](sprint17.md) — Unwind Info |
| 35 | |
| 36 | ## Phase 6 — First End-to-End |
| 37 | - [Sprint 18](sprint18.md) — HELLO WORLD MILESTONE (Executable) |
| 38 | - [Sprint 18.5](sprint18_5.md) — HELLO LIBRARY MILESTONE (Dylib) |
| 39 | |
| 40 | ## Phase 7 — CLI & Driver Integration |
| 41 | - [Sprint 19](sprint19.md) — CLI Surface + Diagnostics (-map, -why_live) |
| 42 | - [Sprint 20](sprint20.md) — Driver Swap |
| 43 | |
| 44 | ## Phase 8 — Runtime Compatibility |
| 45 | - [Sprint 21](sprint21.md) — Runtime Archive Linking |
| 46 | - [Sprint 22](sprint22.md) — Code Signature (Ad-Hoc) |
| 47 | |
| 48 | ## Phase 9 — Advanced Features |
| 49 | - [Sprint 23](sprint23.md) — Dead Strip (`-dead_strip`) |
| 50 | - [Sprint 24](sprint24.md) — ICF (`-icf=safe`) |
| 51 | - [Sprint 25](sprint25.md) — LOH Relaxation |
| 52 | - [Sprint 26](sprint26.md) — Thunks for Out-of-Range Branches |
| 53 | |
| 54 | ## Phase 10 — Production Hardening |
| 55 | - [Sprint 27](sprint27.md) — Differential Harness vs Apple ld |
| 56 | - [Sprint 28](sprint28.md) — Performance & Parallelism |
| 57 | - [Sprint 29](sprint29.md) — fortsh Link Audit |
| 58 | - [Sprint 30](sprint30.md) — Diagnostics & Polish |
| 59 | - [Sprint 31](sprint31.md) — Final Audit |