Nouveaut??s de Solaris Express Developer Edition

Éditeur de liens ld pour les fichiers objet

Cette évolution des outils du développeur est une nouveauté de Solaris Express version 8/06.

Le comportement de la commande ld lors de la création d'une nouvelle version d'un fichier de sortie existant a été modifié dans le but de résoudre un problème à long terme lié à l'interaction des fichiers de sortie de l'éditeur de liens avec les programmes en cours d'exécution. Ces derniers ont l'habitude d'utiliser simultanément les anciennes versions de ces fichiers.

Si le fichier créé au moyen de ld existe déjà, le lien du fichier est supprimé à l'issue du traitement de tous les fichiers d'entrée. Un nouveau fichier correspondant au nom spécifié est alors créé. Ce comportement permet à la commande ld de produire une nouvelle version du fichier et d'autoriser simultanément la poursuite de l'exécution des processus existants ayant accès au contenu de l'ancien fichier. Si l'ancien fichier ne possède aucun autre lien, l'espace disque réservé au fichier est libéré dès que le dernier processus faisant référence au fichier se termine.

Dans les versions antérieures à Solaris Express 8/06, le lien du fichier n'était pas supprimé, mais écrasé. Cela présentait le risque de corrompre les processus en cours d'exécution qui utilisaient le fichier.

Pour plus d'informations, reportez-vous à la page de manuel ld(1).


Remarque –

Le nouveau comportement de la commande ld a une incidence sur les fichiers de sortie possédant plusieurs liens dans le système de fichiers. Auparavant, tous les liens étaient préservés et permettaient de continuer à accéder au contenu du nouveau fichier. Le nouveau comportement de la commande ld a pour effet de couper de tels liens de telle sorte que seul le nom du fichier de sortie spécifié fait référence au nouveau fichier. Tous les autres liens continuent de faire référence à l'ancien fichier. Pour garantir un comportement cohérent sur une version Solaris, les applications recourant à plusieurs liens matériels aux fichiers de sortie de l'éditeur de liens doivent supprimer de façon explicite les liens aux autres noms de fichier et les redéfinir.