From owner-svn-src-head@FreeBSD.ORG Sun Aug 31 17:21:56 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 4E2F869B; Sun, 31 Aug 2014 17:21:56 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2D8B71F60; Sun, 31 Aug 2014 17:21:56 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id s7VHLuFB058896; Sun, 31 Aug 2014 17:21:56 GMT (envelope-from ian@FreeBSD.org) Received: (from ian@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id s7VHLpTu058657; Sun, 31 Aug 2014 17:21:51 GMT (envelope-from ian@FreeBSD.org) Message-Id: <201408311721.s7VHLpTu058657@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: ian set sender to ian@FreeBSD.org using -f From: Ian Lepore Date: Sun, 31 Aug 2014 17:21:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r270882 - in head/lib/libc/arm: gen string sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 31 Aug 2014 17:21:56 -0000 Author: ian Date: Sun Aug 31 17:21:51 2014 New Revision: 270882 URL: http://svnweb.freebsd.org/changeset/base/270882 Log: 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 Modified: head/lib/libc/arm/gen/__aeabi_read_tp.S head/lib/libc/arm/gen/_ctx_start.S head/lib/libc/arm/gen/_setjmp.S head/lib/libc/arm/gen/alloca.S head/lib/libc/arm/gen/divsi3.S head/lib/libc/arm/gen/setjmp.S head/lib/libc/arm/gen/sigsetjmp.S head/lib/libc/arm/string/ffs.S head/lib/libc/arm/string/memcmp.S head/lib/libc/arm/string/memcpy_arm.S head/lib/libc/arm/string/memcpy_xscale.S head/lib/libc/arm/string/memmove.S head/lib/libc/arm/string/memset.S head/lib/libc/arm/string/strcmp.S head/lib/libc/arm/string/strlen.S head/lib/libc/arm/string/strncmp.S head/lib/libc/arm/sys/Ovfork.S head/lib/libc/arm/sys/brk.S head/lib/libc/arm/sys/cerror.S head/lib/libc/arm/sys/pipe.S head/lib/libc/arm/sys/ptrace.S head/lib/libc/arm/sys/sbrk.S Modified: head/lib/libc/arm/gen/__aeabi_read_tp.S ============================================================================== --- head/lib/libc/arm/gen/__aeabi_read_tp.S Sun Aug 31 16:37:41 2014 (r270881) +++ head/lib/libc/arm/gen/__aeabi_read_tp.S Sun Aug 31 17:21:51 2014 (r270882) @@ -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: Modified: head/lib/libc/arm/gen/_ctx_start.S ============================================================================== --- head/lib/libc/arm/gen/_ctx_start.S Sun Aug 31 16:37:41 2014 (r270881) +++ head/lib/libc/arm/gen/_ctx_start.S Sun Aug 31 17:21:51 2014 (r270882) @@ -7,3 +7,4 @@ ENTRY(_ctx_start) mov r0, r5 bl _C_LABEL(ctx_done) bl _C_LABEL(abort) +END(_ctx_start) Modified: head/lib/libc/arm/gen/_setjmp.S ============================================================================== --- head/lib/libc/arm/gen/_setjmp.S Sun Aug 31 16:37:41 2014 (r270881) +++ head/lib/libc/arm/gen/_setjmp.S Sun Aug 31 17:21:51 2014 (r270882) @@ -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) Modified: head/lib/libc/arm/gen/alloca.S ============================================================================== --- head/lib/libc/arm/gen/alloca.S Sun Aug 31 16:37:41 2014 (r270881) +++ head/lib/libc/arm/gen/alloca.S Sun Aug 31 17:21:51 2014 (r270882) @@ -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) Modified: head/lib/libc/arm/gen/divsi3.S ============================================================================== --- head/lib/libc/arm/gen/divsi3.S Sun Aug 31 16:37:41 2014 (r270881) +++ head/lib/libc/arm/gen/divsi3.S Sun Aug 31 17:21:51 2014 (r270882) @@ -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) Modified: head/lib/libc/arm/gen/setjmp.S ============================================================================== --- head/lib/libc/arm/gen/setjmp.S Sun Aug 31 16:37:41 2014 (r270881) +++ head/lib/libc/arm/gen/setjmp.S Sun Aug 31 17:21:51 2014 (r270882) @@ -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) Modified: head/lib/libc/arm/gen/sigsetjmp.S ============================================================================== --- head/lib/libc/arm/gen/sigsetjmp.S Sun Aug 31 16:37:41 2014 (r270881) +++ head/lib/libc/arm/gen/sigsetjmp.S Sun Aug 31 17:21:51 2014 (r270882) @@ -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) Modified: head/lib/libc/arm/string/ffs.S ============================================================================== --- head/lib/libc/arm/string/ffs.S Sun Aug 31 16:37:41 2014 (r270881) +++ head/lib/libc/arm/string/ffs.S Sun Aug 31 17:21:51 2014 (r270882) @@ -80,3 +80,4 @@ ENTRY(ffs) rsbne r0, r0, #32 RET #endif +END(ffs) Modified: head/lib/libc/arm/string/memcmp.S ============================================================================== --- head/lib/libc/arm/string/memcmp.S Sun Aug 31 16:37:41 2014 (r270881) +++ head/lib/libc/arm/string/memcmp.S Sun Aug 31 17:21:51 2014 (r270882) @@ -178,3 +178,4 @@ ENTRY(memcmp) sub r0, r3, r2 /* r0 = b1#5 - b2#5 */ RET #endif +END(memcmp) Modified: head/lib/libc/arm/string/memcpy_arm.S ============================================================================== --- head/lib/libc/arm/string/memcpy_arm.S Sun Aug 31 16:37:41 2014 (r270881) +++ head/lib/libc/arm/string/memcpy_arm.S Sun Aug 31 17:21:51 2014 (r270882) @@ -330,3 +330,4 @@ ENTRY(memcpy) .Lmemcpy_srcul3l4: sub r1, r1, #1 b .Lmemcpy_l4 +END(memcpy) Modified: head/lib/libc/arm/string/memcpy_xscale.S ============================================================================== --- head/lib/libc/arm/string/memcpy_xscale.S Sun Aug 31 16:37:41 2014 (r270881) +++ head/lib/libc/arm/string/memcpy_xscale.S Sun Aug 31 17:21:51 2014 (r270882) @@ -1781,3 +1781,4 @@ ENTRY(memcpy) strb r1, [r0, #0x0b] bx lr #endif /* !_STANDALONE */ +END(memcpy) Modified: head/lib/libc/arm/string/memmove.S ============================================================================== --- head/lib/libc/arm/string/memmove.S Sun Aug 31 16:37:41 2014 (r270881) +++ head/lib/libc/arm/string/memmove.S Sun Aug 31 17:21:51 2014 (r270882) @@ -580,3 +580,8 @@ ENTRY(bcopy) .Lmemmove_bsrcul1l4: add r1, r1, #1 b .Lmemmove_bl4 +#ifndef _BCOPY +END(memmove) +#else +END(bcopy) +#endif Modified: head/lib/libc/arm/string/memset.S ============================================================================== --- head/lib/libc/arm/string/memset.S Sun Aug 31 16:37:41 2014 (r270881) +++ head/lib/libc/arm/string/memset.S Sun Aug 31 17:21:51 2014 (r270882) @@ -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 Modified: head/lib/libc/arm/string/strcmp.S ============================================================================== --- head/lib/libc/arm/string/strcmp.S Sun Aug 31 16:37:41 2014 (r270881) +++ head/lib/libc/arm/string/strcmp.S Sun Aug 31 17:21:51 2014 (r270882) @@ -41,3 +41,4 @@ ENTRY(strcmp) beq 1b sub r0, r2, r3 RET +END(strcmp) Modified: head/lib/libc/arm/string/strlen.S ============================================================================== --- head/lib/libc/arm/string/strlen.S Sun Aug 31 16:37:41 2014 (r270881) +++ head/lib/libc/arm/string/strlen.S Sun Aug 31 17:21:51 2014 (r270882) @@ -76,3 +76,4 @@ ENTRY(strlen) .Lexit: mov r0, r1 RET +END(strlen) Modified: head/lib/libc/arm/string/strncmp.S ============================================================================== --- head/lib/libc/arm/string/strncmp.S Sun Aug 31 16:37:41 2014 (r270881) +++ head/lib/libc/arm/string/strncmp.S Sun Aug 31 17:21:51 2014 (r270882) @@ -52,3 +52,4 @@ ENTRY(strncmp) beq 1b sub r0, r2, r3 RET +END(strncmp) Modified: head/lib/libc/arm/sys/Ovfork.S ============================================================================== --- head/lib/libc/arm/sys/Ovfork.S Sun Aug 31 16:37:41 2014 (r270881) +++ head/lib/libc/arm/sys/Ovfork.S Sun Aug 31 17:21:51 2014 (r270882) @@ -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) Modified: head/lib/libc/arm/sys/brk.S ============================================================================== --- head/lib/libc/arm/sys/brk.S Sun Aug 31 16:37:41 2014 (r270881) +++ head/lib/libc/arm/sys/brk.S Sun Aug 31 17:21:51 2014 (r270882) @@ -98,3 +98,4 @@ ENTRY(_brk) .word PIC_SYM(_C_LABEL(minbrk), GOT) .Lcurbrk: .word PIC_SYM(CURBRK, GOT) +END(_brk) Modified: head/lib/libc/arm/sys/cerror.S ============================================================================== --- head/lib/libc/arm/sys/cerror.S Sun Aug 31 16:37:41 2014 (r270881) +++ head/lib/libc/arm/sys/cerror.S Sun Aug 31 17:21:51 2014 (r270882) @@ -46,3 +46,4 @@ ASENTRY(CERROR) mvn r0, #0x00000000 mvn r1, #0x00000000 ldmfd sp!, {r4, pc} +END(CERROR) Modified: head/lib/libc/arm/sys/pipe.S ============================================================================== --- head/lib/libc/arm/sys/pipe.S Sun Aug 31 16:37:41 2014 (r270881) +++ head/lib/libc/arm/sys/pipe.S Sun Aug 31 17:21:51 2014 (r270882) @@ -48,3 +48,4 @@ ENTRY(_pipe) str r1, [r2, #0x0004] mov r0, #0x00000000 RET +END(_pipe) Modified: head/lib/libc/arm/sys/ptrace.S ============================================================================== --- head/lib/libc/arm/sys/ptrace.S Sun Aug 31 16:37:41 2014 (r270881) +++ head/lib/libc/arm/sys/ptrace.S Sun Aug 31 17:21:51 2014 (r270882) @@ -46,3 +46,4 @@ ENTRY(ptrace) SYSTRAP(ptrace) bcs PIC_SYM(CERROR, PLT) RET +END(ptrace) Modified: head/lib/libc/arm/sys/sbrk.S ============================================================================== --- head/lib/libc/arm/sys/sbrk.S Sun Aug 31 16:37:41 2014 (r270881) +++ head/lib/libc/arm/sys/sbrk.S Sun Aug 31 17:21:51 2014 (r270882) @@ -86,3 +86,4 @@ ENTRY(_sbrk) #endif .Lcurbrk: .word PIC_SYM(CURBRK, GOT) +END(_sbrk)