With two files, one compiled and linked with
gcc and the other manually with
ld I get
- ELF 32-bit LSB shared object ...
- ELF 32-bit LSB executable ...
What's the difference between these two things? I can see with
readelf -h that one is
DYN (Shared object file)
EXEC (Executable file)
I can see these documented on Wikipedia as
ET_EXEC. What are the practical differences between these two?