3 .globl bg1, bg2, bg3, bg4, bg5, bg6, bg7, bg8
22 .type _start,#function
26 .hidden _GLOBAL_OFFSET_TABLE_
27 sethi
%hh
(_GLOBAL_OFFSET_TABLE_
), %l1
28 sethi
%lm(_GLOBAL_OFFSET_TABLE_
), %l2
29 or %l1
, %hm
(_GLOBAL_OFFSET_TABLE_
), %l1
30 or %l2
, %lo
(_GLOBAL_OFFSET_TABLE_
), %l2
35 /* IE against global var */
36 sethi
%tie_hi22
(sG6
), %o3
37 add %o3
, %tie_lo10
(sG6
), %o3
38 ldx [%l4
+ %o3
], %o2
, %tie_ldx
(sG6
)
39 add %g7
, %o2
, %o4
, %tie_add
(sG6
)
42 /* IE -> LE against global var defined in exec */
43 sethi
%tie_hi22
(bg6
), %o3
44 add %o3
, %tie_lo10
(bg6
), %o5
45 ldx [%l4
+ %o5
], %o2
, %tie_ldx
(bg6
)
46 add %g7
, %o2
, %o4
, %tie_add
(bg6
)
49 /* IE -> LE against local var */
50 sethi
%tie_hi22
(bl6
), %o3
51 add %o3
, %tie_lo10
(bl6
), %o5
52 ldx [%l4
+ %o5
], %l2
, %tie_ldx
(bl6
)
53 add %g7
, %l2
, %l2
, %tie_add
(bl6
)
56 /* direct %g7 access IE -> LE against local var */
57 sethi
%tie_hi22
(bl8
), %o3
58 add %o3
, %tie_lo10
(bl8
), %o5
59 ldx [%l4
+ %o5
], %l2
, %tie_ldx
(bl8
)
60 ldsw
[%g7
+ %l2
], %l2
, %tie_add
(bl8
)
63 /* IE -> LE against hidden but not local var */
64 sethi
%tie_hi22
(sh6
), %o3
65 add %o3
, %tie_lo10
(sh6
), %o5
66 ldx [%l4
+ %o5
], %l2
, %tie_ldx
(sh6
)
67 add %g7
, %l2
, %l2
, %tie_add
(sh6
)
70 /* direct %g7 access IE -> LE against hidden but not local var */
71 sethi
%tie_hi22
(bl8
), %o3
72 add %o3
, %tie_lo10
(bl8
), %o5
73 ldx [%l4
+ %o5
], %l2
, %tie_ldx
(bl8
)
74 stb %l1
, [%g7
+ %l2
], %tie_add
(bl8
)
77 /* LE, global var defined in exec */
78 sethi
%tle_hix22
(sg2
), %l1
80 xor %l1
, %tle_lox10
(sg2
), %l2
86 sethi
%tle_hix22
(bl2+
2), %o0
87 xor %o0
, %tle_lox10
(bl2+
2), %o0
91 /* LE, hidden var defined in exec */
92 sethi
%tle_hix22
(sh2+
1), %l1
93 xor %l1
, %tle_lox10
(sh2+
1), %o5
97 /* Direct %g7 access */
99 /* LE, global var defined in exec */
100 sethi
%tle_hix22
(sg3
), %l1
101 xor %l1
, %tle_lox10
(sg3
), %o5
106 sethi
%tle_hix22
(bl3
+ 3), %o0
107 xor %o0
, %tle_lox10
(bl3
+ 3), %o0
111 /* LE, hidden var defined in exec */
112 sethi
%tle_hix22
(sh3
+ 3), %o2
113 xor %o2
, %tle_lox10
(sh3
+ 3), %o4
114 ldstub
[%g7
+ %o4
], %o5