2005-02-07  Steven Munroe  <sjmunroe@us.ibm.com>
	[BZ #700]
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S
	(__novec_setcontext, __setcontext): Fix typo so CCR is restored.
	Load MSR as a doubleword.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S
	(__novec_swapcontext, __swapcontext): Likewise.
This commit is contained in:
Ulrich Drepper 2005-02-07 23:27:36 +00:00
parent dd1e887872
commit 16cc180029
3 changed files with 19 additions and 10 deletions

View File

@ -1,3 +1,12 @@
2005-02-07 Steven Munroe <sjmunroe@us.ibm.com>
[BZ #700]
* sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S
(__novec_setcontext, __setcontext): Fix typo so CCR is restored.
Load MSR as a doubleword.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S
(__novec_swapcontext, __swapcontext): Likewise.
2005-02-07 Ulrich Drepper <drepper@redhat.com>
* iconv/iconv_prog.c (main): Provide more help in case on an error.

View File

@ -1,5 +1,5 @@
/* Switch to context.
Copyright (C) 2002, 2004 Free Software Foundation, Inc.
Copyright (C) 2002, 2004, 2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@ -47,7 +47,7 @@ ENTRY(__novec_setcontext)
* of a procedure call (makecontext), so we don't need to restore
* msr and ctr. We don't restore r13 since it will be used as
* the TLS pointer. */
lwz r0,(SIGCONTEXT_GP_REGS+(PT_MSR*8))(r31)
ld r0,(SIGCONTEXT_GP_REGS+(PT_MSR*8))(r31)
cmpdi r0,0
bne L(nv_do_sigret)
@ -104,7 +104,7 @@ ENTRY(__novec_setcontext)
ld r4,(SIGCONTEXT_GP_REGS+(PT_R4*8))(r31)
ld r0,(SIGCONTEXT_GP_REGS+(PT_CCR*8))(r31)
ld r5,(SIGCONTEXT_GP_REGS+(PT_R5*8))(r31)
mfcr r0
mtcr r0
ld r6,(SIGCONTEXT_GP_REGS+(PT_R6*8))(r31)
ld r7,(SIGCONTEXT_GP_REGS+(PT_R7*8))(r31)
ld r8,(SIGCONTEXT_GP_REGS+(PT_R8*8))(r31)
@ -213,7 +213,7 @@ ENTRY(__setcontext)
* of a procedure call (makecontext), so we don't need to restore
* msr and ctr. We don't restore r13 since it will be used as
* the TLS pointer. */
lwz r0,(SIGCONTEXT_GP_REGS+(PT_MSR*8))(r31)
ld r0,(SIGCONTEXT_GP_REGS+(PT_MSR*8))(r31)
cmpdi r0,0
bne L(do_sigret)
@ -380,11 +380,11 @@ L(has_no_vec):
ld r4,(SIGCONTEXT_GP_REGS+(PT_R4*8))(r31)
ld r0,(SIGCONTEXT_GP_REGS+(PT_CCR*8))(r31)
ld r5,(SIGCONTEXT_GP_REGS+(PT_R5*8))(r31)
mfcr r0
ld r6,(SIGCONTEXT_GP_REGS+(PT_R6*8))(r31)
ld r7,(SIGCONTEXT_GP_REGS+(PT_R7*8))(r31)
ld r8,(SIGCONTEXT_GP_REGS+(PT_R8*8))(r31)
ld r9,(SIGCONTEXT_GP_REGS+(PT_R9*8))(r31)
mtcr r0
ld r10,(SIGCONTEXT_GP_REGS+(PT_R10*8))(r31)
ld r11,(SIGCONTEXT_GP_REGS+(PT_R11*8))(r31)
ld r12,(SIGCONTEXT_GP_REGS+(PT_R12*8))(r31)

View File

@ -1,5 +1,5 @@
/* Save current context and install the given one.
Copyright (C) 2002, 2004 Free Software Foundation, Inc.
Copyright (C) 2002, 2004, 2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@ -150,7 +150,7 @@ ENTRY(__novec_swapcontext)
* of a procedure call (makecontext), so we don't need to restore
* msr and ctr. We don't restore r13 since it will be used as
* the TLS pointer. */
lwz r0,(SIGCONTEXT_GP_REGS+(PT_MSR*8))(r31)
ld r0,(SIGCONTEXT_GP_REGS+(PT_MSR*8))(r31)
cmpdi r0,0
bne L(nv_do_sigret)
@ -199,7 +199,7 @@ ENTRY(__novec_swapcontext)
ld r4,(SIGCONTEXT_GP_REGS+(PT_R4*8))(r31)
ld r0,(SIGCONTEXT_GP_REGS+(PT_CCR*8))(r31)
ld r5,(SIGCONTEXT_GP_REGS+(PT_R5*8))(r31)
mfcr r0
mtcr r0
ld r6,(SIGCONTEXT_GP_REGS+(PT_R6*8))(r31)
ld r7,(SIGCONTEXT_GP_REGS+(PT_R7*8))(r31)
ld r8,(SIGCONTEXT_GP_REGS+(PT_R8*8))(r31)
@ -521,7 +521,7 @@ L(has_no_vec):
* of a procedure call (makecontext), so we don't need to restore
* msr and ctr. We don't restore r13 since it will be used as
* the TLS pointer. */
lwz r0,(SIGCONTEXT_GP_REGS+(PT_MSR*8))(r31)
ld r0,(SIGCONTEXT_GP_REGS+(PT_MSR*8))(r31)
cmpdi r0,0
bne L(do_sigret)
@ -681,11 +681,11 @@ L(has_no_vec2):
ld r4,(SIGCONTEXT_GP_REGS+(PT_R4*8))(r31)
ld r0,(SIGCONTEXT_GP_REGS+(PT_CCR*8))(r31)
ld r5,(SIGCONTEXT_GP_REGS+(PT_R5*8))(r31)
mfcr r0
ld r6,(SIGCONTEXT_GP_REGS+(PT_R6*8))(r31)
ld r7,(SIGCONTEXT_GP_REGS+(PT_R7*8))(r31)
ld r8,(SIGCONTEXT_GP_REGS+(PT_R8*8))(r31)
ld r9,(SIGCONTEXT_GP_REGS+(PT_R9*8))(r31)
mtcr r0
ld r10,(SIGCONTEXT_GP_REGS+(PT_R10*8))(r31)
ld r11,(SIGCONTEXT_GP_REGS+(PT_R11*8))(r31)
ld r12,(SIGCONTEXT_GP_REGS+(PT_R12*8))(r31)