Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/common/lib/libc/arch/arm/atomic Fetch value from correct sta...
details: https://anonhg.NetBSD.org/src/rev/3c797f25cb13
branches: trunk
changeset: 327290:3c797f25cb13
user: matt <matt%NetBSD.org@localhost>
date: Tue Mar 04 03:34:22 2014 +0000
description:
Fetch value from correct stack location. Push an even number of registers
so ldrd won't fail.
diffstat:
common/lib/libc/arch/arm/atomic/atomic_cas_64.S | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
diffs (31 lines):
diff -r d72c8ede0772 -r 3c797f25cb13 common/lib/libc/arch/arm/atomic/atomic_cas_64.S
--- a/common/lib/libc/arch/arm/atomic/atomic_cas_64.S Tue Mar 04 03:24:03 2014 +0000
+++ b/common/lib/libc/arch/arm/atomic/atomic_cas_64.S Tue Mar 04 03:34:22 2014 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: atomic_cas_64.S,v 1.5 2013/11/30 21:09:11 joerg Exp $ */
+/* $NetBSD: atomic_cas_64.S,v 1.6 2014/03/04 03:34:22 matt Exp $ */
/*-
* Copyright (c) 2012 The NetBSD Foundation, Inc.
* All rights reserved.
@@ -36,10 +36,10 @@
* and kernel.
*/
ENTRY_NP(_atomic_cas_64)
- push {r4, r5, r6} /* save temporaries */
+ push {r4-r7} /* save temporaries */
mov ip, r0 /* we need r0 for return value */
#ifdef __ARM_EABI__
- ldrd r4, r5, [sp] /* fetch new value */
+ ldrd r4, r5, [sp, #16] /* fetch new value */
#else
ldr r4, [sp, #0] /* fetch new value */
ldr r5, [sp, #4] /* fetch new value */
@@ -65,7 +65,7 @@
mcr p15, 0, ip, c7, c10, 4 /* data synchronization barrier */
#endif
2:
- pop {r4, r5, r6} /* restore temporaries */
+ pop {r4-r7} /* restore temporaries */
RET /* return. */
END(_atomic_cas_64)
Home |
Main Index |
Thread Index |
Old Index