Repository 32bit  Forum
Repository 64bit  Wiki

ld-linux vs readelf

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata e la versione del Kernel. Questi dati aiutano le persone che possono rispondere.
2) Specificare sempre il tipo di shell (bash, sh, csh, etc...)
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza dell'ultima regola porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.

ld-linux vs readelf

Messaggioda Dani » mar apr 15, 2008 16:10

Come mai su alcuni eseguibili i due programmi in oggetto danno risultati diversi ?
Ad esempio sul mio sistema i comandi "/lib/ld-2.5.so --list /usr/bin/mplayer" e "readelf -d /usr/bin/mplayer" danno risultati diversi, o meglio il primo comprende il secondo ma non viceversa.
In breve mi trovo davanti due possibili situazioni differenti (dipende dagli eseguibili esaminati):
- Nel primo caso ld e readelf mostrano le stesse identiche librerie necessarie, e fin qui ok.
- Nel secondo caso ld mostra le librerie che vede anche readelf, ma a queste ne aggiunge altre !
Dove le va a pescare queste librerie aggiuntive ? Chi le richiede ?
Dani
Linux 3.x
Linux 3.x
 
Messaggi: 1447
Iscritto il: mer apr 26, 2006 1:52
Desktop: gnome
Distribuzione: arch

Re: ld-linux vs readelf

Messaggioda absinthe » mer apr 16, 2008 13:16

mmm... potresti postare un esempio? l'iunica cosa che so è che readelf è crossplatform ed interroga direttamente l'eseguibile, ld invece si basa sul linker quandi anche su ld.so.conf

M
Avatar utente
absinthe
Iper Master
Iper Master
 
Messaggi: 2354
Iscritto il: dom mag 15, 2005 0:00
Località: Prato
Nome Cognome: Matteo Nunziati
Slackware: 12.1 - defunct
Kernel: 2.6.32-5-amd64
Desktop: gnome
Distribuzione: debian squeeze

Re: ld-linux vs readelf

Messaggioda Dani » mer apr 16, 2008 14:16

Su mplayer,

readelf:

Codice: Seleziona tutto
bt ~ # readelf -d /usr/bin/mplayer | grep 'Shared' | awk '{print $5}' | sed s/\\[// | sed s/\\]//
libgtk-x11-2.0.so.0
libgdk-x11-2.0.so.0
libatk-1.0.so.0
libgdk_pixbuf-2.0.so.0
libm.so.6
libpangocairo-1.0.so.0
libpango-1.0.so.0
libcairo.so.2
libgobject-2.0.so.0
libgmodule-2.0.so.0
libdl.so.2
libglib-2.0.so.0
libmad.so.0
libtheora.so.0
libogg.so.0
libpng.so.3
libz.so.1
libjpeg.so.62
libasound.so.2
libpthread.so.0
libmp3lame.so.0
libncurses.so.5
libcdda_interface.so.0
libcdda_paranoia.so.0
libungif.so.4
libsmbclient.so.0
libfribidi.so.0
libfontconfig.so.1
libfreetype.so.6
libGL.so.1
libXv.so.1
libXxf86vm.so.1
libXinerama.so.1
libXext.so.6
libX11.so.6
libartsc.so.0
libgthread-2.0.so.0
librt.so.1
libc.so.6
bt ~ #     


ldd:

Codice: Seleziona tutto
bt ~ # /lib/ld-linux.so.2 --list /usr/bin/mplayer | awk '{print $1}'
linux-gate.so.1
libgtk-x11-2.0.so.0
libgdk-x11-2.0.so.0
libatk-1.0.so.0
libgdk_pixbuf-2.0.so.0
libm.so.6
libpangocairo-1.0.so.0
libpango-1.0.so.0
libcairo.so.2
libgobject-2.0.so.0
libgmodule-2.0.so.0
libdl.so.2
libglib-2.0.so.0
libmad.so.0
libtheora.so.0
libogg.so.0
libpng.so.3
libz.so.1
libjpeg.so.62
libasound.so.2
libpthread.so.0
libmp3lame.so.0
libncurses.so.5
libcdda_interface.so.0
libcdda_paranoia.so.0
libungif.so.4
libsmbclient.so.0
libfribidi.so.0
libfontconfig.so.1
libfreetype.so.6
libGL.so.1
libXv.so.1
libXxf86vm.so.1
libXinerama.so.1
libXext.so.6
libX11.so.6
libartsc.so.0
libgthread-2.0.so.0
librt.so.1
libc.so.6
libXfixes.so.3
libXrender.so.1
libXi.so.6
libXrandr.so.2
libXcursor.so.1
/lib/ld-linux.so.2
libpangoft2-1.0.so.0
libpng12.so.0
libcrypt.so.1
libresolv.so.2
libnsl.so.1
libldap-2.3.so.0
liblber-2.3.so.0
libexpat.so.1
libgcc_s.so.1
libXau.so.6
libxcb-xlib.so.0
libxcb.so.1
libsasl2.so.2
libssl.so.0
libcrypto.so.0
libXdmcp.so.6
bt ~ #       


Fino a libc.so sono entrambi "sincronizzati", dopo ldd trova altre librerie necessarie mentre readelf non le mostra affatto #-o
Dani
Linux 3.x
Linux 3.x
 
Messaggi: 1447
Iscritto il: mer apr 26, 2006 1:52
Desktop: gnome
Distribuzione: arch


Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite