Mon Sep 9 00:34:10 2013 UTC ()
s/__libc/_libc/


(matt)
diff -r1.10 -r1.11 src/common/lib/libc/arch/arm/gen/divsi3.S
diff -r1.6 -r1.7 src/common/lib/libc/arch/arm/gen/udivsi3.S

cvs diff -r1.10 -r1.11 src/common/lib/libc/arch/arm/gen/Attic/divsi3.S (expand / switch to unified diff)

--- src/common/lib/libc/arch/arm/gen/Attic/divsi3.S 2013/09/08 13:24:16 1.10
+++ src/common/lib/libc/arch/arm/gen/Attic/divsi3.S 2013/09/09 00:34:10 1.11
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1/* $NetBSD: divsi3.S,v 1.10 2013/09/08 13:24:16 matt Exp $ */ 1/* $NetBSD: divsi3.S,v 1.11 2013/09/09 00:34:10 matt Exp $ */
2 2
3/* 3/*
4 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 4 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
5 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 5 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
6 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 6 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
7 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 7 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
8 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 8 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
9 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 9 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
10 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 10 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
11 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 11 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
12 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 12 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
13 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 13 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
14 * SUCH DAMAGE. 14 * SUCH DAMAGE.
@@ -22,53 +22,53 @@ ARM_ENTRY(__divsi3) @@ -22,53 +22,53 @@ ARM_ENTRY(__divsi3)
22ENTRY(__divsi3) 22ENTRY(__divsi3)
23#endif 23#endif
24#if defined(__ARM_ARCH_EXT_IDIV__) 24#if defined(__ARM_ARCH_EXT_IDIV__)
25# if defined(__ARM_EABI__) 25# if defined(__ARM_EABI__)
26 mov r3, r0 @ save for mls 26 mov r3, r0 @ save for mls
27# endif 27# endif
28 sdiv r0, r0, r1 28 sdiv r0, r0, r1
29# if defined(__ARM_EABI__) 29# if defined(__ARM_EABI__)
30 mls r1, r0, r1, r3 @ return modulus in r1 30 mls r1, r0, r1, r3 @ return modulus in r1
31# endif 31# endif
32 RET 32 RET
33#elif defined(__ARM_EABI__) && defined(_LIBC) 33#elif defined(__ARM_EABI__) && defined(_LIBC)
34#ifdef _ARM_ARCH_7 34#ifdef _ARM_ARCH_7
35 movw r2, #:lower16:REL_SYM(__libc_arm_hwdiv_present, .LPIC0) 35 movw r2, #:lower16:REL_SYM(_libc_arm_hwdiv_present, .LPIC0)
36 movt r2, #:upper16:REL_SYM(__libc_arm_hwdiv_present, .LPIC0) 36 movt r2, #:upper16:REL_SYM(_libc_arm_hwdiv_present, .LPIC0)
37#else 37#else
38 ldr r2, .Lhwdiv_present 38 ldr r2, .Lhwdiv_present
39#endif 39#endif
40# ifdef PIC 40# ifdef PIC
41 add r2, r2, pc 41 add r2, r2, pc
42# endif 42# endif
43 ldr r2, [r2] 43 ldr r2, [r2]
44.LPIC0: cmp r2, #0 44.LPIC0: cmp r2, #0
45 beq __divide 45 beq __divide
46 mov r3, r0 46 mov r3, r0
47#if defined(__ARM_ARCH_EXT_IDIV__) 47#if defined(__ARM_ARCH_EXT_IDIV__)
48 sdiv r0, r0, r1 48 sdiv r0, r0, r1
49 mls r1, r0, r1, r3 /* return modulus in r1 */ 49 mls r1, r0, r1, r3 /* return modulus in r1 */
50#elif defined(__thumb__) && defined(_ARM_ARCH_T2) 50#elif defined(__thumb__) && defined(_ARM_ARCH_T2)
51 .inst.w 0xfb90f0f1 51 .inst.w 0xfb90f0f1
52 .inst.w 0xfb003111 52 .inst.w 0xfb003111
53#else 53#else
54 .inst 0xe710f110 54 .inst 0xe710f110
55 .inst 0xe0613190 55 .inst 0xe0613190
56#endif 56#endif
57 RET 57 RET
58#ifndef _ARM_ARCH_7 58#ifndef _ARM_ARCH_7
59 .align 0 59 .align 0
60.Lhwdiv_present: 60.Lhwdiv_present:
61 .word REL_SYM(__libc_arm_hwdiv_present, .LPIC0) 61 .word REL_SYM(_libc_arm_hwdiv_present, .LPIC0)
62#endif 62#endif
63#else /* !__ARM_EABI__ */ 63#else /* !__ARM_EABI__ */
64 b __divide 64 b __divide
65#endif 65#endif
66END(__divsi3) 66END(__divsi3)
67 67
68#if defined(__ARM_EABI__) 68#if defined(__ARM_EABI__)
69STRONG_ALIAS(__aeabi_idivmod, __divsi3) 69STRONG_ALIAS(__aeabi_idivmod, __divsi3)
70STRONG_ALIAS(__aeabi_idiv, __divsi3) 70STRONG_ALIAS(__aeabi_idiv, __divsi3)
71#if defined(PIC_SYMVER) 71#if defined(PIC_SYMVER)
72 .symver __aeabi_idiv,__aeabi_idiv@@GCC_3.5 72 .symver __aeabi_idiv,__aeabi_idiv@@GCC_3.5
73 .symver __aeabi_idivmod,__aeabi_idivmod@@GCC_3.5 73 .symver __aeabi_idivmod,__aeabi_idivmod@@GCC_3.5
74#endif 74#endif

cvs diff -r1.6 -r1.7 src/common/lib/libc/arch/arm/gen/Attic/udivsi3.S (expand / switch to unified diff)

--- src/common/lib/libc/arch/arm/gen/Attic/udivsi3.S 2013/09/08 13:24:16 1.6
+++ src/common/lib/libc/arch/arm/gen/Attic/udivsi3.S 2013/09/09 00:34:10 1.7
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1/* $NetBSD: udivsi3.S,v 1.6 2013/09/08 13:24:16 matt Exp $ */ 1/* $NetBSD: udivsi3.S,v 1.7 2013/09/09 00:34:10 matt Exp $ */
2 2
3/* 3/*
4 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 4 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
5 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 5 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
6 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 6 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
7 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 7 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
8 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 8 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
9 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 9 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
10 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 10 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
11 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 11 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
12 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 12 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
13 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 13 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
14 * SUCH DAMAGE. 14 * SUCH DAMAGE.
@@ -22,50 +22,50 @@ ARM_ENTRY(__udivsi3) @@ -22,50 +22,50 @@ ARM_ENTRY(__udivsi3)
22ENTRY(__udivsi3) 22ENTRY(__udivsi3)
23#endif 23#endif
24#if defined(__ARM_ARCH_EXT_IDIV__) 24#if defined(__ARM_ARCH_EXT_IDIV__)
25# if defined(__ARM_EABI__) 25# if defined(__ARM_EABI__)
26 mov r3, r0 @ save for mls 26 mov r3, r0 @ save for mls
27# endif 27# endif
28 udiv r0, r0, r1 28 udiv r0, r0, r1
29# if defined(__ARM_EABI__) 29# if defined(__ARM_EABI__)
30 mls r1, r0, r1, r3 @ return modulus in r1 30 mls r1, r0, r1, r3 @ return modulus in r1
31# endif 31# endif
32 RET 32 RET
33#elif defined(__ARM_EABI__) && defined(_LIBC) 33#elif defined(__ARM_EABI__) && defined(_LIBC)
34#ifdef _ARM_ARCH_7 34#ifdef _ARM_ARCH_7
35 movw r2, #:lower16:REL_SYM(__libc_arm_hwdiv_present, .LPIC0) 35 movw r2, #:lower16:REL_SYM(_libc_arm_hwdiv_present, .LPIC0)
36 movt r2, #:upper16:REL_SYM(__libc_arm_hwdiv_present, .LPIC0) 36 movt r2, #:upper16:REL_SYM(_libc_arm_hwdiv_present, .LPIC0)
37#else 37#else
38 ldr r2, .Lhwdiv_present 38 ldr r2, .Lhwdiv_present
39#endif 39#endif
40#ifdef PIC 40#ifdef PIC
41 add r2, r2, pc 41 add r2, r2, pc
42#endif 42#endif
43 ldr r2, [r2] 43 ldr r2, [r2]
44.LPIC0: cmp r2, #0 44.LPIC0: cmp r2, #0
45 beq __udivide 45 beq __udivide
46 mov r3, r0 46 mov r3, r0
47#if defined(__ARM_ARCH_EXT_IDIV__) 47#if defined(__ARM_ARCH_EXT_IDIV__)
48 udiv r0, r0, r1 48 udiv r0, r0, r1
49 mls r1, r0, r1, r3 /* return modulus in r1 */ 49 mls r1, r0, r1, r3 /* return modulus in r1 */
50#elif defined(__thumb__) && defined(_ARM_ARCH_T2) 50#elif defined(__thumb__) && defined(_ARM_ARCH_T2)
51 .inst.w 0xfbb0f0f1 51 .inst.w 0xfbb0f0f1
52 .inst.w 0xfb003111 52 .inst.w 0xfb003111
53#else 53#else
54 .inst 0xe730f110 54 .inst 0xe730f110
55 .inst 0xe0613190 55 .inst 0xe0613190
56#endif 56#endif
57 RET 57 RET
58#ifndef _ARM_ARCH_7 58#ifndef _ARM_ARCH_7
59 .align 0 59 .align 0
60.Lhwdiv_present: 60.Lhwdiv_present:
61 .word REL_SYM(__libc_arm_hwdiv_present, .LPIC0) 61 .word REL_SYM(_libc_arm_hwdiv_present, .LPIC0)
62#endif 62#endif
63#else 63#else
64 b __udivide 64 b __udivide
65#endif 65#endif
66END(__udivsi3) 66END(__udivsi3)
67 67
68#ifdef __ARM_EABI__ 68#ifdef __ARM_EABI__
69STRONG_ALIAS(__aeabi_uidivmod, __udivsi3) 69STRONG_ALIAS(__aeabi_uidivmod, __udivsi3)
70STRONG_ALIAS(__aeabi_uidiv, __udivsi3) 70STRONG_ALIAS(__aeabi_uidiv, __udivsi3)
71#endif 71#endif