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 ?
ld-linux vs readelf
Moderatore: Staff
Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
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 della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
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 della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
- absinthe
- Iper Master

- Messaggi: 2354
- Iscritto il: dom 15 mag 2005, 0:00
- Nome Cognome: Matteo Nunziati
- Slackware: 12.1 - defunct
- Kernel: 2.6.32-5-amd64
- Desktop: gnome
- Distribuzione: debian squeeze
- Località: Prato
- Contatta:
Re: ld-linux vs readelf
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
M
Re: ld-linux vs readelf
Su mplayer,
readelf:
ldd:
Fino a libc.so sono entrambi "sincronizzati", dopo ldd trova altre librerie necessarie mentre readelf non le mostra affatto 
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 ~ #
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 ~ #
