Module Name:    src
Committed By:   matt
Date:           Tue Aug 20 07:52:31 UTC 2013

Modified Files:
        src/common/lib/libc/arch/arm/atomic: atomic_add_64.S atomic_and_64.S
            atomic_or_64.S atomic_swap_64.S

Log Message:
Push two registers to keep stack aligned.


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 src/common/lib/libc/arch/arm/atomic/atomic_add_64.S
cvs rdiff -u -r1.6 -r1.7 src/common/lib/libc/arch/arm/atomic/atomic_and_64.S \
    src/common/lib/libc/arch/arm/atomic/atomic_or_64.S
cvs rdiff -u -r1.4 -r1.5 src/common/lib/libc/arch/arm/atomic/atomic_swap_64.S

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/common/lib/libc/arch/arm/atomic/atomic_add_64.S
diff -u src/common/lib/libc/arch/arm/atomic/atomic_add_64.S:1.7 src/common/lib/libc/arch/arm/atomic/atomic_add_64.S:1.8
--- src/common/lib/libc/arch/arm/atomic/atomic_add_64.S:1.7	Sun Aug 11 04:41:17 2013
+++ src/common/lib/libc/arch/arm/atomic/atomic_add_64.S	Tue Aug 20 07:52:31 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: atomic_add_64.S,v 1.7 2013/08/11 04:41:17 matt Exp $	*/
+/*	$NetBSD: atomic_add_64.S,v 1.8 2013/08/20 07:52:31 matt Exp $	*/
 /*-
  * Copyright (c) 2012 The NetBSD Foundation, Inc.
  * All rights reserved.
@@ -33,7 +33,7 @@
 #ifdef _ARM_ARCH_6
 
 ENTRY_NP(_atomic_add_64_nv)
-	push	{r4}			/* save temporary */
+	push	{r3,r4}			/* save temporary */
 	mov	ip, r0			/* need r0 for return value */
 #ifndef __ARM_EABI__
 	mov	r3, r2
@@ -50,7 +50,7 @@ ENTRY_NP(_atomic_add_64_nv)
 #else
 	mcr	p15, 0, r4, c7, c10, 5	/* data memory barrier */
 #endif
-	pop	{r4}			/* restore temporary */
+	pop	{r3,r4}			/* restore temporary */
 	RET				/* return new value */
 END(_atomic_add_64_nv)
 

Index: src/common/lib/libc/arch/arm/atomic/atomic_and_64.S
diff -u src/common/lib/libc/arch/arm/atomic/atomic_and_64.S:1.6 src/common/lib/libc/arch/arm/atomic/atomic_and_64.S:1.7
--- src/common/lib/libc/arch/arm/atomic/atomic_and_64.S:1.6	Sun Aug 11 04:41:17 2013
+++ src/common/lib/libc/arch/arm/atomic/atomic_and_64.S	Tue Aug 20 07:52:31 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: atomic_and_64.S,v 1.6 2013/08/11 04:41:17 matt Exp $	*/
+/*	$NetBSD: atomic_and_64.S,v 1.7 2013/08/20 07:52:31 matt Exp $	*/
 /*-
  * Copyright (c) 2012 The NetBSD Foundation, Inc.
  * All rights reserved.
@@ -33,7 +33,7 @@
 #ifdef _ARM_ARCH_6
 
 ENTRY_NP(_atomic_and_64_nv)
-	push	{r4}			/* save temporary */
+	push	{r3,r4}			/* save temporary */
 #ifndef __ARM_EABI__
 	mov	r3, r2
 	mov	r2, r1
@@ -50,7 +50,7 @@ ENTRY_NP(_atomic_and_64_nv)
 #else
 	mcr	p15, 0, r4, c7, c10, 5	/* data memory barrier */
 #endif
-	pop	{r4}			/* restore temporary */
+	pop	{r3,r4}			/* restore temporary */
 	RET				/* return new value */
 END(_atomic_and_64_nv)
 
Index: src/common/lib/libc/arch/arm/atomic/atomic_or_64.S
diff -u src/common/lib/libc/arch/arm/atomic/atomic_or_64.S:1.6 src/common/lib/libc/arch/arm/atomic/atomic_or_64.S:1.7
--- src/common/lib/libc/arch/arm/atomic/atomic_or_64.S:1.6	Sun Aug 11 04:41:17 2013
+++ src/common/lib/libc/arch/arm/atomic/atomic_or_64.S	Tue Aug 20 07:52:31 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: atomic_or_64.S,v 1.6 2013/08/11 04:41:17 matt Exp $	*/
+/*	$NetBSD: atomic_or_64.S,v 1.7 2013/08/20 07:52:31 matt Exp $	*/
 /*-
  * Copyright (c) 2012 The NetBSD Foundation, Inc.
  * All rights reserved.
@@ -33,7 +33,7 @@
 #ifdef _ARM_ARCH_6
 
 ENTRY_NP(_atomic_or_64_nv)
-	push	{r4}			/* save temporary */
+	push	{r3,r4}			/* save temporary */
 #ifndef __ARM_EABI__
 	mov	r3, r2
 	mov	r2, r1
@@ -50,7 +50,7 @@ ENTRY_NP(_atomic_or_64_nv)
 #else
 	mcr	p15, 0, r4, c7, c10, 5	/* data memory barrier */
 #endif
-	pop	{r4}			/* restore temporary */
+	pop	{r3,r4}			/* restore temporary */
 	RET				/* return new value */
 END(_atomic_or_64_nv)
 

Index: src/common/lib/libc/arch/arm/atomic/atomic_swap_64.S
diff -u src/common/lib/libc/arch/arm/atomic/atomic_swap_64.S:1.4 src/common/lib/libc/arch/arm/atomic/atomic_swap_64.S:1.5
--- src/common/lib/libc/arch/arm/atomic/atomic_swap_64.S:1.4	Sat Aug 10 19:59:21 2013
+++ src/common/lib/libc/arch/arm/atomic/atomic_swap_64.S	Tue Aug 20 07:52:31 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: atomic_swap_64.S,v 1.4 2013/08/10 19:59:21 matt Exp $	*/
+/*	$NetBSD: atomic_swap_64.S,v 1.5 2013/08/20 07:52:31 matt Exp $	*/
 /*-
  * Copyright (c) 2012 The NetBSD Foundation, Inc.
  * All rights reserved.
@@ -31,7 +31,7 @@
 #include "atomic_op_asm.h"
 
 ENTRY_NP(_atomic_swap_64)
-	push	{r4}			/* save temporary */
+	push	{r3,r4}			/* save temporary */
 	mov	ip, r0			/* return value will be in r0 */
 #ifndef __ARM_EABI__
 	mov	r3, r2			/* r2 will be overwriten by r1 */
@@ -46,7 +46,7 @@ ENTRY_NP(_atomic_swap_64)
 #else
 	mcr	p15, 0, r4, c7, c10, 5	/* data memory barrier */
 #endif
-	pop	{r4}			/* restore temporary */
+	pop	{r3,r4}			/* restore temporary */
 	RET
 	END(_atomic_swap_64)
 ATOMIC_OP_ALIAS(atomic_swap_64,_atomic_swap_64)

Reply via email to