#source: tlsgdesc.s #as: --64 #ld: -shared -melf64_x86_64 #readelf: -WSsrl #target: x86_64-*-* There are [0-9]+ section headers, starting at offset 0x[0-9a-f]+: Section Headers: +\[Nr\] Name +Type +Address +Off +Size +ES Flg Lk Inf Al +\[[ 0-9]+\] +NULL +0+ 0+ 0+ 0+ +0 +0 +0 +\[[ 0-9]+\] \.hash +.* +\[[ 0-9]+\] \.dynsym +.* +\[[ 0-9]+\] \.dynstr +.* +\[[ 0-9]+\] \.rela.dyn +.* +\[[ 0-9]+\] \.rela.plt +.* +\[[ 0-9]+\] \.plt +.* +\[[ 0-9]+\] \.text +.* +\[[ 0-9]+\] \.dynamic +.* +\[[ 0-9]+\] \.got +.* +\[[ 0-9]+\] \.got.plt +.* +\[[ 0-9]+\] \.shstrtab +.* +\[[ 0-9]+\] \.symtab +.* +\[[ 0-9]+\] \.strtab +.* Key to Flags: .* .* .* Elf file type is DYN \(Shared object file\) Entry point 0x[0-9a-f]+ There are [0-9]+ program headers, starting at offset [0-9]+ Program Headers: +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align +LOAD.* +LOAD.* +DYNAMIC.* Section to Segment mapping: +Segment Sections... +00 +.hash .dynsym .dynstr .rela.dyn .rela.plt .plt .text * +01 +.dynamic .got .got.plt * +02 +.dynamic * Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 8 entries: +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend [0-9a-f]+ +0+200000012 R_X86_64_TPOFF64 +0+ sG3 \+ 0 [0-9a-f]+ +0+300000012 R_X86_64_TPOFF64 +0+ sG5 \+ 0 [0-9a-f]+ +0+400000010 R_X86_64_DTPMOD64 +0+ sG2 \+ 0 [0-9a-f]+ +0+400000011 R_X86_64_DTPOFF64 +0+ sG2 \+ 0 [0-9a-f]+ +0+500000012 R_X86_64_TPOFF64 +0+ sG4 \+ 0 [0-9a-f]+ +0+800000012 R_X86_64_TPOFF64 +0+ sG6 \+ 0 [0-9a-f]+ +0+a00000010 R_X86_64_DTPMOD64 +0+ sG1 \+ 0 [0-9a-f]+ +0+a00000011 R_X86_64_DTPOFF64 +0+ sG1 \+ 0 Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 3 entries: +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend [0-9a-f]+ +0+600000007 R_X86_64_JUMP_SLOT +0+ __tls_get_addr \+ 0 [0-9a-f]+ +0+a00000024 R_X86_64_TLSDESC +0+ sG1 \+ 0 [0-9a-f]+ +0+400000024 R_X86_64_TLSDESC +0+ sG2 \+ 0 Symbol table '\.dynsym' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name +[0-9]+: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND * +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +7 * +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG3 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG5 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4 +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS __bss_start +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6 +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +7 fc1 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1 +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _edata +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name +[0-9]+: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND * +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +1 * +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +2 * +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +3 * +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +4 * +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +5 * +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +6 * +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +7 * +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +8 * +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +9 * +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +10 * +[0-9]+: [0-9a-f]+ +0 +OBJECT +LOCAL +HIDDEN +ABS _DYNAMIC +[0-9]+: [0-9a-f]+ +0 +OBJECT +LOCAL +HIDDEN +ABS _GLOBAL_OFFSET_TABLE_ +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG3 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG5 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4 +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS __bss_start +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6 +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +7 fc1 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1 +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _edata +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _end