1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
|
# ZSVJMP.S -- MacOS X version, September 2001, March 2002.
.file "zsvjmp.s"
# ZSVJMP -- SPP callable SETJMP.
.text
.align 2
.globl _zsvjmp_
_zsvjmp_:
# R3 = buf, R4 = &status
li r11,0 ; r11 = 0
stw r11,0(r4) ; set *status to zero
stw r4,0(r3) ; store &status in buf[0]
addi r3,r3,4 ; reference buf[1] for setjmp
b L_setjmp$stub
L2:
lwz r1,0(r1)
lwz r0,8(r1)
mtlr r0
lmw r30,-8(r1)
blr
# The setjmp code is only available in a dynamic library on 10.1.
.picsymbol_stub
L_setjmp$stub:
.indirect_symbol _setjmp
mflr r0
bcl 20,31,L1$pb
L1$pb:
mflr r11
addis r11,r11,ha16(L1$lz-L1$pb)
mtlr r0
lwz r12,lo16(L1$lz-L1$pb)(r11)
mtctr r12
addi r11,r11,lo16(L1$lz-L1$pb)
bctr
.lazy_symbol_pointer
L1$lz:
.indirect_symbol _setjmp
.long dyld_stub_binding_helper
.text
.Lfe1:
# Set the address of the MEM common to zero.
.globl _mem_
_mem_ = 0
# GFPSCR -- Return the contents of the PowerPC FPSCR register.
.text
.align 2
.globl _gfpscr_
_gfpscr_:
stmw r30,-8(r1)
stwu r1,-48(r1)
mr r30,r1
mflr r0
bcl 20,31,L2$pb
L2$pb:
mflr r31
mtlr r0
mffs f0
stfd f0, 16(r30)
lwz r0, 20(r30)
mr r3, r0
b L3
L3:
lwz r1,0(r1)
lmw r30,-8(r1)
blr
# SFPSCR -- Set the contents of the PowerPC FPSCR register.
.text
.align 2
.globl _sfpscr_
_sfpscr_:
stmw r30,-8(r1)
stwu r1,-48(r1)
mr r30,r1
mflr r0
bcl 20,31,L4$pb
L4$pb:
mflr r31
mtlr r0
lis r0, 0xfff8
stw r0, 16(r30)
lwz r0, 0(r3)
stw r0, 20(r30)
lfd f0, 16(r30)
mtfsf 255, f0
b L5
L5:
lwz r1,0(r1)
lmw r30,-8(r1)
blr
# GXER -- Return the contents of the PowerPC XER register.
.text
.align 2
.globl _gxer_
_gxer_:
stmw r30,-8(r1)
stwu r1,-48(r1)
mr r30,r1
mflr r0
bcl 20,31,L3$pb
L3$pb:
mflr r31
mtlr r0
mfspr r3,1
b L4
L4:
lwz r1,0(r1)
lmw r30,-8(r1)
blr
|