diff options
author | Doug Evans <dje@gnu.org> | 1996-01-03 23:28:10 +0000 |
---|---|---|
committer | Doug Evans <dje@gnu.org> | 1996-01-03 23:28:10 +0000 |
commit | 6db757ba789d6780a82c8ea54a8232b48af555a5 (patch) | |
tree | 7b895b6ce961dfd0078e35807b9f878bef1d93f1 | |
parent | 18a686c082bf449f8709b05e365b92bc41572823 (diff) | |
download | gcc-6db757ba789d6780a82c8ea54a8232b48af555a5.zip gcc-6db757ba789d6780a82c8ea54a8232b48af555a5.tar.gz gcc-6db757ba789d6780a82c8ea54a8232b48af555a5.tar.bz2 |
lib1funcs.asm (__USER_LABEL_PREFIX__): Define if not already.
* arm/lib1funcs.asm (__USER_LABEL_PREFIX__): Define if not already.
(CONCAT1,CONCAT2,SYM): Define.
(__udivsi3,__divsi3,__umodsi3,__modsi3,__div0): Use SYM to define
global labels.
From-SVN: r10939
-rw-r--r-- | gcc/config/arm/lib1funcs.asm | 41 |
1 files changed, 27 insertions, 14 deletions
diff --git a/gcc/config/arm/lib1funcs.asm b/gcc/config/arm/lib1funcs.asm index 4057549..5490e25 100644 --- a/gcc/config/arm/lib1funcs.asm +++ b/gcc/config/arm/lib1funcs.asm @@ -275,6 +275,19 @@ Ldiv_zero: #define RETCOND #endif +#ifndef __USER_LABEL_PREFIX__ +#define __USER_LABEL_PREFIX__ _ +#endif + +/* ANSI concatenation macros. */ + +#define CONCAT1(a, b) CONCAT2(a, b) +#define CONCAT2(a, b) a ## b + +/* Use the right prefix for global labels. */ + +#define SYM(x) CONCAT1 (__USER_LABEL_PREFIX__, x) + #ifdef L_udivsi3 ip .req r12 @@ -282,9 +295,9 @@ sp .req r13 lr .req r14 pc .req r15 .text - .globl ___udivsi3 + .globl SYM (__udivsi3) .align 0 -___udivsi3: +SYM (__udivsi3): stmdb sp!, {r4, r5, lr} @ Ready to divide. Compute size of quotient; scale comparand. movs lr, r1 @@ -596,7 +609,7 @@ Lgot_result: Ldiv_zero: @ Divide by zero trap. If it returns, return 0 (about as @ wrong as possible, but that is what SunOS does...). - bl ___div0 + bl SYM (__div0) mov r0, #0 ldmia sp!, {r4, r5, pc}RETCOND @@ -609,9 +622,9 @@ sp .req r13 lr .req r14 pc .req r15 .text - .globl ___divsi3 + .globl SYM (__divsi3) .align 0 -___divsi3: +SYM (__divsi3): stmdb sp!, {r4, r5, r6, lr} @ compute sign of result; if neither is negative, no problem eor r6, r1, r0 @ compute sign @@ -930,7 +943,7 @@ Lgot_result: Ldiv_zero: @ Divide by zero trap. If it returns, return 0 (about as @ wrong as possible, but that is what SunOS does...). - bl ___div0 + bl SYM (__div0) mov r0, #0 ldmia sp!, {r4, r5, r6, pc}RETCOND @@ -943,9 +956,9 @@ sp .req r13 lr .req r14 pc .req r15 .text - .globl ___umodsi3 + .globl SYM (__umodsi3) .align 0 -___umodsi3: +SYM (__umodsi3): stmdb sp!, {r4, r5, lr} @ Ready to divide. Compute size of quotient; scale comparand. movs lr, r1 @@ -1257,7 +1270,7 @@ Lgot_result: Ldiv_zero: @ Divide by zero trap. If it returns, return 0 (about as @ wrong as possible, but that is what SunOS does...). - bl ___div0 + bl SYM (__div0) mov r0, #0 ldmia sp!, {r4, r5, pc}RETCOND @@ -1270,9 +1283,9 @@ sp .req r13 lr .req r14 pc .req r15 .text - .globl ___modsi3 + .globl SYM (__modsi3) .align 0 -___modsi3: +SYM (__modsi3): stmdb sp!, {r4, r5, r6, lr} @ compute sign of result; if neither is negative, no problem mov r6, r0 @@ -1591,7 +1604,7 @@ Lgot_result: Ldiv_zero: @ Divide by zero trap. If it returns, return 0 (about as @ wrong as possible, but that is what SunOS does...). - bl ___div0 + bl SYM (__div0) mov r0, #0 ldmia sp!, {r4, r5, r6, pc}RETCOND @@ -1599,9 +1612,9 @@ Ldiv_zero: #ifdef L_dvmd_tls - .globl ___div0 + .globl SYM (__div0) .align 0 -___div0: +SYM (__div0): RET pc, lr #endif /* L_divmodsi_tools */ |