Neuerungen in Solaris Express Developer Edition

ld-Verknüpfungs-Editor für Objektdateien

Diese Verbesserung der Developer-Tools ist neu in der Version Solaris Express 8/06.

In dieser Version wurde das Verhalten des Befehls ld beim Erstellen einer neuen Version von einer vorhandenen Ausgabedatei geändert. Mit dieser Änderung wird ein seit langem bestehendes Problem gelöst, wobei es um die Art und Weise geht, wie neue Ausgabedateien des Verknüpfers mit laufenden Programmen interagieren, die gleichzeitig auf alte Versionen dieser Dateien zugreifen.

Wenn die von ld erstellte Datei bereits existiert, wird die Verknüpfung der bereits vorhandenen Datei nach der Verarbeitung aller Eingabedateien aufgehoben. Danach wird ein neue Datei unter dem angegebenen Namen erstellt. Dank dieser Änderung kann mit dem Befehl ld nun eine neue Version der Datei erstellt werden, während vorhandene Prozesse, die auf die alte Datei zugreifen, weiter fortgesetzt werden können. Wenn die alte Datei über keine anderen Verknüpfungen verfügt, wird der Speicherplatz der Datei bei der Beendigung des letzten Prozesses, der auf die Datei zugreift, freigegeben.

In Versionen vor Solaris Express 8/06 wurde die Verknüpfung der vorhandenen Datei nicht aufgehoben, sondern die Datei stattdessen überschrieben. Damit bestand jedoch die Gefahr, dass laufende Prozesse mit Zugriff auf die Datei fehlschlugen.

Weitere Informationen finden Sie auf der Manpage ld(1).


Hinweis –

Das neue Verhalten des Befehls ld hat Auswirkungen auf die Ausgabedateien, für die im Dateisystem mehrere harte Verknüpfungen vorliegen. Bisher blieben alle Verknüpfungen erhalten, wobei alle Verknüpfungen Zugriff auf die neuen Dateiinhalte hatten. Derartige Verknüpfungen werden durch das neue Verhalten des Befehls ld nun aufgehoben, was dazu führt, dass nur die angegebene Ausgabedatei auf die neue Datei verweist. Alle anderen Verknüpfungen verweisen auf die alte Datei. Um sicherzustellen, dass alle Solaris-Versionen gleich reagieren, sollten die anderen Dateinamen in Anwendungen, die mit mehreren harten Verknüpfungen zu Verknüpfer-Ausgabedateien arbeiten, entfernt und neu verknüpft werden.