Skip to content

Instantly share code, notes, and snippets.

@petrhosek
Last active June 2, 2016 01:02
Show Gist options
  • Save petrhosek/45c63e721932263136b6b2b1f295b795 to your computer and use it in GitHub Desktop.
Save petrhosek/45c63e721932263136b6b2b1f295b795 to your computer and use it in GitHub Desktop.
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: EXEC (Executable file)
Machine: Advanced Micro Devices X86-64
Version: 0x1
Entry point address: 0x0
Start of program headers: 64 (bytes into file)
Start of section headers: 2097208 (bytes into file)
Flags: 0x0
Size of this header: 64 (bytes)
Size of program headers: 56 (bytes)
Number of program headers: 1
Size of section headers: 64 (bytes)
Number of section headers: 7
Section header string table index: 4
Section Headers:
[Nr] Name Type Address Off Size ES Flg Lk Inf Al
[ 0] NULL 0000000000000000 000000 000000 00 0 0 0
[ 1] .text PROGBITS 0000000000000000 200000 000001 00 AX 0 0 1
[ 2] .rodata PROGBITS 0000000000000001 200001 000004 00 A 0 0 1
[ 3] .data PROGBITS 0000000000000005 200005 000004 00 WA 0 0 1
[ 4] .shstrtab STRTAB 0000000000000000 200009 00002f 00 0 0 1
[ 5] .symtab SYMTAB 0000000000000000 2001f8 000060 18 6 4 8
[ 6] .strtab STRTAB 0000000000000000 200258 000001 00 0 0 1
Key to Flags:
W (write), A (alloc), X (execute), M (merge), S (strings), l (large)
I (info), L (link order), G (group), T (TLS), E (exclude), x (unknown)
O (extra OS processing required) o (OS specific), p (processor specific)
Program Headers:
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
LOAD 0x200000 0x0000000000000000 0x0000000001000000 0x000009 0x000009 RWE 0x200000
Section to Segment mapping:
Segment Sections...
00 .text .rodata .data
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: EXEC (Executable file)
Machine: Advanced Micro Devices X86-64
Version: 0x1
Entry point address: 0x0
Start of program headers: 64 (bytes into file)
Start of section headers: 8328 (bytes into file)
Flags: 0x0
Size of this header: 64 (bytes)
Size of program headers: 56 (bytes)
Number of program headers: 3
Size of section headers: 64 (bytes)
Number of section headers: 9
Section header string table index: 8
Section Headers:
[Nr] Name Type Address Off Size ES Flg Lk Inf Al
[ 0] NULL 0000000000000000 000000 000000 00 0 0 0
[ 1] .rodata PROGBITS 0000000000000001 001001 000004 00 A 0 0 1
[ 2] .data PROGBITS 0000000000000005 001005 000004 00 WA 0 0 1
[ 3] .bss NOBITS 0000000000000028 001028 000000 00 WA 0 0 1
[ 4] .text PROGBITS 0000000000000000 002000 000001 00 AX 0 0 1
[ 5] .note.gnu.gold-version NOTE 0000000000000000 002004 00001c 00 0 0 4
[ 6] .symtab SYMTAB 0000000000000000 002020 000018 18 7 1 8
[ 7] .strtab STRTAB 0000000000000000 002038 000001 00 0 0 1
[ 8] .shstrtab STRTAB 0000000000000000 002039 00004b 00 0 0 1
Key to Flags:
W (write), A (alloc), X (execute), M (merge), S (strings), l (large)
I (info), L (link order), G (group), T (TLS), E (exclude), x (unknown)
O (extra OS processing required) o (OS specific), p (processor specific)
Program Headers:
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
LOAD 0x001001 0x0000000000000001 0x0000000000000001 0x000004 0x000004 R 0x1000
LOAD 0x001005 0x0000000000000005 0x0000000000000005 0x000023 0x000023 RW 0x1000
LOAD 0x002000 0x0000000000000000 0x0000000001000000 0x000001 0x000001 R E 0x1000
Section to Segment mapping:
Segment Sections...
00 .rodata
01 .data
02 .text
SECTIONS
{
.text : AT(0x1000000) { *(.text) }
.rodata : { *(.rodata) }
.data : { *(.data) }
.bss : { *(.bss) }
}
.section .text
nop
.section .rodata
.long 123
.section .data
.long 456
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment