Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/netbsd-6]: src/lib/libc/arch/arm/sys Pull up following revision(s) (requ...



details:   https://anonhg.NetBSD.org/src/rev/253d231e9706
branches:  netbsd-6
changeset: 775510:253d231e9706
user:      riz <riz%NetBSD.org@localhost>
date:      Sat Nov 24 04:23:27 2012 +0000

description:
Pull up following revision(s) (requested by matt in ticket #701):
        lib/libc/arch/arm/sys/__aeabi_read_tp.S: revision 1.3
Add $NetBSD$ tag.  Use ip to save r1 instead of the stack.

diffstat:

 lib/libc/arch/arm/sys/__aeabi_read_tp.S |  15 +++++++++++----
 1 files changed, 11 insertions(+), 4 deletions(-)

diffs (28 lines):

diff -r 3b63f9a451a9 -r 253d231e9706 lib/libc/arch/arm/sys/__aeabi_read_tp.S
--- a/lib/libc/arch/arm/sys/__aeabi_read_tp.S   Sat Nov 24 04:02:00 2012 +0000
+++ b/lib/libc/arch/arm/sys/__aeabi_read_tp.S   Sat Nov 24 04:23:27 2012 +0000
@@ -1,13 +1,20 @@
+/* $NetBSD: __aeabi_read_tp.S,v 1.2.2.1 2012/11/24 04:23:27 riz Exp $ */
+
 #include "SYS.h"
 
+/*
+ * Implementations of this function should corrupt only the result register
+ * (r0) and the non-parameter integer core registers allowed to be corrupted
+ * by the [AAPCS] (ip, lr, and CPSR).
+ */
 ENTRY(__aeabi_read_tp)
-       mrc p15, 0, r0, c13, c0, 3
+       mrc     p15, 0, r0, c13, c0, 3
 #ifndef _ARM_ARCH_6
-       cmp r0, #0                      /* was it zero? */
+       cmp     r0, #0                  /* was it zero? */
        RETc(ne)                        /* return it's not zero */
-       push {r1}                       /* syscall zeroes r1 */
+       mov     ip, r1                  /* syscall zeroes r1 */
        SYSTRAP(_lwp_getprivate)        /* can't fail */
-       pop {r1}                        /* restore r1 */
+       mov     r1, ip                  /* restore r1 */
 #endif
        RET
 _END(__aeabi_read_tp)



Home | Main Index | Thread Index | Old Index