--- conftest-mwe.clang.readelf 2018-12-29 21:27:05.442370778 +0100 +++ conftest-mwe.clang.readelf 2018-12-29 21:21:37.925608056 +0100 @@ -10,92 +10,68 @@ Version: 0x1 Entry point address: 0x201000 Start of program headers: 64 (bytes into file) - Start of section headers: 15128 (bytes into file) + Start of section headers: 15136 (bytes into file) Flags: 0x0 Size of this header: 64 (bytes) Size of program headers: 56 (bytes) - Number of program headers: 10 + Number of program headers: 7 Size of section headers: 64 (bytes) - Number of section headers: 37 - Section header string table index: 35 + Number of section headers: 25 + Section header string table index: 23 Section Headers: [Nr] Name Type Address Offset Size EntSize Flags Link Info Align [ 0] NULL 0000000000000000 00000000 0000000000000000 0000000000000000 0 0 0 - [ 1] .interp PROGBITS 0000000000200270 00000270 - 000000000000001c 0000000000000000 A 0 0 1 - [ 2] .dynsym DYNSYM 0000000000200290 00000290 - 00000000000000a8 0000000000000018 A 6 1 8 - [ 3] .gnu.version VERSYM 0000000000200338 00000338 - 000000000000000e 0000000000000002 A 2 0 2 - [ 4] .gnu.version_r VERNEED 0000000000200348 00000348 - 0000000000000030 0000000000000000 A 6 1 4 - [ 5] .gnu.hash GNU_HASH 0000000000200378 00000378 - 000000000000001c 0000000000000000 A 2 0 8 - [ 6] .dynstr STRTAB 0000000000200394 00000394 - 00000000000000c8 0000000000000000 A 0 0 1 - [ 7] .rela.dyn RELA 0000000000200460 00000460 - 0000000000000030 0000000000000018 A 2 0 8 - [ 8] .rela.plt RELA 0000000000200490 00000490 - 0000000000000030 0000000000000018 A 2 0 8 - [ 9] .note.ABI-tag NOTE 00000000002004c0 000004c0 - 0000000000000020 0000000000000000 A 0 0 4 - [10] .rodata PROGBITS 00000000002004e0 000004e0 - 000000000000000a 0000000000000000 AMS 0 0 4 - [11] .eh_frame_hdr PROGBITS 00000000002004ec 000004ec - 000000000000002c 0000000000000000 A 0 0 4 - [12] .eh_frame PROGBITS 0000000000200518 00000518 - 00000000000000dc 0000000000000000 A 0 0 8 - [13] .text PROGBITS 0000000000201000 00001000 - 00000000000001de 0000000000000000 AX 0 0 16 - [14] .init PROGBITS 00000000002011e0 000011e0 - 0000000000000017 0000000000000000 AX 0 0 4 - [15] .fini PROGBITS 00000000002011f8 000011f8 - 0000000000000009 0000000000000000 AX 0 0 4 - [16] .plt PROGBITS 0000000000201210 00001210 - 0000000000000030 0000000000000000 AX 0 0 16 - [17] .data PROGBITS 0000000000202000 00002000 - 0000000000000010 0000000000000000 WA 0 0 8 - [18] .tm_clone_table PROGBITS 0000000000202010 00002010 - 0000000000000000 0000000000000000 WA 0 0 8 - [19] .got.plt PROGBITS 0000000000202010 00002010 - 0000000000000028 0000000000000000 WA 0 0 8 - [20] .fini_array FINI_ARRAY 0000000000203000 00003000 - 0000000000000008 0000000000000008 WA 0 0 8 - [21] .init_array INIT_ARRAY 0000000000203008 00003008 - 0000000000000008 0000000000000008 WA 0 0 8 - [22] .dynamic DYNAMIC 0000000000203010 00003010 - 00000000000001b0 0000000000000010 WA 6 0 8 - [23] .got PROGBITS 00000000002031c0 000031c0 - 0000000000000010 0000000000000000 WA 0 0 8 - [24] .bss NOBITS 0000000000204000 000031d0 - 0000000000000001 0000000000000000 WA 0 0 1 - [25] .comment PROGBITS 0000000000000000 000031d0 - 0000000000000084 0000000000000001 MS 0 0 1 - [26] .gnu_debuglink PROGBITS 0000000000000000 00003254 - 000000000000003c 0000000000000000 0 0 4 - [27] .debug_str PROGBITS 0000000000000000 00003290 - 0000000000000069 0000000000000001 MS 0 0 1 - [28] .debug_abbrev PROGBITS 0000000000000000 000032f9 - 000000000000004f 0000000000000000 0 0 1 - [29] .debug_info PROGBITS 0000000000000000 00003348 - 0000000000000079 0000000000000000 0 0 1 - [30] .debug_macinfo PROGBITS 0000000000000000 000033c1 - 0000000000000001 0000000000000000 0 0 1 - [31] .debug_pubnames PROGBITS 0000000000000000 000033c2 - 000000000000001b 0000000000000000 0 0 1 - [32] .debug_pubtypes PROGBITS 0000000000000000 000033dd - 0000000000000023 0000000000000000 0 0 1 - [33] .debug_line PROGBITS 0000000000000000 00003400 - 000000000000004a 0000000000000000 0 0 1 - [34] .symtab SYMTAB 0000000000000000 00003450 - 0000000000000348 0000000000000018 36 22 8 - [35] .shstrtab STRTAB 0000000000000000 00003798 - 0000000000000174 0000000000000000 0 0 1 - [36] .strtab STRTAB 0000000000000000 0000390c - 000000000000020a 0000000000000000 0 0 1 + [ 1] .dynsym DYNSYM 00000000002001c8 000001c8 + 0000000000000030 0000000000000018 A 5 1 8 + [ 2] .gnu.version VERSYM 00000000002001f8 000001f8 + 0000000000000004 0000000000000002 A 1 0 2 + [ 3] .gnu.version_r VERNEED 00000000002001fc 000001fc + 0000000000000020 0000000000000000 A 5 1 4 + [ 4] .gnu.hash GNU_HASH 0000000000200220 00000220 + 000000000000001c 0000000000000000 A 1 0 8 + [ 5] .dynstr STRTAB 000000000020023c 0000023c + 0000000000000044 0000000000000000 A 0 0 1 + [ 6] .rela.plt RELA 0000000000200280 00000280 + 0000000000000018 0000000000000018 A 1 0 8 + [ 7] .rodata PROGBITS 0000000000200298 00000298 + 0000000000000005 0000000000000000 A 0 0 1 + [ 8] .eh_frame PROGBITS 00000000002002a0 000002a0 + 000000000000003c 0000000000000000 A 0 0 8 + [ 9] .text PROGBITS 0000000000201000 00001000 + 0000000000000022 0000000000000000 AX 0 0 1 + [10] .plt PROGBITS 0000000000201030 00001030 + 0000000000000020 0000000000000000 AX 0 0 16 + [11] .data PROGBITS 0000000000202000 00002000 + 0000000000000000 0000000000000000 WA 0 0 1 + [12] .got.plt PROGBITS 0000000000202000 00002000 + 0000000000000020 0000000000000000 WA 0 0 8 + [13] .dynamic DYNAMIC 0000000000203000 00003000 + 0000000000000110 0000000000000010 WA 5 0 8 + [14] .bss NOBITS 0000000000204000 00003110 + 0000000000000000 0000000000000000 WA 0 0 1 + [15] .debug_info PROGBITS 0000000000000000 00003110 + 0000000000000326 0000000000000000 0 0 1 + [16] .debug_abbrev PROGBITS 0000000000000000 00003436 + 00000000000000e1 0000000000000000 0 0 1 + [17] .debug_aranges PROGBITS 0000000000000000 00003517 + 0000000000000030 0000000000000000 0 0 1 + [18] .debug_ranges PROGBITS 0000000000000000 00003547 + 0000000000000020 0000000000000000 0 0 1 + [19] .debug_line PROGBITS 0000000000000000 00003567 + 00000000000000ff 0000000000000000 0 0 1 + [20] .debug_str PROGBITS 0000000000000000 00003666 + 00000000000002cc 0000000000000001 MS 0 0 1 + [21] .comment PROGBITS 0000000000000000 00003932 + 0000000000000035 0000000000000001 MS 0 0 1 + [22] .symtab SYMTAB 0000000000000000 00003968 + 0000000000000090 0000000000000018 24 4 8 + [23] .shstrtab STRTAB 0000000000000000 000039f8 + 00000000000000ec 0000000000000000 0 0 1 + [24] .strtab STRTAB 0000000000000000 00003ae4 + 0000000000000039 0000000000000000 0 0 1 Key to Flags: W (write), A (alloc), X (execute), M (merge), S (strings), I (info), L (link order), O (extra OS processing required), G (group), T (TLS), @@ -108,142 +84,75 @@ Type Offset VirtAddr PhysAddr FileSiz MemSiz Flags Align PHDR 0x0000000000000040 0x0000000000200040 0x0000000000200040 - 0x0000000000000230 0x0000000000000230 R 0x8 - INTERP 0x0000000000000270 0x0000000000200270 0x0000000000200270 - 0x000000000000001c 0x000000000000001c R 0x1 - [Requesting program interpreter: /lib64/ld-linux-x86-64.so.2] + 0x0000000000000188 0x0000000000000188 R 0x8 LOAD 0x0000000000000000 0x0000000000200000 0x0000000000200000 - 0x00000000000005f4 0x00000000000005f4 R 0x1000 + 0x00000000000002dc 0x00000000000002dc R 0x1000 LOAD 0x0000000000001000 0x0000000000201000 0x0000000000201000 - 0x0000000000000240 0x0000000000000240 R E 0x1000 + 0x0000000000000050 0x0000000000000050 R E 0x1000 LOAD 0x0000000000002000 0x0000000000202000 0x0000000000202000 - 0x00000000000011d0 0x0000000000002001 RW 0x1000 - DYNAMIC 0x0000000000003010 0x0000000000203010 0x0000000000203010 - 0x00000000000001b0 0x00000000000001b0 RW 0x8 + 0x0000000000001110 0x0000000000002000 RW 0x1000 + DYNAMIC 0x0000000000003000 0x0000000000203000 0x0000000000203000 + 0x0000000000000110 0x0000000000000110 RW 0x8 GNU_RELRO 0x0000000000003000 0x0000000000203000 0x0000000000203000 - 0x00000000000001d0 0x0000000000001000 R 0x1 - GNU_EH_FRAME 0x00000000000004ec 0x00000000002004ec 0x00000000002004ec - 0x000000000000002c 0x000000000000002c R 0x4 + 0x0000000000000110 0x0000000000001000 R 0x1 GNU_STACK 0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000 RW 0x0 - NOTE 0x00000000000004c0 0x00000000002004c0 0x00000000002004c0 - 0x0000000000000020 0x0000000000000020 R 0x4 Section to Segment mapping: Segment Sections... 00 - 01 .interp - 02 .interp .dynsym .gnu.version .gnu.version_r .gnu.hash .dynstr .rela.dyn .rela.plt .note.ABI-tag .rodata .eh_frame_hdr .eh_frame - 03 .text .init .fini .plt - 04 .data .tm_clone_table .got.plt .fini_array .init_array .dynamic .got .bss + 01 .dynsym .gnu.version .gnu.version_r .gnu.hash .dynstr .rela.plt .rodata .eh_frame + 02 .text .plt + 03 .data .got.plt .dynamic + 04 .dynamic 05 .dynamic - 06 .fini_array .init_array .dynamic .got - 07 .eh_frame_hdr - 08 - 09 .note.ABI-tag + 06 -Dynamic section at offset 0x3010 contains 27 entries: +Dynamic section at offset 0x3000 contains 17 entries: Tag Type Name/Value 0x000000000000001d (RUNPATH) Library runpath: [/usr/lib64/firefox] - 0x0000000000000001 (NEEDED) Shared library: [libpthread.so.0] 0x0000000000000001 (NEEDED) Shared library: [libc.so.6] 0x0000000000000001 (NEEDED) Shared library: [ld-linux-x86-64.so.2] 0x0000000000000015 (DEBUG) 0x0 - 0x0000000000000007 (RELA) 0x200460 - 0x0000000000000008 (RELASZ) 48 (bytes) - 0x0000000000000009 (RELAENT) 24 (bytes) - 0x0000000000000017 (JMPREL) 0x200490 - 0x0000000000000002 (PLTRELSZ) 48 (bytes) - 0x0000000000000003 (PLTGOT) 0x202010 + 0x0000000000000017 (JMPREL) 0x200280 + 0x0000000000000002 (PLTRELSZ) 24 (bytes) + 0x0000000000000003 (PLTGOT) 0x202000 0x0000000000000014 (PLTREL) RELA - 0x0000000000000006 (SYMTAB) 0x200290 + 0x0000000000000006 (SYMTAB) 0x2001c8 0x000000000000000b (SYMENT) 24 (bytes) - 0x0000000000000005 (STRTAB) 0x200394 - 0x000000000000000a (STRSZ) 200 (bytes) - 0x000000006ffffef5 (GNU_HASH) 0x200378 - 0x0000000000000019 (INIT_ARRAY) 0x203008 - 0x000000000000001b (INIT_ARRAYSZ) 8 (bytes) - 0x000000000000001a (FINI_ARRAY) 0x203000 - 0x000000000000001c (FINI_ARRAYSZ) 8 (bytes) - 0x000000000000000c (INIT) 0x2011e0 - 0x000000000000000d (FINI) 0x2011f8 - 0x000000006ffffff0 (VERSYM) 0x200338 - 0x000000006ffffffe (VERNEED) 0x200348 + 0x0000000000000005 (STRTAB) 0x20023c + 0x000000000000000a (STRSZ) 68 (bytes) + 0x000000006ffffef5 (GNU_HASH) 0x200220 + 0x000000006ffffff0 (VERSYM) 0x2001f8 + 0x000000006ffffffe (VERNEED) 0x2001fc 0x000000006fffffff (VERNEEDNUM) 1 0x0000000000000000 (NULL) 0x0 -Relocation section '.rela.dyn' at offset 0x460 contains 2 entries: +Relocation section '.rela.plt' at offset 0x280 contains 1 entry: Offset Info Type Sym. Value Sym. Name + Addend -0000002031c0 000100000006 R_X86_64_GLOB_DAT 0000000000000000 __libc_start_main@GLIBC_2.2.5 + 0 -0000002031c8 000200000006 R_X86_64_GLOB_DAT 0000000000000000 __gmon_start__ + 0 - -Relocation section '.rela.plt' at offset 0x490 contains 2 entries: - Offset Info Type Sym. Value Sym. Name + Addend -000000202028 000600000007 R_X86_64_JUMP_SLO 0000000000000000 printf@GLIBC_2.2.5 + 0 -000000202030 000500000007 R_X86_64_JUMP_SLO 0000000000000000 __stack_chk_fail@GLIBC_2.4 + 0 +000000202018 000100000007 R_X86_64_JUMP_SLO 0000000000000000 puts@GLIBC_2.2.5 + 0 The decoding of unwind sections for machine type Advanced Micro Devices X86-64 is not currently supported. -Symbol table '.dynsym' contains 7 entries: +Symbol table '.dynsym' contains 2 entries: Num: Value Size Type Bind Vis Ndx Name 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND - 1: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __libc_start_main@GLIBC_2.2.5 (2) - 2: 0000000000000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__ - 3: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_deregisterTMCloneTab - 4: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_registerTMCloneTable - 5: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __stack_chk_fail@GLIBC_2.4 (3) - 6: 0000000000000000 0 FUNC GLOBAL DEFAULT UND printf@GLIBC_2.2.5 (2) + 1: 0000000000000000 0 FUNC GLOBAL DEFAULT UND puts@GLIBC_2.2.5 (2) -Symbol table '.symtab' contains 35 entries: +Symbol table '.symtab' contains 6 entries: Num: Value Size Type Bind Vis Ndx Name 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND - 1: 0000000000000000 0 FILE LOCAL DEFAULT ABS crtstuff.c - 2: 0000000000202010 0 OBJECT LOCAL DEFAULT 18 __TMC_LIST__ - 3: 0000000000201030 0 FUNC LOCAL DEFAULT 13 deregister_tm_clones - 4: 0000000000201060 0 FUNC LOCAL DEFAULT 13 register_tm_clones - 5: 00000000002010a0 0 FUNC LOCAL DEFAULT 13 __do_global_dtors_aux - 6: 0000000000204000 1 OBJECT LOCAL DEFAULT 24 completed.8389 - 7: 0000000000203000 0 OBJECT LOCAL DEFAULT 20 __do_global_dtors_aux_fin - 8: 00000000002010d0 0 FUNC LOCAL DEFAULT 13 frame_dummy - 9: 0000000000203008 0 OBJECT LOCAL DEFAULT 21 __frame_dummy_init_array_ - 10: 0000000000202008 0 OBJECT LOCAL HIDDEN 17 __dso_handle - 11: 0000000000000000 0 FILE LOCAL DEFAULT ABS conftest-mwe.c - 12: 0000000000000000 0 FILE LOCAL DEFAULT ABS elf-init.c - 13: 0000000000000000 0 FILE LOCAL DEFAULT ABS crtstuff.c - 14: 0000000000200518 0 OBJECT LOCAL DEFAULT 12 __FRAME_END__ - 15: 0000000000202010 0 OBJECT LOCAL HIDDEN 18 __TMC_END__ - 16: 00000000002011e0 0 FUNC LOCAL HIDDEN 14 _init - 17: 00000000002011f8 0 FUNC LOCAL HIDDEN 15 _fini - 18: 0000000000203008 0 NOTYPE LOCAL HIDDEN 21 __init_array_start - 19: 0000000000203010 0 NOTYPE LOCAL HIDDEN 21 __init_array_end - 20: 0000000000202010 0 NOTYPE LOCAL HIDDEN 19 _GLOBAL_OFFSET_TABLE_ - 21: 0000000000203010 0 NOTYPE LOCAL HIDDEN 22 _DYNAMIC - 22: 00000000002011b0 46 FUNC GLOBAL DEFAULT 13 __libc_csu_fini - 23: 0000000000201000 43 FUNC GLOBAL DEFAULT 13 _start - 24: 0000000000201120 137 FUNC GLOBAL DEFAULT 13 __libc_csu_init - 25: 00000000002010e0 52 FUNC GLOBAL DEFAULT 13 main - 26: 0000000000202000 0 NOTYPE WEAK DEFAULT 17 data_start - 27: 00000000002004e0 4 OBJECT GLOBAL DEFAULT 10 _IO_stdin_used - 28: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __libc_start_main - 29: 0000000000202000 0 NOTYPE GLOBAL DEFAULT 17 __data_start - 30: 0000000000000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__ - 31: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_deregisterTMCloneTab - 32: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_registerTMCloneTable - 33: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __stack_chk_fail - 34: 0000000000000000 0 FUNC GLOBAL DEFAULT UND printf - -Version symbols section '.gnu.version' contains 7 entries: - Addr: 0000000000200338 Offset: 0x000338 Link: 2 (.dynsym) - 000: 0 (*local*) 2 (GLIBC_2.2.5) 1 (*global*) 1 (*global*) - 004: 1 (*global*) 3 (GLIBC_2.4) 2 (GLIBC_2.2.5) + 1: 0000000000000000 0 FILE LOCAL DEFAULT ABS conftest-mwe.c + 2: 0000000000202000 0 NOTYPE LOCAL HIDDEN 12 _GLOBAL_OFFSET_TABLE_ + 3: 0000000000203000 0 NOTYPE LOCAL HIDDEN 13 _DYNAMIC + 4: 0000000000201000 34 FUNC GLOBAL DEFAULT 9 main + 5: 0000000000000000 0 FUNC GLOBAL DEFAULT UND puts + +Version symbols section '.gnu.version' contains 2 entries: + Addr: 00000000002001f8 Offset: 0x0001f8 Link: 1 (.dynsym) + 000: 0 (*local*) 2 (GLIBC_2.2.5) Version needs section '.gnu.version_r' contains 1 entry: - Addr: 0x0000000000200348 Offset: 0x000348 Link: 6 (.dynstr) - 000000: Version: 1 File: libc.so.6 Cnt: 2 + Addr: 0x00000000002001fc Offset: 0x0001fc Link: 5 (.dynstr) + 000000: Version: 1 File: libc.so.6 Cnt: 1 0x0010: Name: GLIBC_2.2.5 Flags: none Version: 2 - 0x0020: Name: GLIBC_2.4 Flags: none Version: 3 - -Displaying notes found in: .note.ABI-tag - Owner Data size Description - GNU 0x00000010 NT_GNU_ABI_TAG (ABI version tag) - OS: Linux, ABI: 3.2.0