Home | History | Annotate | Download | only in ld-x86-64
      1 #source: tlsdesc.s
      2 #source: tlspic2.s
      3 #as: --64
      4 #ld: -shared -melf_x86_64 --no-ld-generated-unwind-info
      5 #objdump: -drj.text
      6 #target: x86_64-*-*
      7 
      8 .*: +file format elf64-x86-64.*
      9 
     10 Disassembly of section .text:
     11 
     12 0+[0-9a-f]+ <fn1>:
     13  +[0-9a-f]+:	55[ 	]+push   %rbp
     14  +[0-9a-f]+:	48 89 e5[ 	]+mov    %rsp,%rbp
     15  +[0-9a-f]+:	90[ 	]+nop *
     16  +[0-9a-f]+:	90[ 	]+nop *
     17  +[0-9a-f]+:	90[ 	]+nop *
     18  +[0-9a-f]+:	90[ 	]+nop *
     19 #  GD
     20  +[0-9a-f]+:	48 8d 05 ([0-9a-f]{2} ){4}[ 	]+lea    0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_GLOBAL_OFFSET_TABLE_\+0x48>
     21 #				-> R_X86_64_TLSDESC	sg1
     22  +[0-9a-f]+:	ff 10[ 	]+callq  \*\(%rax\)
     23  +[0-9a-f]+:	90[ 	]+nop *
     24  +[0-9a-f]+:	90[ 	]+nop *
     25  +[0-9a-f]+:	90[ 	]+nop *
     26  +[0-9a-f]+:	90[ 	]+nop *
     27 #  GD -> IE because variable is referenced through IE too
     28  +[0-9a-f]+:	48 8b 05 ([0-9a-f]{2} ){4}[ 	]+mov    0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_DYNAMIC\+0x180>
     29 #				-> R_X86_64_TPOFF64	sg2
     30  +[0-9a-f]+:	66 90[ 	]+xchg   %ax,%ax
     31  +[0-9a-f]+:	90[ 	]+nop *
     32  +[0-9a-f]+:	90[ 	]+nop *
     33  +[0-9a-f]+:	90[ 	]+nop *
     34  +[0-9a-f]+:	90[ 	]+nop *
     35 #  GD against local variable
     36  +[0-9a-f]+:	48 8d 05 ([0-9a-f]{2} ){4}[ 	]+lea    0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_GLOBAL_OFFSET_TABLE_\+0x18>
     37 #				-> R_X86_64_TLSDESC	[0 0x2000000000000000]
     38  +[0-9a-f]+:	ff 10[ 	]+callq  \*\(%rax\)
     39  +[0-9a-f]+:	90[ 	]+nop *
     40  +[0-9a-f]+:	90[ 	]+nop *
     41  +[0-9a-f]+:	90[ 	]+nop *
     42  +[0-9a-f]+:	90[ 	]+nop *
     43 #  GD -> IE against local variable referenced through IE too
     44  +[0-9a-f]+:	48 8b 05 ([0-9a-f]{2} ){4}[ 	]+mov    0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_DYNAMIC\+0x150>
     45 #				-> R_X86_64_TPOFF64	*ABS*+0x24
     46  +[0-9a-f]+:	66 90[ 	]+xchg   %ax,%ax
     47  +[0-9a-f]+:	90[ 	]+nop *
     48  +[0-9a-f]+:	90[ 	]+nop *
     49  +[0-9a-f]+:	90[ 	]+nop *
     50  +[0-9a-f]+:	90[ 	]+nop *
     51 #  GD against hidden and local variable
     52  +[0-9a-f]+:	48 8d 05 ([0-9a-f]{2} ){4}[ 	]+lea    0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_GLOBAL_OFFSET_TABLE_\+0x58>
     53 #				-> R_X86_64_TLSDESC	[0 0x4000000000000000]
     54  +[0-9a-f]+:	ff 10[ 	]+callq  \*\(%rax\)
     55  +[0-9a-f]+:	90[ 	]+nop *
     56  +[0-9a-f]+:	90[ 	]+nop *
     57  +[0-9a-f]+:	90[ 	]+nop *
     58  +[0-9a-f]+:	90[ 	]+nop *
     59 #  GD -> IE against hidden and local variable referenced through IE too
     60  +[0-9a-f]+:	48 8b 05 ([0-9a-f]{2} ){4}[ 	]+mov    0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_DYNAMIC\+0x188>
     61 #				-> R_X86_64_TPOFF64	*ABS*+0x44
     62  +[0-9a-f]+:	66 90[ 	]+xchg   %ax,%ax
     63  +[0-9a-f]+:	90[ 	]+nop *
     64  +[0-9a-f]+:	90[ 	]+nop *
     65  +[0-9a-f]+:	90[ 	]+nop *
     66  +[0-9a-f]+:	90[ 	]+nop *
     67 #  GD against hidden but not local variable
     68  +[0-9a-f]+:	48 8d 05 ([0-9a-f]{2} ){4}[ 	]+lea    0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_GLOBAL_OFFSET_TABLE_\+0x28>
     69 #				-> R_X86_64_TLSDESC	[0 0x6000000000000000]
     70  +[0-9a-f]+:	ff 10[ 	]+callq  \*\(%rax\)
     71  +[0-9a-f]+:	90[ 	]+nop *
     72  +[0-9a-f]+:	90[ 	]+nop *
     73  +[0-9a-f]+:	90[ 	]+nop *
     74  +[0-9a-f]+:	90[ 	]+nop *
     75 #  GD -> IE against hidden but not local variable referenced through IE too
     76  +[0-9a-f]+:	48 8b 05 ([0-9a-f]{2} ){4}[ 	]+mov    0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_DYNAMIC\+0x160>
     77 #				-> R_X86_64_TPOFF64	*ABS*+0x64
     78  +[0-9a-f]+:	66 90[ 	]+xchg   %ax,%ax
     79  +[0-9a-f]+:	90[ 	]+nop *
     80  +[0-9a-f]+:	90[ 	]+nop *
     81  +[0-9a-f]+:	90[ 	]+nop *
     82  +[0-9a-f]+:	90[ 	]+nop *
     83 #  LD
     84  +[0-9a-f]+:	48 8d 05 ([0-9a-f]{2} ){4}[ 	]+lea    0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_GLOBAL_OFFSET_TABLE_\+0x38>
     85 #				-> R_X86_64_TLSDESC	[0 0x000000000000000]
     86  +[0-9a-f]+:	ff 10[ 	]+callq  \*\(%rax\)
     87  +[0-9a-f]+:	90[ 	]+nop *
     88  +[0-9a-f]+:	90[ 	]+nop *
     89  +[0-9a-f]+:	48 8d 90 20 00 00 00[ 	]+lea    0x20\(%rax\),%rdx
     90  +[0-9a-f]+:	90[ 	]+nop *
     91  +[0-9a-f]+:	90[ 	]+nop *
     92  +[0-9a-f]+:	4c 8d 88 26 00 00 00[ 	]+lea    0x26\(%rax\),%r9
     93  +[0-9a-f]+:	90[ 	]+nop *
     94  +[0-9a-f]+:	90[ 	]+nop *
     95  +[0-9a-f]+:	90[ 	]+nop *
     96  +[0-9a-f]+:	90[ 	]+nop *
     97 #  LD against hidden and local variables
     98  +[0-9a-f]+:	48 8d 90 40 00 00 00[ 	]+lea    0x40\(%rax\),%rdx
     99  +[0-9a-f]+:	90[ 	]+nop *
    100  +[0-9a-f]+:	90[ 	]+nop *
    101  +[0-9a-f]+:	48 8d 88 47 00 00 00[ 	]+lea    0x47\(%rax\),%rcx
    102  +[0-9a-f]+:	90[ 	]+nop *
    103  +[0-9a-f]+:	90[ 	]+nop *
    104  +[0-9a-f]+:	90[ 	]+nop *
    105  +[0-9a-f]+:	90[ 	]+nop *
    106 #  LD against hidden but not local variables
    107  +[0-9a-f]+:	4c 8d a0 60 00 00 00[ 	]+lea    0x60\(%rax\),%r12
    108  +[0-9a-f]+:	90[ 	]+nop *
    109  +[0-9a-f]+:	90[ 	]+nop *
    110  +[0-9a-f]+:	48 8d 88 65 00 00 00[ 	]+lea    0x65\(%rax\),%rcx
    111  +[0-9a-f]+:	90[ 	]+nop *
    112  +[0-9a-f]+:	90[ 	]+nop *
    113 #  IE against global var
    114  +[0-9a-f]+:	64 48 8b 0c 25 00 00[ 	]+mov    %fs:0x0,%rcx
    115  +[0-9a-f]+:	00 00 *
    116  +[0-9a-f]+:	90[ 	]+nop *
    117  +[0-9a-f]+:	90[ 	]+nop *
    118  +[0-9a-f]+:	48 03 0d ([0-9a-f]{2} ){4}[ 	]+add    0x[0-9a-f]+\(%rip\),%rcx +# [0-9a-f]+ <_DYNAMIC\+0x180>
    119 #				-> R_X86_64_TPOFF64	sg2
    120  +[0-9a-f]+:	90[ 	]+nop *
    121  +[0-9a-f]+:	90[ 	]+nop *
    122  +[0-9a-f]+:	90[ 	]+nop *
    123  +[0-9a-f]+:	90[ 	]+nop *
    124 #  IE against local var
    125  +[0-9a-f]+:	64 4c 8b 34 25 00 00[ 	]+mov    %fs:0x0,%r14
    126  +[0-9a-f]+:	00 00 *
    127  +[0-9a-f]+:	90[ 	]+nop *
    128  +[0-9a-f]+:	90[ 	]+nop *
    129  +[0-9a-f]+:	4c 03 35 ([0-9a-f]{2} ){4}[ 	]+add    0x[0-9a-f]+\(%rip\),%r14 +# [0-9a-f]+ <_DYNAMIC\+0x150>
    130 #				-> R_X86_64_TPOFF64	*ABS*+0x24
    131  +[0-9a-f]+:	90[ 	]+nop *
    132  +[0-9a-f]+:	90[ 	]+nop *
    133  +[0-9a-f]+:	90[ 	]+nop *
    134  +[0-9a-f]+:	90[ 	]+nop *
    135 #  IE against hidden and local var
    136  +[0-9a-f]+:	64 48 8b 0c 25 00 00[ 	]+mov    %fs:0x0,%rcx
    137  +[0-9a-f]+:	00 00 *
    138  +[0-9a-f]+:	90[ 	]+nop *
    139  +[0-9a-f]+:	90[ 	]+nop *
    140  +[0-9a-f]+:	48 03 0d ([0-9a-f]{2} ){4}[ 	]+add    0x[0-9a-f]+\(%rip\),%rcx +# [0-9a-f]+ <_DYNAMIC\+0x188>
    141 #				-> R_X86_64_TPOFF64	*ABS*+0x44
    142  +[0-9a-f]+:	90[ 	]+nop *
    143  +[0-9a-f]+:	90[ 	]+nop *
    144  +[0-9a-f]+:	90[ 	]+nop *
    145  +[0-9a-f]+:	90[ 	]+nop *
    146 #  IE against hidden but not local var
    147  +[0-9a-f]+:	64 48 8b 0c 25 00 00[ 	]+mov    %fs:0x0,%rcx
    148  +[0-9a-f]+:	00 00 *
    149  +[0-9a-f]+:	90[ 	]+nop *
    150  +[0-9a-f]+:	90[ 	]+nop *
    151  +[0-9a-f]+:	48 03 0d ([0-9a-f]{2} ){4}[ 	]+add    0x[0-9a-f]+\(%rip\),%rcx +# [0-9a-f]+ <_DYNAMIC\+0x160>
    152 #				-> R_X86_64_TPOFF64	*ABS*+0x64
    153  +[0-9a-f]+:	90[ 	]+nop *
    154  +[0-9a-f]+:	90[ 	]+nop *
    155  +[0-9a-f]+:	90[ 	]+nop *
    156  +[0-9a-f]+:	90[ 	]+nop *
    157 #  Direct access through %fs
    158 #  IE against global var
    159  +[0-9a-f]+:	48 8b 0d ([0-9a-f]{2} ){4}[ 	]+mov    0x[0-9a-f]+\(%rip\),%rcx +# [0-9a-f]+ <_DYNAMIC\+0x168>
    160 #				-> R_X86_64_TPOFF64	sg5
    161  +[0-9a-f]+:	90[ 	]+nop *
    162  +[0-9a-f]+:	90[ 	]+nop *
    163  +[0-9a-f]+:	64 48 8b 11[ 	]+mov    %fs:\(%rcx\),%rdx
    164  +[0-9a-f]+:	90[ 	]+nop *
    165  +[0-9a-f]+:	90[ 	]+nop *
    166  +[0-9a-f]+:	90[ 	]+nop *
    167  +[0-9a-f]+:	90[ 	]+nop *
    168 #  IE against local var
    169  +[0-9a-f]+:	4c 8b 15 ([0-9a-f]{2} ){4}[ 	]+mov    0x[0-9a-f]+\(%rip\),%r10 +# [0-9a-f]+ <_DYNAMIC\+0x158>
    170 #				-> R_X86_64_TPOFF64	*ABS*+0x30
    171  +[0-9a-f]+:	90[ 	]+nop *
    172  +[0-9a-f]+:	90[ 	]+nop *
    173  +[0-9a-f]+:	64 4d 8b 22[ 	]+mov    %fs:\(%r10\),%r12
    174  +[0-9a-f]+:	90[ 	]+nop *
    175  +[0-9a-f]+:	90[ 	]+nop *
    176  +[0-9a-f]+:	90[ 	]+nop *
    177  +[0-9a-f]+:	90[ 	]+nop *
    178 #  IE against hidden and local var
    179  +[0-9a-f]+:	48 8b 15 ([0-9a-f]{2} ){4}[ 	]+mov    0x[0-9a-f]+\(%rip\),%rdx +# [0-9a-f]+ <_DYNAMIC\+0x170>
    180 #				-> R_X86_64_TPOFF64	*ABS*+0x50
    181  +[0-9a-f]+:	90[ 	]+nop *
    182  +[0-9a-f]+:	90[ 	]+nop *
    183  +[0-9a-f]+:	64 48 8b 12[ 	]+mov    %fs:\(%rdx\),%rdx
    184  +[0-9a-f]+:	90[ 	]+nop *
    185  +[0-9a-f]+:	90[ 	]+nop *
    186  +[0-9a-f]+:	90[ 	]+nop *
    187  +[0-9a-f]+:	90[ 	]+nop *
    188 #  IE against hidden but not local var
    189  +[0-9a-f]+:	48 8b 0d ([0-9a-f]{2} ){4}[ 	]+mov    0x[0-9a-f]+\(%rip\),%rcx +# [0-9a-f]+ <_DYNAMIC\+0x178>
    190 #				-> R_X86_64_TPOFF64	*ABS*+0x70
    191  +[0-9a-f]+:	90[ 	]+nop *
    192  +[0-9a-f]+:	90[ 	]+nop *
    193  +[0-9a-f]+:	64 48 8b 11[ 	]+mov    %fs:\(%rcx\),%rdx
    194  +[0-9a-f]+:	90[ 	]+nop *
    195  +[0-9a-f]+:	90[ 	]+nop *
    196  +[0-9a-f]+:	90[ 	]+nop *
    197  +[0-9a-f]+:	90[ 	]+nop *
    198  +[0-9a-f]+:	c9[ 	]+leaveq *
    199  +[0-9a-f]+:	c3[ 	]+retq *
    200