Fix cfi for power{4,5} sqrt

Andreas Schwab aschwab@redhat.com
Wed Jun 24 14:10:00 GMT 2009


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."



More information about the Libc-alpha mailing list