Module Name: src
Committed By: mrg
Date: Mon Mar 22 01:39:11 UTC 2010
Modified Files:
src/lib/libc/arch/powerpc64/gen: __sigsetjmp14.S
Log Message:
replace kernel-only 'stmd' and 'lmd' operations in userland with equivalent
sequences of code, as done in eg, powerpc64/gen/_setjmp.S rev 1.2.
from [email protected] in PR#43009.
To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/lib/libc/arch/powerpc64/gen/__sigsetjmp14.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/powerpc64/gen/__sigsetjmp14.S
diff -u src/lib/libc/arch/powerpc64/gen/__sigsetjmp14.S:1.1 src/lib/libc/arch/powerpc64/gen/__sigsetjmp14.S:1.2
--- src/lib/libc/arch/powerpc64/gen/__sigsetjmp14.S:1.1 Fri Jul 7 21:07:35 2006
+++ src/lib/libc/arch/powerpc64/gen/__sigsetjmp14.S Mon Mar 22 01:39:11 2010
@@ -1,11 +1,11 @@
-/* $NetBSD: __sigsetjmp14.S,v 1.1 2006/07/07 21:07:35 ross Exp $ */
+/* $NetBSD: __sigsetjmp14.S,v 1.2 2010/03/22 01:39:11 mrg Exp $ */
#include <sys/syscall.h>
#include <machine/asm.h>
#if defined(LIBC_SCCS)
.text
- .asciz "$NetBSD: __sigsetjmp14.S,v 1.1 2006/07/07 21:07:35 ross Exp $"
+ .asciz "$NetBSD: __sigsetjmp14.S,v 1.2 2010/03/22 01:39:11 mrg Exp $"
#endif
ENTRY(__sigsetjmp14)
@@ -22,12 +22,20 @@
mfcr %r12
mr %r10,%r1
mr %r9,%r2
- stmd 7, 0(%r6) # save r7-r31
+ i = 0
+ .rept 32-7
+ std 7+i,i*8(%r6) # save r7-r31
+ i = i + 1
+ .endr
li %r3,0
blr
ENTRY(__siglongjmp14)
- lmd 7,0(%r3) # load r7-r31
+ i = 0
+ .rept 32-7
+ ld 7+i,i*8(%r3) # load r7-r31
+ i = i + 1
+ .endr
mr %r6,%r4
mtlr %r11
mtcr %r12