With two files, one compiled and linked with gcc and the other manually with nasm and 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
- Type:
DYN (Shared object file) - Type:
EXEC (Executable file)
I can see these documented on Wikipedia as ET_DYN and ET_EXEC. What are the practical differences between these two?