ELF (Executable And Linking Format) est le format de fichier utilisé depuis ~1995 pour le stockage des exécutables et des librairies partagées sous Linux.
Le format ELF fut justement mis en place pour supporter plus facilement la mise en place des shared library mais aussi pour pouvoir autoriser le chargement dynamique de ces librairies.
Il était pourtant possible de bricoler des chargements dynamiques avec l'ancien format a.out, ce que fit d'ailleurs Sun, mais ce fut au prix de nombreuses complications obscurcissant le fonctionnement des exécutables.
Avec l'apparition d'ELF déjà adopté par de nombreux systèmes Unix, le monde Linux s'était doté d'une technologie essentielle nécessaire à son expansion.
Pour les curieux, je vous invite à consulter les articles introductifs
- Executable and Linking Format (description Wikipedia)
- ELF (sur le guide du ROOTard)
C'est une excellent article de fond qui présente les différences entre l'ancien et le nouveau format, abordant la compilation pour librairie statique et dynamique, les principes de relocation, GOT (Global Offset Table) et PLT (Procedure Linkage Table).
Aucun commentaire:
Enregistrer un commentaire