[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[patches] [PATCH] Powerpc/trampline: consider __NO_FPRS__



don't save/restore FPRs on FPR less systems

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>
---
Index: libc/sysdeps/powerpc/powerpc32/dl-trampoline.S
===================================================================
--- libc/sysdeps/powerpc/powerpc32/dl-trampoline.S	(revision 10750)
+++ libc/sysdeps/powerpc/powerpc32/dl-trampoline.S	(working copy)
@@ -137,6 +137,7 @@
 	stw r9,40(r1)
 	stw r10,44(r1)
 	stw r0,8(r1)
+#ifndef __NO_FPRS__
  # Save the floating point registers
 	stfd fp1,48(r1)
 	stfd fp2,56(r1)
@@ -146,6 +147,7 @@
 	stfd fp6,88(r1)
 	stfd fp7,96(r1)
 	stfd fp8,104(r1)
+#endif
  # XXX TODO: store vmx registers
  # Load the extra parameters.
 	addi r6,r1,16
@@ -169,6 +171,7 @@
 	lwz r4,20(r1)
 	lwz r3,16(r1)
         lwz r0,12(r1)
+#ifndef __NO_FPRS__
  # Load the floating point registers.
 	lfd fp1,48(r1)
 	lfd fp2,56(r1)
@@ -178,6 +181,7 @@
 	lfd fp6,88(r1)
 	lfd fp7,96(r1)
 	lfd fp8,104(r1)
+#endif
  # ...unwind the stack frame, and jump to the PLT entry we updated.
 	addi r1,r1,320
 	bctr
Index: libc/ChangeLog.eglibc
===================================================================
--- libc/ChangeLog.eglibc	(revision 10750)
+++ libc/ChangeLog.eglibc	(working copy)
@@ -1,3 +1,8 @@
+2010-03-31  Sebastan Andrzej Siewior  <bigeasy@xxxxxxxxxxxxx>
+
+	* sysdeps/powerpc/powerpc32/dl-trampoline.S: Put __NO_FPRS__ around
+	floating point opcodes.
+
 2010-03-31  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
 
 	* manual/Makefile (stamp-pkgvers): Substitute @@ for @ in