6c5977968d
* ld-s390/tlsbin_64.dd: New file. * ld-s390/tlsbin_64.rd: New file. * ld-s390/tlsbin_64.s: New file. * ld-s390/tlsbin_64.sd: New file. * ld-s390/tlsbin_64.td: New file. * ld-s390/tlsbin.dd: New file. * ld-s390/tlsbinpic_64.s: New file. * ld-s390/tlsbinpic.s: New file. * ld-s390/tlsbin.rd: New file. * ld-s390/tlsbin.s: New file. * ld-s390/tlsbin.sd: New file. * ld-s390/tlsbin.td: New file. * ld-s390/tlslib_64.s: New file. * ld-s390/tlslib.s: New file. * ld-s390/tlspic1_64.s: New file. * ld-s390/tlspic1.s: New file. * ld-s390/tlspic2_64.s: New file. * ld-s390/tlspic2.s: New file. * ld-s390/tlspic_64.dd: New file. * ld-s390/tlspic_64.rd: New file. * ld-s390/tlspic_64.sd: New file. * ld-s390/tlspic_64.td: New file. * ld-s390/tlspic.dd: New file. * ld-s390/tlspic.rd: New file. * ld-s390/tlspic.sd: New file. * ld-s390/tlspic.td: New file.
195 lines
7.4 KiB
Plaintext
195 lines
7.4 KiB
Plaintext
#source: tlspic1.s
|
|
#source: tlspic2.s
|
|
#as: -m64 -Aesame
|
|
#ld: -shared -melf64_s390
|
|
#objdump: -dzrj.text
|
|
#target: s390x-*-*
|
|
|
|
.*: +file format elf64-s390
|
|
|
|
Disassembly of section .text:
|
|
|
|
0+790 <fn1>:
|
|
# function prolog
|
|
+790: eb 6e f0 30 00 24 stmg %r6,%r14,48\(%r15\)
|
|
+796: a7 d5 00 56 bras %r13,842 <fn1\+0xb2>
|
|
# sg1@tlsgd
|
|
+79a: 00 00 00 00 .long 0x00000000
|
|
+79e: 00 00 00 70 .long 0x00000070
|
|
# sg2@tlsgd
|
|
+7a2: 00 00 00 00 .long 0x00000000
|
|
+7a6: 00 00 00 90 .long 0x00000090
|
|
# sl1@tlsgd
|
|
+7aa: 00 00 00 00 .long 0x00000000
|
|
+7ae: 00 00 00 20 .long 0x00000020
|
|
# sl2@tlsgd
|
|
+7b2: 00 00 00 00 .long 0x00000000
|
|
+7b6: 00 00 00 30 .long 0x00000030
|
|
# sh1@tlsgd
|
|
+7ba: 00 00 00 00 .long 0x00000000
|
|
+7be: 00 00 00 98 .long 0x00000098
|
|
# sh2@tlsgd
|
|
+7c2: 00 00 00 00 .long 0x00000000
|
|
+7c6: 00 00 00 a8 .long 0x000000a8
|
|
# sH1@tlsgd
|
|
+7ca: 00 00 00 00 .long 0x00000000
|
|
+7ce: 00 00 00 50 .long 0x00000050
|
|
# sH2@tlsgd
|
|
+7d2: 00 00 00 00 .long 0x00000000
|
|
+7d6: 00 00 00 60 .long 0x00000060
|
|
# sl1@tlsldm
|
|
+7da: 00 00 00 00 .long 0x00000000
|
|
+7de: 00 00 00 40 .long 0x00000040
|
|
# sl1@dtpoff
|
|
+7e2: 00 00 00 00 .long 0x00000000
|
|
+7e6: 00 00 00 20 .long 0x00000020
|
|
# sl2@dtpoff
|
|
+7ea: 00 00 00 00 .long 0x00000000
|
|
+7ee: 00 00 00 24 .long 0x00000024
|
|
# sh1@tlsldm
|
|
+7f2: 00 00 00 00 .long 0x00000000
|
|
+7f6: 00 00 00 40 .long 0x00000040
|
|
# sh1@dtpoff
|
|
+7fa: 00 00 00 00 .long 0x00000000
|
|
+7fe: 00 00 00 40 .long 0x00000040
|
|
# sh2@dtpoff
|
|
+802: 00 00 00 00 .long 0x00000000
|
|
+806: 00 00 00 44 .long 0x00000044
|
|
# sH1@tlsldm
|
|
+80a: 00 00 00 00 .long 0x00000000
|
|
+80e: 00 00 00 40 .long 0x00000040
|
|
# sH1@dtpoff
|
|
+812: 00 00 00 00 .long 0x00000000
|
|
+816: 00 00 00 60 .long 0x00000060
|
|
# sH2@dtpoff
|
|
+81a: 00 00 00 00 .long 0x00000000
|
|
+81e: 00 00 00 64 .long 0x00000064
|
|
# sg2@gotntpoff
|
|
+822: 00 00 00 00 .long 0x00000000
|
|
+826: 00 00 00 90 .long 0x00000090
|
|
# sl2@gotntpoff
|
|
+82a: 00 00 00 00 .long 0x00000000
|
|
+82e: 00 00 00 30 .long 0x00000030
|
|
# sh2@gotntpoff
|
|
+832: 00 00 00 00 .long 0x00000000
|
|
+836: 00 00 00 a8 .long 0x000000a8
|
|
# sH2@gotntpoff
|
|
+83a: 00 00 00 00 .long 0x00000000
|
|
+83e: 00 00 00 60 .long 0x00000060
|
|
# function prolog
|
|
+842: b9 04 00 ef lgr %r14,%r15
|
|
+846: c0 c0 00 00 09 a5 larl %r12,1b90 <_GLOBAL_OFFSET_TABLE_>
|
|
+84c: a7 fb ff 60 aghi %r15,-160
|
|
+850: e3 e0 e0 00 00 24 stg %r14,0\(%r14\)
|
|
# extract TCB
|
|
+856: b2 4f 00 90 ear %r9,%a0
|
|
+85a: eb 94 00 20 00 0d sllg %r9,%r4,32
|
|
+860: b2 4f 00 91 ear %r9,%a1
|
|
# GD
|
|
+864: e3 20 d0 00 00 04 lg %r2,0\(%r13\)
|
|
+86a: c0 e5 ff ff ff 83 brasl %r14,770 <sH8\+0x6f4>
|
|
+870: 41 22 90 00 la %r2,0\(%r2,%r9\)
|
|
# GD -> IE because variable is referenced through IE too
|
|
+874: e3 20 d0 08 00 04 lg %r2,8\(%r13\)
|
|
+87a: e3 22 c0 00 00 04 lg %r2,0\(%r2,%r12\)
|
|
+880: 41 22 90 00 la %r2,0\(%r2,%r9\)
|
|
# GD against local variable
|
|
+884: e3 20 d0 10 00 04 lg %r2,16\(%r13\)
|
|
+88a: c0 e5 ff ff ff 73 brasl %r14,770 <sH8\+0x6f4>
|
|
+890: 41 22 90 00 la %r2,0\(%r2,%r9\)
|
|
# GD -> IE against local variable referenced through IE too
|
|
+894: e3 20 d0 18 00 04 lg %r2,24\(%r13\)
|
|
+89a: e3 22 c0 00 00 04 lg %r2,0\(%r2,%r12\)
|
|
+8a0: 41 22 90 00 la %r2,0\(%r2,%r9\)
|
|
# GD against hidden and local variable
|
|
+8a4: e3 20 d0 20 00 04 lg %r2,32\(%r13\)
|
|
+8aa: c0 e5 ff ff ff 63 brasl %r14,770 <sH8\+0x6f4>
|
|
+8b0: 41 22 90 00 la %r2,0\(%r2,%r9\)
|
|
# GD -> IE against hidden and local variable referenced through
|
|
# IE too
|
|
+8b4: e3 20 d0 28 00 04 lg %r2,40\(%r13\)
|
|
+8ba: e3 22 c0 00 00 04 lg %r2,0\(%r2,%r12\)
|
|
+8c0: 41 22 90 00 la %r2,0\(%r2,%r9\)
|
|
# GD against hidden but not local variable
|
|
+8c4: e3 20 d0 30 00 04 lg %r2,48\(%r13\)
|
|
+8ca: c0 e5 ff ff ff 53 brasl %r14,770 <sH8\+0x6f4>
|
|
+8d0: 41 22 90 00 la %r2,0\(%r2,%r9\)
|
|
# GD -> IE against hidden but not local variable referenced through
|
|
# IE too
|
|
+8d4: e3 20 d0 38 00 04 lg %r2,56\(%r13\)
|
|
+8da: e3 22 c0 00 00 04 lg %r2,0\(%r2,%r12\)
|
|
+8e0: 41 22 90 00 la %r2,0\(%r2,%r9\)
|
|
# LD
|
|
+8e4: e3 20 d0 40 00 04 lg %r2,64\(%r13\)
|
|
+8ea: c0 e5 ff ff ff 43 brasl %r14,770 <sH8\+0x6f4>
|
|
+8f0: 41 32 90 00 la %r3,0\(%r2,%r9\)
|
|
+8f4: e3 40 d0 48 00 04 lg %r4,72\(%r13\)
|
|
+8fa: 41 54 30 00 la %r5,0\(%r4,%r3\)
|
|
+8fe: e3 40 d0 50 00 04 lg %r4,80\(%r13\)
|
|
+904: 41 54 30 00 la %r5,0\(%r4,%r3\)
|
|
# LD against hidden and local variables
|
|
+908: e3 20 d0 58 00 04 lg %r2,88\(%r13\)
|
|
+90e: c0 e5 ff ff ff 31 brasl %r14,770 <sH8\+0x6f4>
|
|
+914: 41 32 90 00 la %r3,0\(%r2,%r9\)
|
|
+918: e3 40 d0 60 00 04 lg %r4,96\(%r13\)
|
|
+91e: 41 54 30 00 la %r5,0\(%r4,%r3\)
|
|
+922: e3 40 d0 68 00 04 lg %r4,104\(%r13\)
|
|
+928: 41 54 30 00 la %r5,0\(%r4,%r3\)
|
|
# LD against hidden but not local variables
|
|
+92c: e3 20 d0 70 00 04 lg %r2,112\(%r13\)
|
|
+932: c0 e5 ff ff ff 1f brasl %r14,770 <sH8\+0x6f4>
|
|
+938: 41 32 90 00 la %r3,0\(%r2,%r9\)
|
|
+93c: e3 40 d0 78 00 04 lg %r4,120\(%r13\)
|
|
+942: 41 54 30 00 la %r5,0\(%r4,%r3\)
|
|
+946: e3 40 d0 80 00 04 lg %r4,128\(%r13\)
|
|
+94c: 41 54 30 00 la %r5,0\(%r4,%r3\)
|
|
# IE against global var
|
|
+950: e3 30 d0 88 00 04 lg %r3,136\(%r13\)
|
|
+956: e3 33 c0 00 00 04 lg %r3,0\(%r3,%r12\)
|
|
+95c: 41 33 90 00 la %r3,0\(%r3,%r9\)
|
|
# IE against local var
|
|
+960: e3 30 d0 90 00 04 lg %r3,144\(%r13\)
|
|
+966: e3 43 c0 00 00 04 lg %r4,0\(%r3,%r12\)
|
|
+96c: 41 54 90 00 la %r5,0\(%r4,%r9\)
|
|
# IE against hidden and local var
|
|
+970: e3 30 d0 98 00 04 lg %r3,152\(%r13\)
|
|
+976: e3 43 c0 00 00 04 lg %r4,0\(%r3,%r12\)
|
|
+97c: 41 54 90 00 la %r5,0\(%r4,%r9\)
|
|
# IE against hidden but not local var
|
|
+980: e3 30 d0 a0 00 04 lg %r3,160\(%r13\)
|
|
+986: e3 43 c0 00 00 04 lg %r4,0\(%r3,%r12\)
|
|
+98c: 41 54 90 00 la %r5,0\(%r4,%r9\)
|
|
# IE against global var with larl got access
|
|
+990: c0 30 00 00 09 34 larl %r3,1bf8 <\_GLOBAL\_OFFSET\_TABLE\_\+0x68>
|
|
+996: e3 33 c0 00 00 04 lg %r3,0\(%r3,%r12\)
|
|
+99c: 41 33 90 00 la %r3,0\(%r3,%r9\)
|
|
# IE against local var with larl got access
|
|
+9a0: c0 30 00 00 09 14 larl %r3,1bc8 <\_GLOBAL\_OFFSET\_TABLE\_\+0x38>
|
|
+9a6: e3 43 c0 00 00 04 lg %r4,0\(%r3,%r12\)
|
|
+9ac: 41 54 90 00 la %r5,0\(%r4,%r9\)
|
|
# IE against hidden and local var with larl got access
|
|
+9b0: c0 30 00 00 09 30 larl %r3,1c10 <\_GLOBAL\_OFFSET\_TABLE\_\+0x80>
|
|
+9b6: e3 43 c0 00 00 04 lg %r4,0\(%r3,%r12\)
|
|
+9bc: 41 54 90 00 la %r5,0\(%r4,%r9\)
|
|
# IE against hidden but not local var with larl got access
|
|
+9c0: c0 30 00 00 09 2c larl %r3,1c18 <\_GLOBAL\_OFFSET\_TABLE\_\+0x88>
|
|
+9c6: e3 43 c0 00 00 04 lg %r4,0\(%r3,%r12\)
|
|
+9cc: 41 54 90 00 la %r5,0\(%r4,%r9\)
|
|
# IE against global var with small got access (no optimization)
|
|
+9d0: e3 30 c0 68 00 04 lg %r3,104\(%r12\)
|
|
+9d6: 41 33 90 00 la %r3,0\(%r3,%r9\)
|
|
# IE against local var with small got access (no optimization)
|
|
+9da: e3 30 c0 38 00 04 lg %r3,56\(%r12\)
|
|
+9e0: 41 33 90 00 la %r3,0\(%r3,%r9\)
|
|
# IE against hidden and local var with small got access
|
|
# (no optimization)
|
|
+9e4: e3 30 c0 80 00 04 lg %r3,128\(%r12\)
|
|
+9ea: 41 33 90 00 la %r3,0\(%r3,%r9\)
|
|
# IE against hidden but not local var with small got access
|
|
# (no optimization)
|
|
+9ee: e3 30 c0 88 00 04 lg %r3,136\(%r12\)
|
|
+9f4: 41 33 90 00 la %r3,0\(%r3,%r9\)
|
|
# function epilog
|
|
+9f8: eb 6e f0 d0 00 04 lmg %r6,%r14,208\(%r15\)
|
|
+9fe: 07 fe br %r14
|