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