Module Name: src
Committed By: skrll
Date: Thu Sep 27 09:53:53 UTC 2012
Modified Files:
src/lib/libc/arch/arm/gen: swapcontext.S
Log Message:
Fixup the stack pointer in the ucontext returned by getcontext.
This fixes the following tests
lib/libc/sys/t_swapcontext.c
lib/libpthread/t_swapcontext.c
To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/lib/libc/arch/arm/gen/swapcontext.S
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/lib/libc/arch/arm/gen/swapcontext.S
diff -u src/lib/libc/arch/arm/gen/swapcontext.S:1.6 src/lib/libc/arch/arm/gen/swapcontext.S:1.7
--- src/lib/libc/arch/arm/gen/swapcontext.S:1.6 Sun Aug 5 05:10:38 2012
+++ src/lib/libc/arch/arm/gen/swapcontext.S Thu Sep 27 09:53:53 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: swapcontext.S,v 1.6 2012/08/05 05:10:38 skrll Exp $ */
+/* $NetBSD: swapcontext.S,v 1.7 2012/09/27 09:53:53 skrll Exp $ */
/*-
* Copyright (c) 2001 The NetBSD Foundation, Inc.
@@ -32,7 +32,7 @@
#include "SYS.h"
#if defined(LIBC_SCCS) && !defined(lint)
- RCSID("$NetBSD: swapcontext.S,v 1.6 2012/08/05 05:10:38 skrll Exp $")
+ RCSID("$NetBSD: swapcontext.S,v 1.7 2012/09/27 09:53:53 skrll Exp $")
#endif /* LIBC_SCCS && !lint */
ENTRY(swapcontext)
@@ -43,6 +43,7 @@ ENTRY(swapcontext)
add sp, #4
ldmfd sp!, {r0-r1, lr}
RETc(ne)
+ str sp, [r0, #(36 + 13*4)] /* Adjust saved SP. */
str lr, [r0, #(36 + 15*4)] /* Adjust saved PC. */
#ifdef SOFTFLOAT
/* Ahem. */