tlsbin-2.d   [plain text]


#source: tlsbinpic.s
#source: tlsbin.s
#as: -little
#ld: -EL tmpdir/tlsbin-0-dso.so
#readelf: -Ssrl
#target: sh*-*-linux* sh*-*-netbsd*

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

Section Headers:
  \[Nr\] Name +Type +Addr +Off +Size +ES Flg Lk Inf Al
  \[ 0\] +NULL +0+ 0+ 0+ 0+ +0 +0 +0
  \[ 1\] \.interp +.*
  \[ 2\] \.hash +.*
  \[ 3\] \.dynsym +.*
  \[ 4\] \.dynstr +.*
  \[ 5\] \.rela\.dyn +.*
  \[ 6\] \.rela\.plt +.*
  \[ 7\] \.plt +.*
  \[ 8\] \.text +PROGBITS +0+401000 .*
  \[ 9\] \.tdata +PROGBITS +0+413000 [0-9a-f]+ 0+018 00 WAT  0   0  4
  \[10\] \.tbss +NOBITS +0+413018 [0-9a-f]+ 0+010 00 WAT  0   0  1
#...
  \[[0-9a-f]+\] \.got +PROGBITS +0+414000 .*
  \[[0-9a-f]+\] \.sbss +.*
  \[[0-9a-f]+\] \.bss +.*
#...
  \[[0-9a-f]+\] \.shstrtab +.*
  \[[0-9a-f]+\] \.symtab +.*
  \[[0-9a-f]+\] \.strtab +.*
Key to Flags:
.*
.*
.*

Elf file type is EXEC \(Executable file\)
Entry point 0x402000
There are [0-9]+ program headers, starting at offset [0-9]+

Program Headers:
  Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align
  PHDR.*
  INTERP.*
.*Requesting program interpreter.*
  LOAD.*
  LOAD.*
  DYNAMIC.*
  TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+18 0x0+28 R +0x4

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

Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 4 entries:
 Offset +Info +Type +Sym\.Value +Sym\. Name \+ Addend
0+414010  00000197 R_SH_TLS_TPOFF32 +0+ +sG3 \+ 0
0+414014  00000397 R_SH_TLS_TPOFF32 +0+ +sG2 \+ 0
0+414018  00000497 R_SH_TLS_TPOFF32 +0+ +sG4 \+ 0
0+41401c  0000[0-9a-f]+97 R_SH_TLS_TPOFF32 +0+ +sG1 \+ 0

Relocation section '\.rela\.plt' at offset 0x[0-9a-f]+ contains 1 entries:
 Offset +Info +Type +Sym\.Value +Sym\. Name \+ Addend
0+41400c  000005a4 R_SH_JMP_SLOT +[0-9a-f]+ +__tls_get_addr \+ [0-9a-f]+

Symbol table '\.dynsym' contains [0-9]+ entries:
 +Num: +Value +Size Type +Bind +Vis +Ndx Name
 +0: 0+ +0 NOTYPE +LOCAL +DEFAULT  UND *
 +1: 0+ +0 TLS +GLOBAL DEFAULT  UND sG3
 +2: [0-9a-f]+ +0 OBJECT  GLOBAL DEFAULT  ABS _DYNAMIC
 +3: 0+ +0 TLS +GLOBAL DEFAULT  UND sG2
 +4: 0+ +0 TLS +GLOBAL DEFAULT  UND sG4
 +5: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT  UND __tls_get_addr
#...
 +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT  UND sG1
#...

#pass