tlspic_64.dd 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  1. #source: tlspic1.s
  2. #source: tlspic2.s
  3. #as: -m64 -Aesame
  4. #ld: -shared -melf64_s390
  5. #objdump: -dzrj.text
  6. #target: s390x-*-*
  7. .*: +file format elf64-s390
  8. Disassembly of section .text:
  9. 0+[0-9a-f]+ <fn1>:
  10. # function prolog
  11. +[0-9a-f]+: eb 6e f0 30 00 24 stmg %r6,%r14,48\(%r15\)
  12. +[0-9a-f]+: a7 d5 00 56 bras %r13,[0-9a-f]+ <fn1\+0xb2>
  13. # sg1@tlsgd
  14. +[0-9a-f]+: 00 00 00 00 .long 0x00000000
  15. +[0-9a-f]+: 00 00 00 70 .long 0x00000070
  16. # sg2@tlsgd
  17. +[0-9a-f]+: 00 00 00 00 .long 0x00000000
  18. +[0-9a-f]+: 00 00 00 90 .long 0x00000090
  19. # sl1@tlsgd
  20. +[0-9a-f]+: 00 00 00 00 .long 0x00000000
  21. +[0-9a-f]+: 00 00 00 20 .long 0x00000020
  22. # sl2@tlsgd
  23. +[0-9a-f]+: 00 00 00 00 .long 0x00000000
  24. +[0-9a-f]+: 00 00 00 30 .long 0x00000030
  25. # sh1@tlsgd
  26. +[0-9a-f]+: 00 00 00 00 .long 0x00000000
  27. +[0-9a-f]+: 00 00 00 98 .long 0x00000098
  28. # sh2@tlsgd
  29. +[0-9a-f]+: 00 00 00 00 .long 0x00000000
  30. +[0-9a-f]+: 00 00 00 a8 .long 0x000000a8
  31. # sH1@tlsgd
  32. +[0-9a-f]+: 00 00 00 00 .long 0x00000000
  33. +[0-9a-f]+: 00 00 00 50 .long 0x00000050
  34. # sH2@tlsgd
  35. +[0-9a-f]+: 00 00 00 00 .long 0x00000000
  36. +[0-9a-f]+: 00 00 00 60 .long 0x00000060
  37. # sl1@tlsldm
  38. +[0-9a-f]+: 00 00 00 00 .long 0x00000000
  39. +[0-9a-f]+: 00 00 00 40 .long 0x00000040
  40. # sl1@dtpoff
  41. +[0-9a-f]+: 00 00 00 00 .long 0x00000000
  42. +[0-9a-f]+: 00 00 00 20 .long 0x00000020
  43. # sl2@dtpoff
  44. +[0-9a-f]+: 00 00 00 00 .long 0x00000000
  45. +[0-9a-f]+: 00 00 00 24 .long 0x00000024
  46. # sh1@tlsldm
  47. +[0-9a-f]+: 00 00 00 00 .long 0x00000000
  48. +[0-9a-f]+: 00 00 00 40 .long 0x00000040
  49. # sh1@dtpoff
  50. +[0-9a-f]+: 00 00 00 00 .long 0x00000000
  51. +[0-9a-f]+: 00 00 00 40 .long 0x00000040
  52. # sh2@dtpoff
  53. +[0-9a-f]+: 00 00 00 00 .long 0x00000000
  54. +[0-9a-f]+: 00 00 00 44 .long 0x00000044
  55. # sH1@tlsldm
  56. +[0-9a-f]+: 00 00 00 00 .long 0x00000000
  57. +[0-9a-f]+: 00 00 00 40 .long 0x00000040
  58. # sH1@dtpoff
  59. +[0-9a-f]+: 00 00 00 00 .long 0x00000000
  60. +[0-9a-f]+: 00 00 00 60 .long 0x00000060
  61. # sH2@dtpoff
  62. +[0-9a-f]+: 00 00 00 00 .long 0x00000000
  63. +[0-9a-f]+: 00 00 00 64 .long 0x00000064
  64. # sg2@gotntpoff
  65. +[0-9a-f]+: 00 00 00 00 .long 0x00000000
  66. +[0-9a-f]+: 00 00 00 90 .long 0x00000090
  67. # sl2@gotntpoff
  68. +[0-9a-f]+: 00 00 00 00 .long 0x00000000
  69. +[0-9a-f]+: 00 00 00 30 .long 0x00000030
  70. # sh2@gotntpoff
  71. +[0-9a-f]+: 00 00 00 00 .long 0x00000000
  72. +[0-9a-f]+: 00 00 00 a8 .long 0x000000a8
  73. # sH2@gotntpoff
  74. +[0-9a-f]+: 00 00 00 00 .long 0x00000000
  75. +[0-9a-f]+: 00 00 00 60 .long 0x00000060
  76. # function prolog
  77. +[0-9a-f]+: b9 04 00 ef lgr %r14,%r15
  78. +[0-9a-f]+: c0 c0 [0-9a-f ]+ larl %r12,[0-9a-f]+ <_GLOBAL_OFFSET_TABLE_>
  79. +[0-9a-f]+: a7 fb ff 60 aghi %r15,-160
  80. +[0-9a-f]+: e3 e0 e0 00 00 24 stg %r14,0\(%r14\)
  81. # extract TCB
  82. +[0-9a-f]+: b2 4f 00 90 ear %r9,%a0
  83. +[0-9a-f]+: eb 94 00 20 00 0d sllg %r9,%r4,32
  84. +[0-9a-f]+: b2 4f 00 91 ear %r9,%a1
  85. # GD
  86. +[0-9a-f]+: e3 20 d0 00 00 04 lg %r2,0\(%r13\)
  87. +[0-9a-f]+: c0 e5 [0-9a-f ]+ brasl %r14,[0-9a-f]+ <.*>
  88. +[0-9a-f]+: 41 22 90 00 la %r2,0\(%r2,%r9\)
  89. # GD -> IE because variable is referenced through IE too
  90. +[0-9a-f]+: e3 20 d0 08 00 04 lg %r2,8\(%r13\)
  91. +[0-9a-f]+: e3 22 c0 00 00 04 lg %r2,0\(%r2,%r12\)
  92. +[0-9a-f]+: 41 22 90 00 la %r2,0\(%r2,%r9\)
  93. # GD against local variable
  94. +[0-9a-f]+: e3 20 d0 10 00 04 lg %r2,16\(%r13\)
  95. +[0-9a-f]+: c0 e5 [0-9a-f ]+ brasl %r14,[0-9a-f]+ <.*>
  96. +[0-9a-f]+: 41 22 90 00 la %r2,0\(%r2,%r9\)
  97. # GD -> IE against local variable referenced through IE too
  98. +[0-9a-f]+: e3 20 d0 18 00 04 lg %r2,24\(%r13\)
  99. +[0-9a-f]+: e3 22 c0 00 00 04 lg %r2,0\(%r2,%r12\)
  100. +[0-9a-f]+: 41 22 90 00 la %r2,0\(%r2,%r9\)
  101. # GD against hidden and local variable
  102. +[0-9a-f]+: e3 20 d0 20 00 04 lg %r2,32\(%r13\)
  103. +[0-9a-f]+: c0 e5 [0-9a-f ]+ brasl %r14,[0-9a-f]+ <.*>
  104. +[0-9a-f]+: 41 22 90 00 la %r2,0\(%r2,%r9\)
  105. # GD -> IE against hidden and local variable referenced through
  106. # IE too
  107. +[0-9a-f]+: e3 20 d0 28 00 04 lg %r2,40\(%r13\)
  108. +[0-9a-f]+: e3 22 c0 00 00 04 lg %r2,0\(%r2,%r12\)
  109. +[0-9a-f]+: 41 22 90 00 la %r2,0\(%r2,%r9\)
  110. # GD against hidden but not local variable
  111. +[0-9a-f]+: e3 20 d0 30 00 04 lg %r2,48\(%r13\)
  112. +[0-9a-f]+: c0 e5 [0-9a-f ]+ brasl %r14,[0-9a-f]+ <.*>
  113. +[0-9a-f]+: 41 22 90 00 la %r2,0\(%r2,%r9\)
  114. # GD -> IE against hidden but not local variable referenced through
  115. # IE too
  116. +[0-9a-f]+: e3 20 d0 38 00 04 lg %r2,56\(%r13\)
  117. +[0-9a-f]+: e3 22 c0 00 00 04 lg %r2,0\(%r2,%r12\)
  118. +[0-9a-f]+: 41 22 90 00 la %r2,0\(%r2,%r9\)
  119. # LD
  120. +[0-9a-f]+: e3 20 d0 40 00 04 lg %r2,64\(%r13\)
  121. +[0-9a-f]+: c0 e5 [0-9a-f ]+ brasl %r14,[0-9a-f]+ <.*>
  122. +[0-9a-f]+: 41 32 90 00 la %r3,0\(%r2,%r9\)
  123. +[0-9a-f]+: e3 40 d0 48 00 04 lg %r4,72\(%r13\)
  124. +[0-9a-f]+: 41 54 30 00 la %r5,0\(%r4,%r3\)
  125. +[0-9a-f]+: e3 40 d0 50 00 04 lg %r4,80\(%r13\)
  126. +[0-9a-f]+: 41 54 30 00 la %r5,0\(%r4,%r3\)
  127. # LD against hidden and local variables
  128. +[0-9a-f]+: e3 20 d0 58 00 04 lg %r2,88\(%r13\)
  129. +[0-9a-f]+: c0 e5 [0-9a-f ]+ brasl %r14,[0-9a-f]+ <.*>
  130. +[0-9a-f]+: 41 32 90 00 la %r3,0\(%r2,%r9\)
  131. +[0-9a-f]+: e3 40 d0 60 00 04 lg %r4,96\(%r13\)
  132. +[0-9a-f]+: 41 54 30 00 la %r5,0\(%r4,%r3\)
  133. +[0-9a-f]+: e3 40 d0 68 00 04 lg %r4,104\(%r13\)
  134. +[0-9a-f]+: 41 54 30 00 la %r5,0\(%r4,%r3\)
  135. # LD against hidden but not local variables
  136. +[0-9a-f]+: e3 20 d0 70 00 04 lg %r2,112\(%r13\)
  137. +[0-9a-f]+: c0 e5 [0-9a-f ]+ brasl %r14,[0-9a-f]+ <.*>
  138. +[0-9a-f]+: 41 32 90 00 la %r3,0\(%r2,%r9\)
  139. +[0-9a-f]+: e3 40 d0 78 00 04 lg %r4,120\(%r13\)
  140. +[0-9a-f]+: 41 54 30 00 la %r5,0\(%r4,%r3\)
  141. +[0-9a-f]+: e3 40 d0 80 00 04 lg %r4,128\(%r13\)
  142. +[0-9a-f]+: 41 54 30 00 la %r5,0\(%r4,%r3\)
  143. # IE against global var
  144. +[0-9a-f]+: e3 30 d0 88 00 04 lg %r3,136\(%r13\)
  145. +[0-9a-f]+: e3 33 c0 00 00 04 lg %r3,0\(%r3,%r12\)
  146. +[0-9a-f]+: 41 33 90 00 la %r3,0\(%r3,%r9\)
  147. # IE against local var
  148. +[0-9a-f]+: e3 30 d0 90 00 04 lg %r3,144\(%r13\)
  149. +[0-9a-f]+: e3 43 c0 00 00 04 lg %r4,0\(%r3,%r12\)
  150. +[0-9a-f]+: 41 54 90 00 la %r5,0\(%r4,%r9\)
  151. # IE against hidden and local var
  152. +[0-9a-f]+: e3 30 d0 98 00 04 lg %r3,152\(%r13\)
  153. +[0-9a-f]+: e3 43 c0 00 00 04 lg %r4,0\(%r3,%r12\)
  154. +[0-9a-f]+: 41 54 90 00 la %r5,0\(%r4,%r9\)
  155. # IE against hidden but not local var
  156. +[0-9a-f]+: e3 30 d0 a0 00 04 lg %r3,160\(%r13\)
  157. +[0-9a-f]+: e3 43 c0 00 00 04 lg %r4,0\(%r3,%r12\)
  158. +[0-9a-f]+: 41 54 90 00 la %r5,0\(%r4,%r9\)
  159. # IE against global var with larl got access
  160. +[0-9a-f]+: c0 30 [0-9a-f ]+ larl %r3,[0-9a-f]+ <.*>
  161. +[0-9a-f]+: e3 33 c0 00 00 04 lg %r3,0\(%r3,%r12\)
  162. +[0-9a-f]+: 41 33 90 00 la %r3,0\(%r3,%r9\)
  163. # IE against local var with larl got access
  164. +[0-9a-f]+: c0 30 [0-9a-f ]+ larl %r3,[0-9a-f]+ <\_GLOBAL\_OFFSET\_TABLE\_\+0x38>
  165. +[0-9a-f]+: e3 43 c0 00 00 04 lg %r4,0\(%r3,%r12\)
  166. +[0-9a-f]+: 41 54 90 00 la %r5,0\(%r4,%r9\)
  167. # IE against hidden and local var with larl got access
  168. +[0-9a-f]+: c0 30 [0-9a-f ]+ larl %r3,[0-9a-f]+ <\_GLOBAL\_OFFSET\_TABLE\_\+0x80>
  169. +[0-9a-f]+: e3 43 c0 00 00 04 lg %r4,0\(%r3,%r12\)
  170. +[0-9a-f]+: 41 54 90 00 la %r5,0\(%r4,%r9\)
  171. # IE against hidden but not local var with larl got access
  172. +[0-9a-f]+: c0 30 [0-9a-f ]+ larl %r3,[0-9a-f]+ <\_GLOBAL\_OFFSET\_TABLE\_\+0x88>
  173. +[0-9a-f]+: e3 43 c0 00 00 04 lg %r4,0\(%r3,%r12\)
  174. +[0-9a-f]+: 41 54 90 00 la %r5,0\(%r4,%r9\)
  175. # IE against global var with small got access (no optimization)
  176. +[0-9a-f]+: e3 30 c0 68 00 04 lg %r3,104\(%r12\)
  177. +[0-9a-f]+: 41 33 90 00 la %r3,0\(%r3,%r9\)
  178. # IE against local var with small got access (no optimization)
  179. +[0-9a-f]+: e3 30 c0 38 00 04 lg %r3,56\(%r12\)
  180. +[0-9a-f]+: 41 33 90 00 la %r3,0\(%r3,%r9\)
  181. # IE against hidden and local var with small got access
  182. # (no optimization)
  183. +[0-9a-f]+: e3 30 c0 80 00 04 lg %r3,128\(%r12\)
  184. +[0-9a-f]+: 41 33 90 00 la %r3,0\(%r3,%r9\)
  185. # IE against hidden but not local var with small got access
  186. # (no optimization)
  187. +[0-9a-f]+: e3 30 c0 88 00 04 lg %r3,136\(%r12\)
  188. +[0-9a-f]+: 41 33 90 00 la %r3,0\(%r3,%r9\)
  189. # function epilog
  190. +[0-9a-f]+: eb 6e f0 d0 00 04 lmg %r6,%r14,208\(%r15\)
  191. +[0-9a-f]+: 07 fe br %r14
  192. +[0-9a-f]+: 07 07 nopr %r7
  193. +[0-9a-f]+: 07 07 nopr %r7
  194. +[0-9a-f]+: 07 07 nopr %r7
  195. +[0-9a-f]+: 07 07 nopr %r7
  196. +[0-9a-f]+: 07 07 nopr %r7
  197. +[0-9a-f]+: 07 07 nopr %r7
  198. +[0-9a-f]+: 07 07 nopr %r7
  199. +[0-9a-f]+: 07 07 nopr %r7