¿Cuál es la diferencia entre ldd y objdump?

Estoy ejecutando estos dos comandos, y estoy obteniendo una salida diferente:

$ ldd `which ls`
    linux-gate.so.1 =>  (0x00db3000)
    libselinux.so.1 => /lib/i386-linux-gnu/libselinux.so.1 (0x00ba2000)
    librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0x007bf000)
    libacl.so.1 => /lib/i386-linux-gnu/libacl.so.1 (0x004ce000)
    libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0x00110000)
    libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0x00398000)
    /lib/ld-linux.so.2 (0x00dea000)
    libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0x00a83000)
    libattr.so.1 => /lib/i386-linux-gnu/libattr.so.1 (0x00d3d000)

y entonces

objdump -x `which ls` | grep NEEDED
  NEEDED               libselinux.so.1
  NEEDED               librt.so.1
  NEEDED               libacl.so.1
  NEEDED               libc.so.6

¿Que pasa con eso? Pensé que ambos le dieron dependencias a la biblioteca? La razón por la que me importa es que sospecholdd es la correcta, pero estoy trabajando en Linux en ARM, donde no hay un ldd por lo que puedo decir ...

Respuestas a la pregunta(2)

Su respuesta a la pregunta