27 octobre 2004

Connaitre les librairies utilisées par un exécutable

Sous Linux

La commande ldd permet de donner la liste des librairies utilisées par un exécutable :

% ldd  /usr/bin/xsltproc
        linux-gate.so.1 =>  (0xffffe000)
        libxslt.so.1 => /usr/lib/libxslt.so.1 (0x4002a000)
        libexslt.so.0 => /usr/lib/libexslt.so.0 (0x4005b000)
        libgcrypt.so.11 => /usr/lib/libgcrypt.so.11 (0x4006c000)
        libnsl.so.1 => /lib/libnsl.so.1 (0x400ba000)
        libgpg-error.so.0 => /usr/lib/libgpg-error.so.0 (0x400cd000)
        libxml2.so.2 => /usr/lib/libxml2.so.2 (0x400d1000)
        libz.so.1 => /lib/libz.so.1 (0x401bc000)
        libpthread.so.0 => /lib/tls/libpthread.so.0 (0x401cd000)
        libm.so.6 => /lib/tls/libm.so.6 (0x401de000)
        libc.so.6 => /lib/tls/libc.so.6 (0x40202000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
% 

Pour avoir encore plus d'informations, on peut utiliser l'option -v ( ldd -v /usr/bin/xsltproc )

la commande file donne les caractéristiques de l'exécutable ( 32bit, 64 bit, Intel, Sparc, ...)

% file  /usr/bin/xsltproc
/usr/bin/xsltproc: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs), stripped
%

Sous HP-UX

La commande chatr permet de connaitre la liste des librairies utilisées par un exécutable :

% chatr xsltproc
xsltproc:
         64-bit ELF executable
         shared library dynamic path search:
             LD_LIBRARY_PATH    enabled  first 
             SHLIB_PATH         enabled  second
             embedded path      enabled  third  /usr/local/stow/libxml2-2.6.9-64/lib
         shared library list:
             libxml2.sl.8
             libz.sl
             libpthread.1
             libm.2
             libc.2
         shared library binding:
             deferred
         global hash table disabled
         global hash table size 1103
         shared library mapped private disabled
         shared library segment merging disabled
         shared vtable support disabled
         explicit unloading disabled
         segments:
             index type     address      flags size
                 6 text 4000000000000000 z---c-    D (default)
                 7 data 8000000100000000 ---m--    D (default)
         executable from stack: D (default)
         static branch prediction disabled
         kernel assisted branch prediction enabled 
         lazy swap allocation for dynamic segments disabled
         nulptr references disabled
%

Comme sous Linux la commande file donne les caractéristiques d'un exécutable :

% file xsltproc
xsltproc:       ELF-64 executable object file - PA-RISC 2.0 (LP64)
%

Vous trouverez plus d'informations sur les exécutables HP-UX à cette adresse : http://devrsrc1.external.hp.com/STK/libscan.html

Aucun commentaire:

Publier un commentaire