#source: tlspic1.s
#source: tlspic2.s
#as: --64
#ld: -shared -melf_x86_64
#readelf: -WSsrl
#target: x86_64-*-*

There are 16 section headers, starting at offset 0x[0-9a-f]+:

Section Headers:
  \[Nr\] Name +Type +Address +Off +Size +ES Flg Lk Inf Al
  \[ 0\] +NULL +0+ 0+ 0+ 00 +0 +0 +0
  \[ 1\] .hash +.*
  \[ 2\] .dynsym +.*
  \[ 3\] .dynstr +.*
  \[ 4\] .rela.dyn +.*
  \[ 5\] .rela.plt +.*
  \[ 6\] .plt +.*
  \[ 7\] .text +PROGBITS +0+1000 0+1000 0+1ac 00 +AX +0 +0 4096
  \[ 8\] .tdata +PROGBITS +0+2011ac 0+11ac 0+60 00 WAT +0 +0 +1
  \[ 9\] .tbss +NOBITS +0+20120c 0+120c 0+20 00 WAT +0 +0 +1
  \[10\] .dynamic +DYNAMIC +0+201210 0+1210 0+130 10 +WA +3 +0 +8
  \[11\] .got +PROGBITS +0+201340 0+1340 0+90 08 +WA +0 +0 +8
  \[12\] .got.plt +PROGBITS +0+2013d0 0+13d0 0+20 08 +WA +0 +0 +8
  \[13\] .shstrtab +.*
  \[14\] .symtab +.*
  \[15\] .strtab +.*
Key to Flags:
.*
.*
.*

Elf file type is DYN \(Shared object file\)
Entry point 0x1000
There are 4 program headers, starting at offset [0-9]+

Program Headers:
  Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align
  LOAD +0x0+ 0x0+ 0x0+ 0x[0-9a-f]+ 0x[0-9a-f]+ R E 0x200000
  LOAD +0x0+11ac 0x0+2011ac 0x0+2011ac 0x0+244 0x0+244 RW +0x200000
  DYNAMIC +0x0+1210 0x0+201210 0x0+201210 0x0+130 0x0+130 RW +0x8
  TLS +0x0+11ac 0x0+2011ac 0x0+2011ac 0x0+60 0x0+80 R +0x1

 Section to Segment mapping:
  Segment Sections...
   00 +.hash .dynsym .dynstr .rela.dyn .rela.plt .plt .text *
   01 +.tdata .dynamic .got .got.plt *
   02 +.dynamic *
   03 +.tdata .tbss *

Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries:
 +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
[0-9a-f ]+R_X86_64_DTPMOD64 +0+
[0-9a-f ]+R_X86_64_TPOFF64 +0+24
[0-9a-f ]+R_X86_64_TPOFF64 +0+30
[0-9a-f ]+R_X86_64_DTPMOD64 +0+
[0-9a-f ]+R_X86_64_DTPMOD64 +0+
[0-9a-f ]+R_X86_64_TPOFF64 +0+64
[0-9a-f ]+R_X86_64_TPOFF64 +0+50
[0-9a-f ]+R_X86_64_TPOFF64 +0+70
[0-9a-f ]+R_X86_64_DTPMOD64 +0+
[0-9a-f ]+R_X86_64_TPOFF64 +0+44
[0-9a-f ]+R_X86_64_TPOFF64 +0+10 sg5 \+ 0
[0-9a-f ]+R_X86_64_DTPMOD64 +0+ sg1 \+ 0
[0-9a-f ]+R_X86_64_DTPOFF64 +0+ sg1 \+ 0
[0-9a-f ]+R_X86_64_TPOFF64 +0+4 sg2 \+ 0

Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entries:
 +Offset +Info +Type +Symbol's Value  Symbol's Name \+ Addend
[0-9a-f ]+R_X86_64_JUMP_SLOT +0+ __tls_get_addr \+ 0

Symbol table '.dynsym' contains [0-9]+ entries:
 +Num: +Value +Size Type +Bind +Vis +Ndx Name
.* NOTYPE  LOCAL  DEFAULT  UND *
.* SECTION LOCAL  DEFAULT +7 *
.* SECTION LOCAL  DEFAULT +8 *
.* SECTION LOCAL  DEFAULT +9 *
.* TLS +GLOBAL DEFAULT +8 sg8
.* TLS +GLOBAL DEFAULT +8 sg3
.* TLS +GLOBAL DEFAULT +8 sg4
.* TLS +GLOBAL DEFAULT +8 sg5
.* NOTYPE  GLOBAL DEFAULT  UND __tls_get_addr
.* TLS +GLOBAL DEFAULT +8 sg1
.* FUNC +GLOBAL DEFAULT +7 fn1
.* NOTYPE  GLOBAL DEFAULT  ABS __bss_start
.* TLS +GLOBAL DEFAULT +8 sg2
.* TLS +GLOBAL DEFAULT +8 sg6
.* TLS +GLOBAL DEFAULT +8 sg7
.* NOTYPE  GLOBAL DEFAULT  ABS _edata
.* NOTYPE  GLOBAL DEFAULT  ABS _end

Symbol table '.symtab' contains 52 entries:
 +Num: +Value +Size Type +Bind +Vis +Ndx Name
.* NOTYPE  LOCAL  DEFAULT  UND *
.* SECTION LOCAL  DEFAULT +1 *
.* SECTION LOCAL  DEFAULT +2 *
.* SECTION LOCAL  DEFAULT +3 *
.* SECTION LOCAL  DEFAULT +4 *
.* SECTION LOCAL  DEFAULT +5 *
.* SECTION LOCAL  DEFAULT +6 *
.* SECTION LOCAL  DEFAULT +7 *
.* SECTION LOCAL  DEFAULT +8 *
.* SECTION LOCAL  DEFAULT +9 *
.* SECTION LOCAL  DEFAULT +10 *
.* SECTION LOCAL  DEFAULT +11 *
.* SECTION LOCAL  DEFAULT +12 *
.* TLS +LOCAL  DEFAULT +8 sl1
.* TLS +LOCAL  DEFAULT +8 sl2
.* TLS +LOCAL  DEFAULT +8 sl3
.* TLS +LOCAL  DEFAULT +8 sl4
.* TLS +LOCAL  DEFAULT +8 sl5
.* TLS +LOCAL  DEFAULT +8 sl6
.* TLS +LOCAL  DEFAULT +8 sl7
.* TLS +LOCAL  DEFAULT +8 sl8
.* TLS +LOCAL  HIDDEN +9 sH1
.* OBJECT +LOCAL +HIDDEN +ABS _DYNAMIC
.* TLS +LOCAL  HIDDEN +8 sh3
.* TLS +LOCAL  HIDDEN +9 sH2
.* TLS +LOCAL  HIDDEN +9 sH7
.* TLS +LOCAL  HIDDEN +8 sh7
.* TLS +LOCAL  HIDDEN +8 sh8
.* TLS +LOCAL  HIDDEN +9 sH4
.* TLS +LOCAL  HIDDEN +8 sh4
.* TLS +LOCAL  HIDDEN +9 sH3
.* TLS +LOCAL  HIDDEN +8 sh5
.* TLS +LOCAL  HIDDEN +9 sH5
.* TLS +LOCAL  HIDDEN +9 sH6
.* TLS +LOCAL  HIDDEN +9 sH8
.* TLS +LOCAL  HIDDEN +8 sh1
.* OBJECT  LOCAL  HIDDEN  ABS _GLOBAL_OFFSET_TABLE_
.* TLS +LOCAL  HIDDEN +8 sh2
.* TLS +LOCAL  HIDDEN +8 sh6
.* TLS +GLOBAL DEFAULT +8 sg8
.* TLS +GLOBAL DEFAULT +8 sg3
.* TLS +GLOBAL DEFAULT +8 sg4
.* TLS +GLOBAL DEFAULT +8 sg5
.* NOTYPE  GLOBAL DEFAULT  UND __tls_get_addr
.* TLS +GLOBAL DEFAULT +8 sg1
.* FUNC +GLOBAL DEFAULT +7 fn1
.* NOTYPE  GLOBAL DEFAULT  ABS __bss_start
.* TLS +GLOBAL DEFAULT +8 sg2
.* TLS +GLOBAL DEFAULT +8 sg6
.* TLS +GLOBAL DEFAULT +8 sg7
.* NOTYPE  GLOBAL DEFAULT  ABS _edata
.* NOTYPE  GLOBAL DEFAULT  ABS _end
