2.1.1.3.1.3.1. ELF Segments Example
> readelf --segments /bin/bash
Elf file type is EXEC (Executable file)
Entry point 0x41d238
There are 10 program headers, starting at offset 64
Program Headers:
Type Offset VirtAddr PhysAddr
FileSiz MemSiz Flags Align
PHDR 0x0000000000000040 0x0000000000400040 0x0000000000400040
0x0000000000000230 0x0000000000000230 R E 8
INTERP 0x0000000000000270 0x0000000000400270 0x0000000000400270
0x000000000000001c 0x000000000000001c R 1
[Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]
LOAD 0x0000000000000000 0x0000000000400000 0x0000000000400000
0x00000000000d9cd4 0x00000000000d9cd4 R E 200000
DYNAMIC 0x00000000000d9df0 0x00000000006d9df0 0x00000000006d9df0
0x00000000000001f0 0x00000000000001f0 RW 8
STACK 0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000 0x0000000000000000 RW 8
...
Section to Segment mapping:
Segment Sections...
00
01 .interp
02 .interp .note .dynsym .rela .init .fini .plt .text ...
...