3 .globl bg1, bg2, bg3, bg4, bg5, bg6, bg7, bg8
22 .type _start,#function
26 .hidden _GLOBAL_OFFSET_TABLE_
27 sethi
%hi
(_GLOBAL_OFFSET_TABLE_
), %l4
28 or %l4
, %lo
(_GLOBAL_OFFSET_TABLE_
), %l4
31 /* IE against global var */
32 sethi
%tie_hi22
(sG6
), %o3
33 add %o3
, %tie_lo10
(sG6
), %o3
34 ld [%l4
+ %o3
], %o2
, %tie_ld
(sG6
)
35 add %g7
, %o2
, %o4
, %tie_add
(sG6
)
38 /* IE -> LE against global var defined in exec */
39 sethi
%tie_hi22
(bg6
), %o3
40 add %o3
, %tie_lo10
(bg6
), %o5
41 ld [%l4
+ %o5
], %o2
, %tie_ld
(bg6
)
42 add %g7
, %o2
, %o4
, %tie_add
(bg6
)
45 /* IE -> LE against local var */
46 sethi
%tie_hi22
(bl6
), %o3
47 add %o3
, %tie_lo10
(bl6
), %o5
48 ld [%l4
+ %o5
], %l2
, %tie_ld
(bl6
)
49 add %g7
, %l2
, %l2
, %tie_add
(bl6
)
52 /* direct %g7 access IE -> LE against local var */
53 sethi
%tie_hi22
(bl8
), %o3
54 add %o3
, %tie_lo10
(bl8
), %o5
55 ld [%l4
+ %o5
], %l2
, %tie_ld
(bl8
)
56 ld [%g7
+ %l2
], %l2
, %tie_add
(bl8
)
59 /* IE -> LE against hidden but not local var */
60 sethi
%tie_hi22
(sh6
), %o3
61 add %o3
, %tie_lo10
(sh6
), %o5
62 ld [%l4
+ %o5
], %l2
, %tie_ld
(sh6
)
63 add %g7
, %l2
, %l2
, %tie_add
(sh6
)
66 /* direct %g7 access IE -> LE against hidden but not local var */
67 sethi
%tie_hi22
(bl8
), %o3
68 add %o3
, %tie_lo10
(bl8
), %o5
69 ld [%l4
+ %o5
], %l2
, %tie_ld
(bl8
)
70 stb %l1
, [%g7
+ %l2
], %tie_add
(bl8
)
73 /* LE, global var defined in exec */
74 sethi
%tle_hix22
(sg2
), %l1
76 xor %l1
, %tle_lox10
(sg2
), %l2
82 sethi
%tle_hix22
(bl2+
2), %o0
83 xor %o0
, %tle_lox10
(bl2+
2), %o0
87 /* LE, hidden var defined in exec */
88 sethi
%tle_hix22
(sh2+
1), %l1
89 xor %l1
, %tle_lox10
(sh2+
1), %o5
93 /* Direct %g7 access */
95 /* LE, global var defined in exec */
96 sethi
%tle_hix22
(sg3
), %l1
97 xor %l1
, %tle_lox10
(sg3
), %o5
102 sethi
%tle_hix22
(bl3
+ 3), %o0
103 xor %o0
, %tle_lox10
(bl3
+ 3), %o0
107 /* LE, hidden var defined in exec */
108 sethi
%tle_hix22
(sh3
+ 3), %o2
109 xor %o2
, %tle_lox10
(sh3
+ 3), %o4
110 ldstub
[%g7
+ %o4
], %o5