Home | History | Annotate | Download | only in ld-i386
      1 	.section ".tbss", "awT", @nobits
      2 	.globl bg1, bg2, bg3, bg4, bg5, bg6, bg7, bg8
      3 bg1:	.space 4
      4 bg2:	.space 4
      5 bg3:	.space 4
      6 bg4:	.space 4
      7 bg5:	.space 4
      8 bg6:	.space 4
      9 bg7:	.space 4
     10 bg8:	.space 4
     11 bl1:	.space 4
     12 bl2:	.space 4
     13 bl3:	.space 4
     14 bl4:	.space 4
     15 bl5:	.space 4
     16 bl6:	.space 4
     17 bl7:	.space 4
     18 bl8:	.space 4
     19 	.text
     20 	.globl	_start
     21 	.type	_start,@function
     22 _start:
     23 	pushl	%ebp
     24 	movl	%esp, %ebp
     25 	/* Set up .GOT pointer for non-pic @gottpoff sequences */
     26 	call	1f
     27 1:	popl	%ecx
     28 	addl	$_GLOBAL_OFFSET_TABLE_+[.-1b], %ecx
     29 	nop;nop;nop;nop
     30 
     31 	/* @gottpoff IE against global var  */
     32 	movl	%gs:0, %edx
     33 	nop;nop
     34 	subl	sG6@gottpoff(%ecx), %edx
     35 	nop;nop;nop;nop
     36 
     37 	/* @indntpoff IE against global var  */
     38 	movl	%gs:0, %eax
     39 	nop;nop
     40 	addl	sG7@indntpoff, %eax
     41 	nop;nop;nop;nop
     42 
     43 	/* @indntpoff direct %gs access IE against global var  */
     44 	movl	sG8@indntpoff, %edx
     45 	nop;nop
     46 	movl	%gs:(%edx), %eax
     47 	nop;nop;nop;nop
     48 
     49 	/* @gottpoff IE -> LE against global var defined in exec  */
     50 	movl	%gs:0, %edx
     51 	nop;nop
     52 	subl	bg6@gottpoff(%ecx), %edx
     53 	nop;nop;nop;nop
     54 
     55 	/* @indntpoff IE -> LE against global var defined in exec */
     56 	movl	%gs:0, %eax
     57 	nop;nop
     58 	addl	bg7@indntpoff, %eax
     59 	nop;nop;nop;nop
     60 
     61 	/* @indntpoff direct %gs access IE -> LE against global var defined
     62 	   in exec  */
     63 	movl	bg8@indntpoff, %edx
     64 	nop;nop
     65 	movl	%gs:(%edx), %eax
     66 	nop;nop;nop;nop
     67 
     68 	/* @gottpoff IE -> LE against local var  */
     69 	movl	%gs:0, %edx
     70 	nop;nop
     71 	subl	bl6@gottpoff(%ecx), %edx
     72 	nop;nop;nop;nop
     73 
     74 	/* @indntpoff IE -> LE against local var  */
     75 	movl	%gs:0, %eax
     76 	nop;nop
     77 	addl	bl7@indntpoff, %eax
     78 	nop;nop;nop;nop
     79 
     80 	/* @indntpoff direct %gs access IE -> LE against local var  */
     81 	movl	bl8@indntpoff, %edx
     82 	nop;nop
     83 	movl	%gs:(%edx), %eax
     84 	nop;nop;nop;nop
     85 
     86 	/* @gottpoff IE -> LE against hidden but not local var  */
     87 	movl	%gs:0, %edx
     88 	nop;nop
     89 	subl	sh6@gottpoff(%ecx), %edx
     90 	nop;nop;nop;nop
     91 
     92 	/* @indntpoff IE -> LE against hidden but not local var  */
     93 	movl	%gs:0, %eax
     94 	nop;nop
     95 	addl	sh7@indntpoff, %eax
     96 	nop;nop;nop;nop
     97 
     98 	/* @indntpoff direct %gs access IE -> LE against hidden but not
     99 	   local var  */
    100 	movl	sh8@indntpoff, %edx
    101 	nop;nop
    102 	movl	%gs:(%edx), %eax
    103 	nop;nop;nop;nop
    104 
    105 	/* LE @tpoff, global var defined in exec  */
    106 	movl	$sg1@tpoff, %edx
    107 	nop;nop
    108 	movl	%gs:0, %eax
    109 	nop;nop
    110 	subl	%edx, %eax
    111 	nop;nop;nop;nop
    112 
    113 	/* LE @tpoff, local var  */
    114 	movl	$-1+bl1@tpoff, %eax
    115 	nop;nop
    116 	movl	%gs:0, %edx
    117 	nop;nop
    118 	subl	%eax, %edx
    119 	nop;nop;nop;nop
    120 
    121 	/* LE @tpoff, hidden var defined in exec  */
    122 	movl	$sh1@tpoff-3, %eax
    123 	nop;nop
    124 	movl	%gs:0, %edx
    125 	nop;nop
    126 	subl	%eax, %edx
    127 	nop;nop;nop;nop
    128 
    129 	/* LE @ntpoff, global var defined in exec  */
    130 	movl	%gs:0, %eax
    131 	nop;nop
    132 	leal	sg2@ntpoff(%eax), %edx
    133 	nop;nop;nop;nop
    134 
    135 	/* LE @ntpoff, local var, non-canonical sequence  */
    136 	movl	$2+bl2@ntpoff, %eax
    137 	nop;nop
    138 	movl	%gs:0, %edx
    139 	nop;nop
    140 	addl	%eax, %edx
    141 	nop;nop;nop;nop
    142 
    143 	/* LE @ntpoff, hidden var defined in exec, non-canonical sequence */
    144 	movl	%gs:0, %edx
    145 	nop;nop
    146 	addl	$sh2@ntpoff+1, %edx
    147 	nop;nop;nop;nop
    148 
    149 	/* Direct %gs access  */
    150 
    151 	/* LE @ntpoff, global var defined in exec  */
    152 	movl	%gs:sg3@ntpoff, %eax
    153 	nop;nop;nop;nop
    154 
    155 	/* LE @ntpoff, local var  */
    156 	movl	%gs:bl3@ntpoff+3, %edx
    157 	nop;nop;nop;nop
    158 
    159 	/* LE @ntpoff, hidden var defined in exec  */
    160 	movl	%gs:1+sh3@ntpoff, %edx
    161 	nop;nop;nop;nop
    162 
    163 	movl    -4(%ebp), %ebx
    164 	leave
    165 	ret
    166