Risposte:
@PSkocik ha risposto a questa domanda. Voglio solo aggiungere più dettagli. Esistono due tipi di sezioni di simboli in ELF: .symtab
e .dynsym
(per i dettagli, consultare la specifica del core di base standard Linux, nota anche come LSB_5.0.0 ). .symtab
è per il passaggio di collegamento della stessa libreria condivisa. Una volta terminato il collegamento, la .symtab
sezione non è più necessaria. La .dynsym
sezione contiene simboli importanti che dovrebbero essere cercati dal linker dinamico in fase di esecuzione. nm
di default scarica solo i simboli nella .symtab
sezione.
LSB_5.0.0 Sezione 10.2.2.1, "Tipi di sezione ELF", afferma che una lib condivisa conforme dovrebbe avere uno .symtab
o .dynsym
entrambi. Come parte della libreria ABI, libc viene rimosso .symtab
dall'essere conforme alle specifiche.
Scopri se si tratta di un oggetto condiviso o di un normale file ASCII. Se si tratta di un oggetto condiviso, dovresti vedere "Oggetto condiviso LSB a 32 bit ELF"
file /lib/i386-linux-gnu/libc.so.6
libc.so.6
è un oggetto condiviso in precedenza.