Wednesday, October 04, 2017

Re: Why the executable file type is also "DYN", not "EXEC"?

On 2017-10-04, Nan Xiao <xiaonan830818@gmail.com> wrote:
> Hi all,
>
> I find the type of executable file format on OpenBSD is "DYN", not
> "EXEC":
>
> # readelf -h /usr/bin/ldd
> ELF Header:
> Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
> Class: ELF64
> Data: 2's complement, little endian
> Version: 1 (current)
> OS/ABI: UNIX - System V
> ABI Version: 0
> Type: DYN (Shared object file)
> ......
>
> Is there any special consideration for it? Thanks very much in advance!

It's because the file was built as a position-independent executable (PIE).
This is the default on OpenBSD, only a few programs are built without PIE.

No comments:

Post a Comment