Unter Annahme des ELF-Dateiformats erzeugt der Assembler eine nicht definierte Symbolreferenz in der Objektdatei. Das sieht dann so aus:
%Vor%Es wird auch ein Verschiebungseintrag erstellt, der auf den Teil des Codebildes verweist, der vom Linker mit der korrekten Adresse aktualisiert werden muss. Es sieht so aus:
%Vor%Die Aufgabe des Linkers ist es dann, durch die Verschiebungstabelle zu gehen und das Codebild mit den endgültigen Symboladressen zu reparieren.
Es gibt ein ausgezeichnetes Buch, aber ich kann die Details gerade nicht finden (und es ist vergriffen). Dies scheint jedoch nützlich zu sein: Ссылка
Dave.
Eine weitere gute Quelle für Linker ist diese Artikelserie: Ссылка .
Ein Papier, das Ihnen helfen könnte, ist Schreiben freigegebener Bibliotheken von Ulrich Drepper. Ulritch der Linux-Glibc-Betreuer und er ist eine Autorität auf ELF.
Auch wenn es in diesem Dokument darum geht, wie man gemeinsam genutzte Bibliotheken schreibt und wie man Symbole exportiert oder nicht exportiert, wird erklärt, wie diese Symbole in einem Exefile mit ELF-Format dynamisch aufgelöst werden.
Ich denke, es könnte deine Frage beantworten.