Est-il possible d'utiliser un script d'éditeur de liens ou un fichier mapfile pour renommer un symbole? J'essaye d'adapter du code écrit dans un mélange de C++ et de Fortran pour qu'il fonctionne avec plus d'un compilateur Fortran - sous Linux. Il est actuellement écrit pour le compilateur Solaris Studio avec l'option de sensibilité à la casse activée. Je voudrais gérer les variations dans le nom du symbole Fortran mangling automatiquement (comme dans le Makefile).renommer un symbole à l'aide d'un script d'éditeur de liens
Il ne semble pas être possible de créer des alias ainsi, un script de liaison contenant:
C_Function_ = c_function;
triera-travail. Malheureusement, ajouter l'option -T pour faire référence à ce script provoque d'autres changements de comportement et j'obtiens des erreurs dues au fait que libdl.so.2/librt.so.1 n'est pas trouvé. Existe-t-il une sorte de script d'éditeur de liens par défaut que je dois inclure ou quelque chose? J'ai essayé avec les linkers bfd et gold sur Linux.
Merci, en omettant le '-T' résout cela. Que fait le 'PROVIDE'? Cela l'empêche de fonctionner dans le cas où le symbole est compilé dans une bibliothèque partagée. – okapi
'PROVIDE()' garantit que le symbole est seulement aliasé si le nom utilisé n'existe pas déjà. Je ne sais pas pourquoi cela devrait entrer en conflit avec la construction d'une bibliothèque partagée, cependant. – mfro