Repository 32bit  Forum
Repository 64bit  Wiki

ld-linux vs readelf

Forum dedicato alla programmazione.

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.

ld-linux vs readelf

Messaggioda Dani » mar apr 15, 2008 15: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 0:52
Desktop: gnome
Distribuzione: arch

Re: ld-linux vs readelf

Messaggioda absinthe » mer apr 16, 2008 12: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: sab mag 14, 2005 23: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 13: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 0:52
Desktop: gnome
Distribuzione: arch


Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 4 ospiti