Understanding the output of ldd

Posted by nebukadnezzar on Stack Overflow See other posts from Stack Overflow or by nebukadnezzar
Published on 2010-06-08T08:38:32Z Indexed on 2010/06/08 8:42 UTC
Read the original article Hit count: 392

Filed under:
|

I'm having a hard time understanding the output of ldd - Especially the processor identifiers. The string in question is this one:

Shortest.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, from ']', not stripped

I have several questions about it:

  • What does "ELF" mean? I know that's what Linux binaries are called like (Windows Binaries are called PE Binaries, "Portable Executable" Binaries), but isn't ELF an abbreviation for something?
  • What does LSB mean? I can't even guess it...
  • I see the string "Intel" there, now I seriously wonder about the portability of Linux binaries, as ldd seems to expect every binary to be compiled on a intel processor... but what if it wasn't compiled on a Intel processor? Or when I attempt to run the binary on a computer that doesn't run ontop of a Intel processor?
  • Why the ']'? My guess is it should be some sort of Linker identify, but ']' doesn't look much like a Identifier...

Thanks in advance

© Stack Overflow or respective owner

Related posts about linux

Related posts about ldd