I have an application on my Ubuntu system, built with CMake
, using add_executable
predicate. It runs fine by itself, however, readelf
shows it as DYN (Shared object file)
which is usually applied to shared libraries:
root@3cced4f9860d build# readelf -h ./unittest/unittests
ELF Header:
Magic: 7f 45 4c 46 02 01 01 03 00 00 00 00 00 00 00 00
Class: ELF64
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - GNU
ABI Version: 0
Type: DYN (Shared object file)
Machine: Advanced Micro Devices X86-64
Version: 0x1
Entry point address: 0x3e3660
Start of program headers: 64 (bytes into file)
Start of section headers: 19112592 (bytes into file)
Flags: 0x0
Size of this header: 64 (bytes)
Size of program headers: 56 (bytes)
Number of program headers: 9
Size of section headers: 64 (bytes)
Number of section headers: 31
Section header string table index: 28
Does anyone know why this may happen?