Determine permissible changes to established ELF linking behavior

Determine which established ELF linking conventions and corner-case outcomes may be changed when designing a fully parallel linker, in the absence of a normative specification for linker input-processing semantics.

Background

The paper explains that the ELF specification defines the object-file format but does not specify how a linker must process its inputs. Existing practice is therefore governed largely by GNU ld as a de facto reference implementation. This creates uncertainty for parallel linker implementations because changing the order of global decisions can alter outcomes, such as which definition prevails when archives in a start-group/end-group define the same symbol.

The unresolved issue is to establish which behavioral deviations are semantically permissible rather than merely observable differences that users may classify as linker bugs. A formal or normative account would make it possible to evaluate fully parallel linking algorithms against defined compatibility requirements.

References

This absence of a specification makes established conventions hard to change, because it is not clear what is allowed to change.

mold: A Massively Parallel Linker  (2608.23228 - Ueyama, 24 Aug 2026) in Section 2, subsection “Why Existing Linkers Are Not More Parallel,” paragraph “No formal specification”