17 .hidden _GLOBAL_OFFSET_TABLE_
18 sethi
%hh
(_GLOBAL_OFFSET_TABLE_
), %l1
19 sethi
%lm(_GLOBAL_OFFSET_TABLE_
), %l2
20 or %l1
, %hm
(_GLOBAL_OFFSET_TABLE_
), %l1
21 or %l2
, %lo
(_GLOBAL_OFFSET_TABLE_
), %l2
26 /* IE against global var */
27 sethi
%tie_hi22
(sg1
), %o3
28 add %o3
, %tie_lo10
(sg1
), %o3
29 ldx [%l1
+ %o3
], %o2
, %tie_ldx
(sg1
)
30 add %g7
, %o2
, %o4
, %tie_add
(sg1
)
33 /* direct %g7 access IE against global var */
34 sethi
%tie_hi22
(sg2
), %o0
35 add %o0
, %tie_lo10
(sg2
), %o0
36 ldx [%l1
+ %o0
], %o0
, %tie_ldx
(sg2
)
37 lduw
[%g7
+ %o0
], %o0
, %tie_add
(sg2
)
40 /* IE against hidden var */
41 sethi
%tie_hi22
(sh1
), %o0
42 add %o0
, %tie_lo10
(sh1
), %o0
43 ldx [%l1
+ %o0
], %o0
, %tie_ldx
(sh1
)
44 add %g7
, %o0
, %o0
, %tie_add
(sh1
)
47 /* direct %g7 access IE against hidden var */
48 sethi
%tie_hi22
(sh2
), %o5
49 add %o5
, %tie_lo10
(sh2
), %o1
50 ldx [%l1
+ %o1
], %o2
, %tie_ldx
(sh2
)
51 stb %o3
, [%g7
+ %o2
], %tie_add
(sh2
)
54 /* IE against local var */
55 sethi
%tie_hi22
(bl1
), %o0
56 add %o0
, %tie_lo10
(bl1
), %o0
57 ldx [%l1
+ %o0
], %o0
, %tie_ldx
(bl1
)
58 add %g7
, %o0
, %o0
, %tie_add
(bl1
)
61 /* direct %g7 access IE against local var */
62 sethi
%tie_hi22
(bl2
), %o5
63 add %o5
, %tie_lo10
(bl2
), %o1
64 ldx [%l1
+ %o1
], %o2
, %tie_ldx
(bl2
)
65 stb %o3
, [%g7
+ %o2
], %tie_add
(bl2
)
69 sethi
%tle_hix22
(bl3+
1), %o2
70 xor %o2
, %tle_lox10
(bl3+
1), %o4
74 /* LE, hidden var, direct %g7 access */
75 sethi
%tle_hix22
(sh3
), %o2
76 xor %o2
, %tle_lox10
(sh3
), %o2