Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- eevee@rix ~/code/c/elf-butcher/build make elfbutchertest && ./elfbutchertest
- [ 71%] Built target elfbutcher
- [100%] Built target elfbutchertest
- ->1 <main@test/test.c>
- ->2 <shelf_open@src/shelf.c>
- [D]<src/shelf.c@shelf_open:119>: 392
- <-1 <shelf_open@src/shelf.c> (Elf_Desc: 0x16c82a0)
- Elf Header:
- Magic: 7f 45 4c 46
- ->2 <get_elf_class_str@src/shelf.c>
- <-1 <get_elf_class_str@src/shelf.c> ("ELF64")
- Class: ELF64
- ->2 <get_data_encoding_str@src/shelf.c>
- <-1 <get_data_encoding_str@src/shelf.c> ("2's compliment, little-endian")
- Data: 2's compliment, little-endian
- ->2 <get_elf_version_str@src/shelf.c>
- <-1 <get_elf_version_str@src/shelf.c> ("current (1")
- Version: current (1
- ->2 <get_osabi_str@src/shelf.c>
- <-1 <get_osabi_str@src/shelf.c> ("UNIX System V ABI")
- OS/ABI: UNIX System V ABI
- OS/ABI Version: 0
- ->2 <get_file_type_str@src/shelf.c>
- <-1 <get_file_type_str@src/shelf.c> ("DYN (Shared object file")
- Type: DYN (Shared object file
- ->2 <get_machine_str@src/shelf.c>
- <-1 <get_machine_str@src/shelf.c> ("AMD x86-64 architecture")
- Machine: AMD x86-64 architecture
- ->2 <get_elf_version_str@src/shelf.c>
- <-1 <get_elf_version_str@src/shelf.c> ("current (1")
- Version: current (1
- Entry: 0x1ad0
- Program Header Offset: 0x40 (64)
- Section Header Offset: 0x10740 (67392)
- Flags: 0x0 (0)
- Header Size: 0x40 (64)
- Size of program headers: 0x38 (56)
- Number of program headers: 7
- Size of section headers: 0x40 (64)
- Number of section headers: 29
- Section header string table index: 26
- Program Headers:
- Type Offset VirtAddr PhysAddr
- FileSize MemSize Flags Align
- --------------------------------------------------------------------
- ->2 <get_phdr_flags_str@src/shelf.c>
- <-1 <get_phdr_flags_str@src/shelf.c> ("R-X")
- ->2 <get_phdr_type_str@src/shelf.c>
- <-1 <get_phdr_type_str@src/shelf.c> ("LOAD")
- LOAD 0x0000000000000000 0x0000000000000000 0x0000000000000000
- 0x000000000000d424 0x000000000000d424 R-X 0x200000
- ->2 <get_phdr_flags_str@src/shelf.c>
- <-1 <get_phdr_flags_str@src/shelf.c> ("RW-")
- ->2 <get_phdr_type_str@src/shelf.c>
- <-1 <get_phdr_type_str@src/shelf.c> ("LOAD")
- LOAD 0x000000000000dda0 0x000000000020dda0 0x000000000020dda0
- 0x0000000000000378 0x0000000000001148 RW- 0x200000
- ->2 <get_phdr_flags_str@src/shelf.c>
- <-1 <get_phdr_flags_str@src/shelf.c> ("RW-")
- ->2 <get_phdr_type_str@src/shelf.c>
- <-1 <get_phdr_type_str@src/shelf.c> ("DYNAMIC")
- DYNAMIC 0x000000000000ddb8 0x000000000020ddb8 0x000000000020ddb8
- 0x00000000000001d0 0x00000000000001d0 RW- 0x8
- ->2 <get_phdr_flags_str@src/shelf.c>
- <-1 <get_phdr_flags_str@src/shelf.c> ("R--")
- ->2 <get_phdr_type_str@src/shelf.c>
- <-1 <get_phdr_type_str@src/shelf.c> ("NOTE")
- NOTE 0x00000000000001c8 0x00000000000001c8 0x00000000000001c8
- 0x0000000000000024 0x0000000000000024 R-- 0x4
- ->2 <get_phdr_flags_str@src/shelf.c>
- <-1 <get_phdr_flags_str@src/shelf.c> ("R--")
- ->2 <get_phdr_type_str@src/shelf.c>
- <-1 <get_phdr_type_str@src/shelf.c> ("EH_FRAME")
- EH_FRAME 0x000000000000bf48 0x000000000000bf48 0x000000000000bf48
- 0x0000000000000204 0x0000000000000204 R-- 0x4
- ->2 <get_phdr_flags_str@src/shelf.c>
- <-1 <get_phdr_flags_str@src/shelf.c> ("RW-")
- ->2 <get_phdr_type_str@src/shelf.c>
- <-1 <get_phdr_type_str@src/shelf.c> ("STACK")
- STACK 0x0000000000000000 0x0000000000000000 0x0000000000000000
- 0x0000000000000000 0x0000000000000000 RW- 0x10
- ->2 <get_phdr_flags_str@src/shelf.c>
- <-1 <get_phdr_flags_str@src/shelf.c> ("R--")
- ->2 <get_phdr_type_str@src/shelf.c>
- <-1 <get_phdr_type_str@src/shelf.c> ("RELRO")
- RELRO 0x000000000000dda0 0x000000000020dda0 0x000000000020dda0
- 0x0000000000000260 0x0000000000000260 R-- 0x1
- Section Headers:
- [Nr] Name Type Address Offset
- Size EntSize Flags Link Info Align
- --------------------------------------------------------------------------
- ->2 <get_shdr_flags_str@src/shelf.c>
- <-1 <get_shdr_flags_str@src/shelf.c> ("")
- ->2 <get_shdr_type_str@src/shelf.c>
- <-1 <get_shdr_type_str@src/shelf.c> ("NULL")
- [0 ] NULL 0x0000000000000000 0x00000000
- 0x0000000000000000 0x0000000000000000
- ->2 <get_shdr_flags_str@src/shelf.c>
- <-1 <get_shdr_flags_str@src/shelf.c> ("A")
- ->2 <get_shdr_type_str@src/shelf.c>
- <-1 <get_shdr_type_str@src/shelf.c> ("NOTE")
- [1 ] .note.gnu.build-id NOTE 0x00000000000001c8 0x000001c8
- 0x0000000000000024 0x0000000000000000 A
- ->2 <get_shdr_flags_str@src/shelf.c>
- <-1 <get_shdr_flags_str@src/shelf.c> ("A")
- ->2 <get_shdr_type_str@src/shelf.c>
- <-1 <get_shdr_type_str@src/shelf.c> ("GNU_HASH")
- [2 ] .gnu.hash GNU_HASH 0x00000000000001f0 0x000001f0
- 0x0000000000000274 0x0000000000000000 A
- ->2 <get_shdr_flags_str@src/shelf.c>
- <-1 <get_shdr_flags_str@src/shelf.c> ("A")
- ->2 <get_shdr_type_str@src/shelf.c>
- <-1 <get_shdr_type_str@src/shelf.c> ("DYNSYM")
- [3 ] .dynsym DYNSYM 0x0000000000000468 0x00000468
- 0x0000000000000930 0x0000000000000018 A
- ->2 <get_shdr_flags_str@src/shelf.c>
- <-1 <get_shdr_flags_str@src/shelf.c> ("A")
- ->2 <get_shdr_type_str@src/shelf.c>
- <-1 <get_shdr_type_str@src/shelf.c> ("STRTAB")
- [4 ] .dynstr STRTAB 0x0000000000000d98 0x00000d98
- 0x0000000000000566 0x0000000000000000 A
- ->2 <get_shdr_flags_str@src/shelf.c>
- <-1 <get_shdr_flags_str@src/shelf.c> ("A")
- ->2 <get_shdr_type_str@src/shelf.c>
- <-1 <get_shdr_type_str@src/shelf.c> ("GNU_versym")
- [5 ] .gnu.version GNU_versym 0x00000000000012fe 0x000012fe
- 0x00000000000000c4 0x0000000000000002 A
- ->2 <get_shdr_flags_str@src/shelf.c>
- <-1 <get_shdr_flags_str@src/shelf.c> ("A")
- ->2 <get_shdr_type_str@src/shelf.c>
- <-1 <get_shdr_type_str@src/shelf.c> ("GNU_verneed")
- [6 ] .gnu.version_r GNU_verneed 0x00000000000013c8 0x000013c8
- 0x0000000000000040 0x0000000000000000 A
- ->2 <get_shdr_flags_str@src/shelf.c>
- <-1 <get_shdr_flags_str@src/shelf.c> ("A")
- ->2 <get_shdr_type_str@src/shelf.c>
- <-1 <get_shdr_type_str@src/shelf.c> ("RELA")
- [7 ] .rela.dyn RELA 0x0000000000001408 0x00001408
- 0x00000000000001b0 0x0000000000000018 A
- ->2 <get_shdr_flags_str@src/shelf.c>
- <-1 <get_shdr_flags_str@src/shelf.c> ("AI")
- ->2 <get_shdr_type_str@src/shelf.c>
- <-1 <get_shdr_type_str@src/shelf.c> ("RELA")
- [8 ] .rela.plt RELA 0x00000000000015b8 0x000015b8
- 0x00000000000002e8 0x0000000000000018 AI
- ->2 <get_shdr_flags_str@src/shelf.c>
- <-1 <get_shdr_flags_str@src/shelf.c> ("AX")
- ->2 <get_shdr_type_str@src/shelf.c>
- <-1 <get_shdr_type_str@src/shelf.c> ("PROGBITS")
- [9 ] .init PROGBITS 0x00000000000018a0 0x000018a0
- 0x0000000000000017 0x0000000000000000 AX
- ->2 <get_shdr_flags_str@src/shelf.c>
- <-1 <get_shdr_flags_str@src/shelf.c> ("AX")
- ->2 <get_shdr_type_str@src/shelf.c>
- <-1 <get_shdr_type_str@src/shelf.c> ("PROGBITS")
- [10] .plt PROGBITS 0x00000000000018c0 0x000018c0
- 0x0000000000000200 0x0000000000000010 AX
- ->2 <get_shdr_flags_str@src/shelf.c>
- <-1 <get_shdr_flags_str@src/shelf.c> ("AX")
- ->2 <get_shdr_type_str@src/shelf.c>
- <-1 <get_shdr_type_str@src/shelf.c> ("PROGBITS")
- [11] .plt.got PROGBITS 0x0000000000001ac0 0x00001ac0
- 0x0000000000000008 0x0000000000000000 AX
- ->2 <get_shdr_flags_str@src/shelf.c>
- <-1 <get_shdr_flags_str@src/shelf.c> ("AX")
- ->2 <get_shdr_type_str@src/shelf.c>
- <-1 <get_shdr_type_str@src/shelf.c> ("PROGBITS")
- [12] .text PROGBITS 0x0000000000001ad0 0x00001ad0
- 0x0000000000008fca 0x0000000000000000 AX
- ->2 <get_shdr_flags_str@src/shelf.c>
- <-1 <get_shdr_flags_str@src/shelf.c> ("AX")
- ->2 <get_shdr_type_str@src/shelf.c>
- <-1 <get_shdr_type_str@src/shelf.c> ("PROGBITS")
- [13] .fini PROGBITS 0x000000000000aa9c 0x0000aa9c
- 0x0000000000000009 0x0000000000000000 AX
- ->2 <get_shdr_flags_str@src/shelf.c>
- <-1 <get_shdr_flags_str@src/shelf.c> ("A")
- ->2 <get_shdr_type_str@src/shelf.c>
- <-1 <get_shdr_type_str@src/shelf.c> ("PROGBITS")
- [14] .rodata PROGBITS 0x000000000000aab0 0x0000aab0
- 0x0000000000001498 0x0000000000000000 A
- ->2 <get_shdr_flags_str@src/shelf.c>
- <-1 <get_shdr_flags_str@src/shelf.c> ("A")
- ->2 <get_shdr_type_str@src/shelf.c>
- <-1 <get_shdr_type_str@src/shelf.c> ("PROGBITS")
- [15] .eh_frame_hdr PROGBITS 0x000000000000bf48 0x0000bf48
- 0x0000000000000204 0x0000000000000000 A
- ->2 <get_shdr_flags_str@src/shelf.c>
- <-1 <get_shdr_flags_str@src/shelf.c> ("A")
- ->2 <get_shdr_type_str@src/shelf.c>
- <-1 <get_shdr_type_str@src/shelf.c> ("PROGBITS")
- [16] .eh_frame PROGBITS 0x000000000000c150 0x0000c150
- 0x00000000000012d4 0x0000000000000000 A
- ->2 <get_shdr_flags_str@src/shelf.c>
- <-1 <get_shdr_flags_str@src/shelf.c> ("WA")
- ->2 <get_shdr_type_str@src/shelf.c>
- <-1 <get_shdr_type_str@src/shelf.c> ("INIT_ARRAY")
- [17] .init_array INIT_ARRAY 0x000000000020dda0 0x0000dda0
- 0x0000000000000008 0x0000000000000000 WA
- ->2 <get_shdr_flags_str@src/shelf.c>
- <-1 <get_shdr_flags_str@src/shelf.c> ("WA")
- ->2 <get_shdr_type_str@src/shelf.c>
- <-1 <get_shdr_type_str@src/shelf.c> ("FINI_ARRAY")
- [18] .fini_array FINI_ARRAY 0x000000000020dda8 0x0000dda8
- 0x0000000000000008 0x0000000000000000 WA
- ->2 <get_shdr_flags_str@src/shelf.c>
- <-1 <get_shdr_flags_str@src/shelf.c> ("WA")
- ->2 <get_shdr_type_str@src/shelf.c>
- <-1 <get_shdr_type_str@src/shelf.c> ("PROGBITS")
- [19] .jcr PROGBITS 0x000000000020ddb0 0x0000ddb0
- 0x0000000000000008 0x0000000000000000 WA
- ->2 <get_shdr_flags_str@src/shelf.c>
- <-1 <get_shdr_flags_str@src/shelf.c> ("WA")
- ->2 <get_shdr_type_str@src/shelf.c>
- <-1 <get_shdr_type_str@src/shelf.c> ("DYNAMIC")
- [20] .dynamic DYNAMIC 0x000000000020ddb8 0x0000ddb8
- 0x00000000000001d0 0x0000000000000010 WA
- ->2 <get_shdr_flags_str@src/shelf.c>
- <-1 <get_shdr_flags_str@src/shelf.c> ("WA")
- ->2 <get_shdr_type_str@src/shelf.c>
- <-1 <get_shdr_type_str@src/shelf.c> ("PROGBITS")
- [21] .got PROGBITS 0x000000000020df88 0x0000df88
- 0x0000000000000078 0x0000000000000008 WA
- ->2 <get_shdr_flags_str@src/shelf.c>
- <-1 <get_shdr_flags_str@src/shelf.c> ("WA")
- ->2 <get_shdr_type_str@src/shelf.c>
- <-1 <get_shdr_type_str@src/shelf.c> ("PROGBITS")
- [22] .got.plt PROGBITS 0x000000000020e000 0x0000e000
- 0x0000000000000110 0x0000000000000008 WA
- ->2 <get_shdr_flags_str@src/shelf.c>
- <-1 <get_shdr_flags_str@src/shelf.c> ("WA")
- ->2 <get_shdr_type_str@src/shelf.c>
- <-1 <get_shdr_type_str@src/shelf.c> ("PROGBITS")
- [23] .data PROGBITS 0x000000000020e110 0x0000e110
- 0x0000000000000008 0x0000000000000000 WA
- ->2 <get_shdr_flags_str@src/shelf.c>
- <-1 <get_shdr_flags_str@src/shelf.c> ("WA")
- ->2 <get_shdr_type_str@src/shelf.c>
- <-1 <get_shdr_type_str@src/shelf.c> ("NOBITS")
- [24] .bss NOBITS 0x000000000020e120 0x0000e118
- 0x0000000000000dc8 0x0000000000000000 WA
- ->2 <get_shdr_flags_str@src/shelf.c>
- <-1 <get_shdr_flags_str@src/shelf.c> ("MS")
- ->2 <get_shdr_type_str@src/shelf.c>
- <-1 <get_shdr_type_str@src/shelf.c> ("PROGBITS")
- [25] .comment PROGBITS 0x0000000000000000 0x0000e118
- 0x0000000000000034 0x0000000000000001 MS
- ->2 <get_shdr_flags_str@src/shelf.c>
- <-1 <get_shdr_flags_str@src/shelf.c> ("")
- ->2 <get_shdr_type_str@src/shelf.c>
- <-1 <get_shdr_type_str@src/shelf.c> ("STRTAB")
- [26] .shstrtab STRTAB 0x0000000000000000 0x00010649
- 0x00000000000000f6 0x0000000000000000
- ->2 <get_shdr_flags_str@src/shelf.c>
- <-1 <get_shdr_flags_str@src/shelf.c> ("")
- ->2 <get_shdr_type_str@src/shelf.c>
- <-1 <get_shdr_type_str@src/shelf.c> ("SYMTAB")
- [27] .symtab SYMTAB 0x0000000000000000 0x0000e150
- 0x0000000000001668 0x0000000000000018
- ->2 <get_shdr_flags_str@src/shelf.c>
- <-1 <get_shdr_flags_str@src/shelf.c> ("")
- ->2 <get_shdr_type_str@src/shelf.c>
- <-1 <get_shdr_type_str@src/shelf.c> ("STRTAB")
- [28] .strtab STRTAB 0x0000000000000000 0x0000f7b8
- 0x0000000000000e91 0x0000000000000000
- ->2 <elf_get_shstrndx@src/shelf.c>
- <-1 <elf_get_shstrndx@src/shelf.c> (26)
- shstrndx: 26
- ->2 <shelf_close@src/shelf.c>
- <-1 <shelf_close@src/shelf.c>
- [D]<test/test.c@main:39>: This is a debug statement! 42
- <-0 <main@test/test.c> (0)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement