Quote:
Originally Posted by brianinmaine
and ldd?
|
It is (usually) a script.
It will list the library(ies) that would be selected for loading after considering all of the dynamic loader's configuration and environmentally settings as-of the moment it is run.
When looking for ABI mis-matches (a common cause of seg-faults) the objdump, readelf and nm utilities are a better source of information.
Information such as:
Code:
core2quad hello $ readelf -a hello | less
ELF Header:
Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: EXEC (Executable file)
Machine: ARM
Version: 0x1
Entry point address: 0x838c
Start of program headers: 52 (bytes into file)
Start of section headers: 2112 (bytes into file)
Flags: 0x5000002, has entry point, Version5 EABI
Size of this header: 52 (bytes)
Size of program headers: 32 (bytes)
Number of program headers: 8
Size of section headers: 40 (bytes)
Number of section headers: 31
Section header string table index: 28
- - - - -
Dynamic section at offset 0x56c contains 25 entries:
Tag Type Name/Value
0x00000001 (NEEDED) Shared library: [libgcc_s.so.1]
0x00000001 (NEEDED) Shared library: [libc.so.6]
- - - - -