Comment puis-je vérifier les atsortingbuts internes des objects partagés?

Lorsque vous utilisez HP-UX, je peux utiliser l’utilitaire chatr pour signaler différents atsortingbuts internes d’une bibliothèque partagée. Cela me permettra également de modifier les atsortingbuts internes des bibliothèques partagées que j’ai créées.

L’utilitaire chatr peut signaler et, dans certains cas, modifier des éléments tels que:

  1. le comportement de liaison d’exécution,
  2. la liste de chemins de la bibliothèque intégrée créée au moment de la construction,
  3. si la bibliothèque est soumise à une recherche de chemin d’exécution,
  4. noms internes,
  5. etc.

Un tel utilitaire est-il disponible pour Solaris?

Edit: Freaky! Grâce à la réponse de mark4o ci-dessous, j’ai revu la sortie elfdump pour un système typique .so (libm.so.2 sur Sol 10). Cependant, et voici la partie bizarre, j’ai mal écrit la commande pour entrer:

elfdump libm.so.2 | moe 

Dans un coup de sérénité incroyable, cela m’a redonné le message d’utilisation d’un utilitaire appelé moe dont la section de description de page de manuel indique:

L’utilitaire moe manifeste l’extension optimale d’un nom de chemin contenant des jetons d’éditeur d’exécution réservés. Ces jetons peuvent être utilisés pour définir des dépendances, des fichiers et des chemins d’exécution dans des objects dynamics. L’expansion de ces jetons à l’exécution fournit un mécanisme flexible pour sélectionner des objects et des chemins de recherche performants sur cette machine.

Cela m’aidera à comprendre pourquoi un fichier libm.so.2 shlib n’est pas compatible sur les deux machines différentes, laissant mon exécutable incomplet incapable de démarrer sur un serveur.

Pour afficher les informations, voir les elfdump Solaris elfdump et pvs . Pour le débogage des problèmes de liaison, lari et moe peuvent également être utiles. Cependant, ces utilitaires ne permettent pas de modifier la bibliothèque.

À partir de Solaris 11 (et de certaines versions d’OpenSolaris et de Solaris Express, mais pas de Solaris 10 ou version antérieure), il existe désormais un outil elfedit permettant de modifier les chemins d’exécution et les atsortingbuts similaires.