This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC 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]

[PATCH] gcc/powerpc: don't use FPU opcodes in libgcc on __NO_FPRS__


Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
---
 gcc/ChangeLog                    |    6 ++++++
 gcc/config/rs6000/crtresfpr.asm  |    2 ++
 gcc/config/rs6000/crtresxfpr.asm |    2 ++
 gcc/config/rs6000/crtsavfpr.asm  |    3 ++-
 4 files changed, 12 insertions(+), 1 deletions(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 2f8c80c..05840b2 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2010-06-17  Sebastian Andrzej Siewior  <bigeasy@linutronix.de>
+
+	* config/rs6000/crtresfpr.asm: Put __NO_FPRS__ around FPU opcodes
+	* config/rs6000/crtresxfpr.asm: Likewies.
+	* config/rs6000/crtsavfpr.asm: Likewies.
+
 2010-06-17  Nathan Froyd  <froydnj@codesourcery.com>
 
 	* tree.h (vec_member): Declare.
diff --git a/gcc/config/rs6000/crtresfpr.asm b/gcc/config/rs6000/crtresfpr.asm
index 9fb228c..a4f85d7 100644
--- a/gcc/config/rs6000/crtresfpr.asm
+++ b/gcc/config/rs6000/crtresfpr.asm
@@ -33,6 +33,7 @@
 
 /* On PowerPC64 Linux, these functions are provided by the linker.  */
 #ifndef __powerpc64__
+#ifndef __NO_FPRS__
 
 /* Routines for restoring floating point registers, called by the compiler.  */
 /* Called with r11 pointing to the stack header word of the caller of the */
@@ -79,3 +80,4 @@ FUNC_END(_restfpr_14)
 CFI_ENDPROC
 
 #endif
+#endif
diff --git a/gcc/config/rs6000/crtresxfpr.asm b/gcc/config/rs6000/crtresxfpr.asm
index 633f2db..ae251bf 100644
--- a/gcc/config/rs6000/crtresxfpr.asm
+++ b/gcc/config/rs6000/crtresxfpr.asm
@@ -33,6 +33,7 @@
 
 /* On PowerPC64 Linux, these functions are provided by the linker.  */
 #ifndef __powerpc64__
+#ifndef __NO_FPRS__
 
 /* Routines for restoring floating point registers, called by the compiler.  */
 /* Called with r11 pointing to the stack header word of the caller of the */
@@ -124,3 +125,4 @@ FUNC_END(_restfpr_14_x)
 CFI_ENDPROC
 
 #endif
+#endif
diff --git a/gcc/config/rs6000/crtsavfpr.asm b/gcc/config/rs6000/crtsavfpr.asm
index 3cdb250..b041ae9 100644
--- a/gcc/config/rs6000/crtsavfpr.asm
+++ b/gcc/config/rs6000/crtsavfpr.asm
@@ -33,7 +33,7 @@
 
 /* On PowerPC64 Linux, these functions are provided by the linker.  */
 #ifndef __powerpc64__
-
+#ifndef __NO_FPRS__
 /* Routines for saving floating point registers, called by the compiler.  */
 /* Called with r11 pointing to the stack header word of the caller of the */
 /* function, just beyond the end of the floating point save area.  */
@@ -79,3 +79,4 @@ FUNC_END(_savefpr_14)
 CFI_ENDPROC
 
 #endif
+#endif
-- 
1.6.6.1


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