Upload Tizen:Base source
[external/binutils.git] / gas / testsuite / gas / hppa / reloc / funcrelocbug.s
1         .code
2         .align 4
3         .EXPORT g,CODE
4         .EXPORT g,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,ARGW2=GR,RTNVAL=GR
5 g:
6         .PROC
7         .CALLINFO FRAME=128,CALLS,SAVE_RP,SAVE_SP,ENTRY_GR=3
8         .ENTRY
9         stw %r2,-20(%r30)
10         copy %r3,%r1
11         copy %r30,%r3
12         stwm %r1,128(%r30)
13         stw %r26,-36(%r3)
14         stw %r25,-40(%r3)
15         stw %r24,-44(%r3)
16         ldw -36(%r3),%r26
17         ldw -40(%r3),%r25
18         ldw -44(%r3),%r19
19         copy %r19,%r22
20         .CALL   ARGW0=GR
21         bl $$dyncall,%r31
22         copy %r31,%r2
23         copy %r28,%r19
24         comiclr,<> 0,%r19,%r0
25         bl,n L$0002,%r0
26         ldw -36(%r3),%r28
27         bl,n L$0001,%r0
28         bl,n L$0003,%r0
29 L$0002:
30         ldw -40(%r3),%r28
31         bl,n L$0001,%r0
32 L$0003:
33 L$0001:
34         ldw -20(%r3),%r2
35         ldo 64(%r3),%r30
36         ldwm -64(%r30),%r3
37         bv,n %r0(%r2)
38         .EXIT
39         .PROCEND
40         .align 4
41 f2___4:
42         .PROC
43         .CALLINFO FRAME=64,NO_CALLS,SAVE_SP,ENTRY_GR=3
44         .ENTRY
45         copy %r3,%r1
46         copy %r30,%r3
47         stwm %r1,64(%r30)
48         stw %r29,8(%r3)
49         stw %r26,-36(%r3)
50         stw %r25,-40(%r3)
51         ldw -36(%r3),%r19
52         ldw -40(%r3),%r20
53         comclr,>= %r20,%r19,%r19
54         ldi 1,%r19
55         copy %r19,%r28
56         bl,n L$0005,%r0
57 L$0005:
58         ldo 64(%r3),%r30
59         ldwm -64(%r30),%r3
60         bv,n %r0(%r2)
61         .EXIT
62         .PROCEND
63         .IMPORT abort,CODE
64         .data
65
66         .align 4
67 L$TRAMP0000:
68         ldw     36(%r22),%r21
69         bb,>=,n %r21,30,.+16
70         depi    0,31,2,%r21
71         ldw     4(%r21),%r19
72         ldw     0(%r21),%r21
73         ldsid   (%r21),%r1
74         mtsp    %r1,%sr0
75         be      0(%sr0,%r21)
76         ldw     40(%r22),%r29
77         .word   0
78         .word   0
79         .code
80
81         .align 4
82         .EXPORT f,CODE
83         .EXPORT f,ENTRY,PRIV_LEV=3,RTNVAL=GR
84 f:
85         .PROC
86         .CALLINFO FRAME=192,CALLS,SAVE_RP,SAVE_SP,ENTRY_GR=3
87         .ENTRY
88         stw %r2,-20(%r30)
89         copy %r3,%r1
90         copy %r30,%r3
91         stwm %r1,192(%r30)
92         ldo 16(%r3),%r19
93         addil L'L$TRAMP0000-$global$,%r27
94         ldo R'L$TRAMP0000-$global$(%r1),%r22
95         ldo 40(%r0),%r20
96         ldws,ma 4(%r22),%r21
97         addib,>= -4,%r20,.-4
98         stws,ma %r21,4(%r19)
99         ldil L'f2___4,%r20
100         ldo R'f2___4(%r20),%r19
101         stw %r19,52(%r3)
102         ldo 8(%r3),%r19
103         stw %r19,56(%r3)
104         ldo 16(%r3),%r19
105         ldo 48(%r3),%r20
106         fdc %r0(%r19)
107         fdc %r0(%r20)
108         sync
109         ldo 32(%r19),%r22
110         mfsp %sr0,%r21
111         ldsid (%r19),%r20
112         mtsp %r20,%sr0
113         fic %r0(%sr0,%r19)
114         fic %r0(%sr0,%r22)
115         sync
116         mtsp %r21,%sr0
117         nop
118         nop
119         nop
120         nop
121         nop
122         nop
123         ldo 16(%r3),%r19
124         ldi 1,%r26
125         ldi 2,%r25
126         copy %r19,%r24
127         .CALL ARGW0=NO,ARGW1=NO,ARGW2=NO,ARGW3=NO
128         bl g,%r2
129         nop
130         copy %r28,%r19
131         comiclr,<> 2,%r19,%r0
132         bl,n L$0006,%r0
133         .CALL ARGW0=NO,ARGW1=NO,ARGW2=NO,ARGW3=NO
134         bl abort,%r2
135         nop
136 L$0006:
137 L$0004:
138         ldw -20(%r3),%r2
139         ldo 64(%r3),%r30
140         ldwm -64(%r30),%r3
141         bv,n %r0(%r2)
142         .EXIT
143         .PROCEND
144         .IMPORT __main,CODE
145         .IMPORT exit,CODE
146         .align 4
147         .EXPORT main,CODE
148         .EXPORT main,ENTRY,PRIV_LEV=3,RTNVAL=GR
149 main:
150         .PROC
151         .CALLINFO FRAME=128,CALLS,SAVE_RP,SAVE_SP,ENTRY_GR=3
152         .ENTRY
153         stw %r2,-20(%r30)
154         copy %r3,%r1
155         copy %r30,%r3
156         stwm %r1,128(%r30)
157         .CALL ARGW0=NO,ARGW1=NO,ARGW2=NO,ARGW3=NO
158         bl __main,%r2
159         nop
160         .CALL ARGW0=NO,ARGW1=NO,ARGW2=NO,ARGW3=NO
161         bl f,%r2
162         nop
163         copy %r0,%r26
164         .CALL ARGW0=NO,ARGW1=NO,ARGW2=NO,ARGW3=NO
165         bl exit,%r2
166         nop
167 L$0007:
168         ldw -20(%r3),%r2
169         ldo 64(%r3),%r30
170         ldwm -64(%r30),%r3
171         bv,n %r0(%r2)
172         .EXIT
173         .PROCEND