This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Fix cfi for power{4,5} sqrt


The power4/power5 sqrt functions contain some wrong cfi directives.

Andreas.

2009-06-24  Andreas Schwab  <aschwab@redhat.com>

	* sysdeps/powerpc/powerpc32/power4/fpu/w_sqrtf.S: Fix cfa offset
	for saved registers.
	* sysdeps/powerpc/powerpc32/power4/fpu/w_sqrt.S: Likewise.
	* sysdeps/powerpc/powerpc32/power5/fpu/w_sqrtf.S: Likewise.
	* sysdeps/powerpc/powerpc32/power5/fpu/w_sqrt.S: Likewise.

diff --git i/sysdeps/powerpc/powerpc32/power4/fpu/w_sqrt.S w/sysdeps/powerpc/powerpc32/power4/fpu/w_sqrt.S
index 6aef4e3..95a0b39 100644
--- i/sysdeps/powerpc/powerpc32/power4/fpu/w_sqrt.S
+++ w/sysdeps/powerpc/powerpc32/power4/fpu/w_sqrt.S
@@ -60,8 +60,8 @@ EALIGN (__sqrt, 5, 0)
 	fmr	fp12,fp2
 	stw	r0,20(r1)
 	stw	r30,8(r1)
-	cfi_offset(lr,20)
-	cfi_offset(r30,8)
+	cfi_offset(lr,20-16)
+	cfi_offset(r30,8-16)
 #ifdef SHARED
 # ifdef HAVE_ASM_PPC_REL16
 	bcl	20,31,.LCF1
diff --git i/sysdeps/powerpc/powerpc32/power4/fpu/w_sqrtf.S w/sysdeps/powerpc/powerpc32/power4/fpu/w_sqrtf.S
index e5b8b9d..c315551 100644
--- i/sysdeps/powerpc/powerpc32/power4/fpu/w_sqrtf.S
+++ w/sysdeps/powerpc/powerpc32/power4/fpu/w_sqrtf.S
@@ -60,8 +60,8 @@ EALIGN (__sqrtf, 5, 0)
 	fmr	fp12,fp2
 	stw	r0,20(r1)
 	stw	r30,8(r1)
-	cfi_offset(lr,20)
-	cfi_offset(r30,8)
+	cfi_offset(lr,20-16)
+	cfi_offset(r30,8-16)
 #ifdef SHARED
 # ifdef HAVE_ASM_PPC_REL16
 	bcl	20,31,.LCF1
diff --git i/sysdeps/powerpc/powerpc32/power5/fpu/w_sqrt.S w/sysdeps/powerpc/powerpc32/power5/fpu/w_sqrt.S
index 925930b..105b591 100644
--- i/sysdeps/powerpc/powerpc32/power5/fpu/w_sqrt.S
+++ w/sysdeps/powerpc/powerpc32/power5/fpu/w_sqrt.S
@@ -60,8 +60,8 @@ EALIGN (__sqrt, 5, 0)
 	fmr	fp12,fp2
 	stw	r0,20(r1)
 	stw	r30,8(r1)
-	cfi_offset(lr,20)
-	cfi_offset(r30,8)
+	cfi_offset(lr,20-16)
+	cfi_offset(r30,8-16)
 #ifdef SHARED
 # ifdef HAVE_ASM_PPC_REL16
 	bcl	20,31,.LCF1
diff --git i/sysdeps/powerpc/powerpc32/power5/fpu/w_sqrtf.S w/sysdeps/powerpc/powerpc32/power5/fpu/w_sqrtf.S
index 891e69c..14bc0a2 100644
--- i/sysdeps/powerpc/powerpc32/power5/fpu/w_sqrtf.S
+++ w/sysdeps/powerpc/powerpc32/power5/fpu/w_sqrtf.S
@@ -60,8 +60,8 @@ EALIGN (__sqrtf, 5, 0)
 	fmr	fp12,fp2
 	stw	r0,20(r1)
 	stw	r30,8(r1)
-	cfi_offset(lr,20)
-	cfi_offset(r30,8)
+	cfi_offset(lr,20-16)
+	cfi_offset(r30,8-16)
 #ifdef SHARED
 # ifdef HAVE_ASM_PPC_REL16
 	bcl	20,31,.LCF1

-- 
Andreas Schwab, aschwab@redhat.com
GPG Key fingerprint = D4E8 DBE3 3813 BB5D FA84  5EC7 45C6 250E 6F00 984E
"And now for something completely different."


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]