| @@ -193,39 +193,39 @@ see the files COPYING3 and COPYING.RUNTI | | | @@ -193,39 +193,39 @@ see the files COPYING3 and COPYING.RUNTI |
193 | .endm | | 193 | .endm |
194 | | | 194 | |
195 | .macro PICPEA sym, areg | | 195 | .macro PICPEA sym, areg |
196 | movel #_GLOBAL_OFFSET_TABLE_@GOTPC, \areg | | 196 | movel #_GLOBAL_OFFSET_TABLE_@GOTPC, \areg |
197 | lea (-6, pc, \areg), \areg | | 197 | lea (-6, pc, \areg), \areg |
198 | movel \sym@GOT(\areg), sp@- | | 198 | movel \sym@GOT(\areg), sp@- |
199 | .endm | | 199 | .endm |
200 | | | 200 | |
201 | .macro PICCALL addr | | 201 | .macro PICCALL addr |
202 | #if defined (__mcoldfire__) && !defined (__mcfisab__) && !defined (__mcfisac__) | | 202 | #if defined (__mcoldfire__) && !defined (__mcfisab__) && !defined (__mcfisac__) |
203 | lea \addr-.-8,a0 | | 203 | lea \addr-.-8,a0 |
204 | jsr pc@(a0) | | 204 | jsr pc@(a0) |
205 | #else | | 205 | #else |
206 | jbsr \addr | | 206 | jbsr \addr@PLTPC |
207 | #endif | | 207 | #endif |
208 | .endm | | 208 | .endm |
209 | | | 209 | |
210 | .macro PICJUMP addr | | 210 | .macro PICJUMP addr |
211 | /* ISA C has no bra.l instruction, and since this assembly file | | 211 | /* ISA C has no bra.l instruction, and since this assembly file |
212 | gets assembled into multiple object files, we avoid the | | 212 | gets assembled into multiple object files, we avoid the |
213 | bra instruction entirely. */ | | 213 | bra instruction entirely. */ |
214 | #if defined (__mcoldfire__) && !defined (__mcfisab__) | | 214 | #if defined (__mcoldfire__) && !defined (__mcfisab__) |
215 | lea \addr-.-8,a0 | | 215 | lea \addr-.-8,a0 |
216 | jmp pc@(a0) | | 216 | jmp pc@(a0) |
217 | #else | | 217 | #else |
218 | bra \addr | | 218 | bra \addr@PLTPC |
219 | #endif | | 219 | #endif |
220 | .endm | | 220 | .endm |
221 | | | 221 | |
222 | # endif | | 222 | # endif |
223 | #endif /* __PIC__ */ | | 223 | #endif /* __PIC__ */ |
224 | | | 224 | |
225 | | | 225 | |
226 | #ifdef L_floatex | | 226 | #ifdef L_floatex |
227 | | | 227 | |
228 | | This is an attempt at a decent floating point (single, double and | | 228 | | This is an attempt at a decent floating point (single, double and |
229 | | extended double) code for the GNU C compiler. It should be easy to | | 229 | | extended double) code for the GNU C compiler. It should be easy to |
230 | | adapt to other compilers (but beware of the local labels!). | | 230 | | adapt to other compilers (but beware of the local labels!). |
231 | | | 231 | |