In ARM asm code, ensure that every ENTRY(foo) has a matching END(foo).
The EABI unwind info requires a .fnend for every .fnstart, and newer binutils will complain about seeing two .fnstart in a row. This change allows newer tools to compile our code. Reported by: bapt Reviewed by: imp
This commit is contained in:
parent
93844d3203
commit
f2e71517e0
@ -38,6 +38,7 @@ ENTRY(__aeabi_read_tp)
|
||||
mrc p15, 0, r0, c13, c0, 3
|
||||
#endif
|
||||
RET
|
||||
END(__aeabi_read_tp)
|
||||
|
||||
#ifdef ARM_TP_ADDRESS
|
||||
.Larm_tp_address:
|
||||
|
@ -7,3 +7,4 @@ ENTRY(_ctx_start)
|
||||
mov r0, r5
|
||||
bl _C_LABEL(ctx_done)
|
||||
bl _C_LABEL(abort)
|
||||
END(_ctx_start)
|
||||
|
@ -89,6 +89,7 @@ ENTRY(_setjmp)
|
||||
|
||||
mov r0, #0x00000000
|
||||
RET
|
||||
END(_setjmp)
|
||||
|
||||
.L_setjmp_magic:
|
||||
.word _JB_MAGIC__SETJMP
|
||||
@ -140,3 +141,4 @@ botch:
|
||||
#else
|
||||
b .
|
||||
#endif
|
||||
END(_longjmp)
|
||||
|
@ -43,3 +43,4 @@ ENTRY(alloca)
|
||||
sub sp, sp, r0 /* Adjust the stack pointer */
|
||||
mov r0, sp /* r0 = base of new space */
|
||||
RET
|
||||
END(alloca)
|
||||
|
@ -29,6 +29,7 @@ ENTRY(__umodsi3)
|
||||
add sp, sp, #4 /* unalign stack */
|
||||
mov r0, r1
|
||||
ldmfd sp!, {pc}
|
||||
END(__umodsi3)
|
||||
|
||||
ENTRY(__modsi3)
|
||||
stmfd sp!, {lr}
|
||||
@ -48,6 +49,7 @@ ENTRY(__modsi3)
|
||||
mvn r0, #0
|
||||
#endif
|
||||
RET
|
||||
END(__modsi3)
|
||||
|
||||
ENTRY(__udivsi3)
|
||||
.L_udivide: /* r0 = r0 / r1; r1 = r0 % r1 */
|
||||
@ -70,6 +72,7 @@ ENTRY(__udivsi3)
|
||||
mov r0, r1
|
||||
mov r1, #0
|
||||
RET
|
||||
END(__udivsi3)
|
||||
|
||||
ENTRY(__divsi3)
|
||||
.L_divide: /* r0 = r0 / r1; r1 = r0 % r1 */
|
||||
@ -385,3 +388,4 @@ ENTRY(__divsi3)
|
||||
addhs r3, r3, r2
|
||||
mov r0, r3
|
||||
RET
|
||||
END(__divsi3)
|
||||
|
@ -101,7 +101,7 @@ ENTRY(setjmp)
|
||||
.Lfpu_present:
|
||||
.word PIC_SYM(_libc_arm_fpu_present, GOTOFF)
|
||||
#endif /* __ARM_EABI__ */
|
||||
|
||||
END(setjmp)
|
||||
|
||||
.weak _C_LABEL(longjmp)
|
||||
.set _C_LABEL(longjmp), _C_LABEL(__longjmp)
|
||||
@ -150,3 +150,4 @@ ENTRY(__longjmp)
|
||||
bl PIC_SYM(_C_LABEL(longjmperror), PLT)
|
||||
bl PIC_SYM(_C_LABEL(abort), PLT)
|
||||
b . - 8 /* Cannot get here */
|
||||
END(__longjmp)
|
||||
|
@ -51,6 +51,7 @@ ENTRY(sigsetjmp)
|
||||
teq r1, #0
|
||||
beq PIC_SYM(_C_LABEL(_setjmp), PLT)
|
||||
b PIC_SYM(_C_LABEL(setjmp), PLT)
|
||||
END(sigsetjmp)
|
||||
|
||||
.L_setjmp_magic:
|
||||
.word _JB_MAGIC__SETJMP
|
||||
@ -64,3 +65,4 @@ ENTRY(siglongjmp)
|
||||
teq r2, r3 /* magic correct? */
|
||||
beq PIC_SYM(_C_LABEL(_longjmp), PLT)
|
||||
b PIC_SYM(_C_LABEL(longjmp), PLT)
|
||||
END(siglongjmp)
|
||||
|
@ -80,3 +80,4 @@ ENTRY(ffs)
|
||||
rsbne r0, r0, #32
|
||||
RET
|
||||
#endif
|
||||
END(ffs)
|
||||
|
@ -178,3 +178,4 @@ ENTRY(memcmp)
|
||||
sub r0, r3, r2 /* r0 = b1#5 - b2#5 */
|
||||
RET
|
||||
#endif
|
||||
END(memcmp)
|
||||
|
@ -330,3 +330,4 @@ ENTRY(memcpy)
|
||||
.Lmemcpy_srcul3l4:
|
||||
sub r1, r1, #1
|
||||
b .Lmemcpy_l4
|
||||
END(memcpy)
|
||||
|
@ -1781,3 +1781,4 @@ ENTRY(memcpy)
|
||||
strb r1, [r0, #0x0b]
|
||||
bx lr
|
||||
#endif /* !_STANDALONE */
|
||||
END(memcpy)
|
||||
|
@ -580,3 +580,8 @@ ENTRY(bcopy)
|
||||
.Lmemmove_bsrcul1l4:
|
||||
add r1, r1, #1
|
||||
b .Lmemmove_bl4
|
||||
#ifndef _BCOPY
|
||||
END(memmove)
|
||||
#else
|
||||
END(bcopy)
|
||||
#endif
|
||||
|
@ -234,3 +234,8 @@ ENTRY(memset)
|
||||
strgeb r3, [ip], #0x01 /* Set another byte */
|
||||
strgtb r3, [ip] /* and a third */
|
||||
RET /* Exit */
|
||||
#ifdef _BZERO
|
||||
END(bzero)
|
||||
#else
|
||||
END(memset)
|
||||
#endif
|
||||
|
@ -41,3 +41,4 @@ ENTRY(strcmp)
|
||||
beq 1b
|
||||
sub r0, r2, r3
|
||||
RET
|
||||
END(strcmp)
|
||||
|
@ -76,3 +76,4 @@ ENTRY(strlen)
|
||||
.Lexit:
|
||||
mov r0, r1
|
||||
RET
|
||||
END(strlen)
|
||||
|
@ -52,3 +52,4 @@ ENTRY(strncmp)
|
||||
beq 1b
|
||||
sub r0, r2, r3
|
||||
RET
|
||||
END(strncmp)
|
||||
|
@ -52,3 +52,4 @@ ENTRY(vfork)
|
||||
sub r1, r1, #1 /* r1 == 0xffffffff if parent, 0 if child */
|
||||
and r0, r0, r1 /* r0 == 0 if child, else unchanged */
|
||||
mov r15, r2
|
||||
END(vfork)
|
||||
|
@ -98,3 +98,4 @@ ENTRY(_brk)
|
||||
.word PIC_SYM(_C_LABEL(minbrk), GOT)
|
||||
.Lcurbrk:
|
||||
.word PIC_SYM(CURBRK, GOT)
|
||||
END(_brk)
|
||||
|
@ -46,3 +46,4 @@ ASENTRY(CERROR)
|
||||
mvn r0, #0x00000000
|
||||
mvn r1, #0x00000000
|
||||
ldmfd sp!, {r4, pc}
|
||||
END(CERROR)
|
||||
|
@ -48,3 +48,4 @@ ENTRY(_pipe)
|
||||
str r1, [r2, #0x0004]
|
||||
mov r0, #0x00000000
|
||||
RET
|
||||
END(_pipe)
|
||||
|
@ -46,3 +46,4 @@ ENTRY(ptrace)
|
||||
SYSTRAP(ptrace)
|
||||
bcs PIC_SYM(CERROR, PLT)
|
||||
RET
|
||||
END(ptrace)
|
||||
|
@ -86,3 +86,4 @@ ENTRY(_sbrk)
|
||||
#endif
|
||||
.Lcurbrk:
|
||||
.word PIC_SYM(CURBRK, GOT)
|
||||
END(_sbrk)
|
||||
|
Loading…
Reference in New Issue
Block a user