D025 - The module writer takes library resolution from the caller

Status: decided Date: 2026-09-26

selfish-elf::dynlib writes the vendor dynamic tables and edits a linked module to carry them. Which library resolves a given symbol arrives from the caller as a closure, and an undefined symbol the closure does not claim is an error naming it.

Why: which library provides a name is a manifest, and every consumer has a different one; none disagrees about the format. Library zero is a real id, so defaulting an unclaimed symbol to it produces a module that loads and resolves nothing.

Rejected: