Dynamic Loader (ld.so): Description: Expected linker behaviour except for the following 2 caveats: - Linker tries to satisfy the minimal amount of symbols needed. - If the inclusion of a section causes the creation of symbols those symbols take precedence. Rationale: Library writers providing different versions of functions such as those referencing .tdata and .tbss will cause the TLS code to be selected in their library; otherwise this they need to rely on compiler and non-portable methods to ensure the linker chooses the correct object files to link. - Only support for ELF format. Goals: - Heuristic: Choose the set of object files that satisfy all undefined symbols while choosing the minimum amount of symbols. - Rationale: Should produce clean binaries with minimal fluff. - Most object files in libraries are self contained and usually don't introduce extra undefined symbols. - In the C library the only places where these decisions matter is in the entry and exit code. - The rest of the object files would just satisfy the final executable requirements. Design: - To be decided.