Un grand commentaire sur my answer describing how to use linker scripts to make a ctor-like function list a souligné que GND ld récente a beaucoup amélioré le support pour greffer de nouvelles sections dans les scripts de l'éditeur de liens système avec -Wl,-T...
et INSERT BEFORE
/INSERT AFTER
. Cela m'a fait penser à d'autres astuces de script d'éditeur de liens. Pour un micrologiciel de carte réseau, j'ai modifié le script de l'éditeur de liens pour regrouper les modules d'exécution du micrologiciel afin qu'ils soient tous dans un bloc contigu pouvant être dans le cache L1 sans conflits. Pour nettoyer les traînards (où je ne pouvais pas grouper par .o
) j'ai utilisé des attributs de section sur des fonctions individuelles. Les compteurs de performance ont vérifié que cela fonctionnait réellement (le cache d'instruction L1 réduit à presque rien).Utilisations intelligentes des scripts d'éditeur de liens?
Quelles autres choses intelligentes avez-vous accomplies avec les scripts de liens?