summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog26
-rw-r--r--sysdeps/powerpc/nofpu/Versions6
-rw-r--r--sysdeps/powerpc/powerpc32/libgcc-compat.S20
3 files changed, 43 insertions, 9 deletions
diff --git a/ChangeLog b/ChangeLog
index 62c010fd2c..fe6d523b23 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,29 @@
+2013-12-19  Joseph Myers  <joseph@codesourcery.com>
+
+	* sysdeps/powerpc/powerpc32/libgcc-compat.S
+	[_SOFT_FLOAT || __NO_FPRS__] (__fixdfdi_v_glibc20): Do not define
+	as a macro and a compat symbol.
+	[_SOFT_FLOAT || __NO_FPRS__] (__fixsfdi_v_glibc20): Likewise.
+	[_SOFT_FLOAT || __NO_FPRS__] (__fixunsdfdi_v_glibc20): Likewise.
+	[_SOFT_FLOAT || __NO_FPRS__] (__fixunssfdi_v_glibc20): Likewise.
+	[_SOFT_FLOAT || __NO_FPRS__] (__floatdidf_v_glibc20): Likewise.
+	[_SOFT_FLOAT || __NO_FPRS__] (__floaddisf_v_glibc20): Likewise.
+	[HAVE_DOT_HIDDEN && (_SOFT_FLOAT || __NO_FPRS__)] (__fixdfdi): Do
+	not use .hidden.
+	[HAVE_DOT_HIDDEN && (_SOFT_FLOAT || __NO_FPRS__)] (__fixsfdi):
+	Likewise.
+	[HAVE_DOT_HIDDEN && (_SOFT_FLOAT || __NO_FPRS__)] (__fixunsdfdi):
+	Likewise.
+	[HAVE_DOT_HIDDEN && (_SOFT_FLOAT || __NO_FPRS__)] (__fixunssfdi):
+	Likewise.
+	[HAVE_DOT_HIDDEN && (_SOFT_FLOAT || __NO_FPRS__)] (__floaddidf):
+	Likewise.
+	[HAVE_DOT_HIDDEN && (_SOFT_FLOAT || __NO_FPRS__)] (__floaddisf):
+	Likewise.
+	* sysdeps/powerpc/nofpu/Versions (libc): Remove __fixdfdi,
+	__fixsfdi, __fixunsdfdi, __fixunssfdi, __floatdidf and __floatdisf
+	from GLIBC_2.3.2.
+
 2013-12-19  Adhemerval Zanella  <azanella@linux.vnet.ibm.com>
 
 	* sysdeps/powerpc/fpu/libm-test-ulps: Update.
diff --git a/sysdeps/powerpc/nofpu/Versions b/sysdeps/powerpc/nofpu/Versions
index 571b1d2c96..9f569bd1a5 100644
--- a/sysdeps/powerpc/nofpu/Versions
+++ b/sysdeps/powerpc/nofpu/Versions
@@ -2,9 +2,9 @@ libc {
   GLIBC_2.3.2 {
     __sim_exceptions; __sim_disabled_exceptions; __sim_round_mode;
     __adddf3; __addsf3; __divdf3; __divsf3; __eqdf2; __eqsf2;
-    __extendsfdf2; __fixdfdi; __fixdfsi; __fixsfdi; __fixsfsi;
-    __fixunsdfdi; __fixunsdfsi; __fixunssfdi; __fixunssfsi;
-    __floatdidf; __floatdisf; __floatsidf; __floatsisf;
+    __extendsfdf2; __fixdfsi; __fixsfsi;
+    __fixunsdfsi; __fixunssfsi;
+    __floatsidf; __floatsisf;
     __gedf2; __gesf2; __ledf2; __lesf2; __muldf3; __mulsf3;
     __negdf2; __negsf2; __sqrtdf2; __sqrtsf2; __subdf3;
     __subsf3; __truncdfsf2;
diff --git a/sysdeps/powerpc/powerpc32/libgcc-compat.S b/sysdeps/powerpc/powerpc32/libgcc-compat.S
index 59c8c77ec6..4ea870a667 100644
--- a/sysdeps/powerpc/powerpc32/libgcc-compat.S
+++ b/sysdeps/powerpc/powerpc32/libgcc-compat.S
@@ -27,24 +27,28 @@
 #define __lshrdi3_v_glibc20	INTUSE (__lshrdi3)
 #define __cmpdi2_v_glibc20	INTUSE (__cmpdi2)
 #define __ucmpdi2_v_glibc20	INTUSE (__ucmpdi2)
-#define __fixdfdi_v_glibc20	INTUSE (__fixdfdi)
-#define __fixsfdi_v_glibc20	INTUSE (__fixsfdi)
-#define __fixunsdfdi_v_glibc20	INTUSE (__fixunsdfdi)
-#define __fixunssfdi_v_glibc20	INTUSE (__fixunssfdi)
-#define __floatdidf_v_glibc20	INTUSE (__floatdidf)
-#define __floatdisf_v_glibc20	INTUSE (__floatdisf)
+#if !defined _SOFT_FLOAT && !defined __NO_FPRS__
+# define __fixdfdi_v_glibc20	INTUSE (__fixdfdi)
+# define __fixsfdi_v_glibc20	INTUSE (__fixsfdi)
+# define __fixunsdfdi_v_glibc20	INTUSE (__fixunsdfdi)
+# define __fixunssfdi_v_glibc20	INTUSE (__fixunssfdi)
+# define __floatdidf_v_glibc20	INTUSE (__floatdidf)
+# define __floatdisf_v_glibc20	INTUSE (__floatdisf)
+#endif
 
 	.symver __ashldi3_v_glibc20,__ashldi3@GLIBC_2.0
 	.symver __ashrdi3_v_glibc20,__ashrdi3@GLIBC_2.0
 	.symver __lshrdi3_v_glibc20,__lshrdi3@GLIBC_2.0
 	.symver __cmpdi2_v_glibc20,__cmpdi2@GLIBC_2.0
 	.symver __ucmpdi2_v_glibc20,__ucmpdi2@GLIBC_2.0
+#if !defined _SOFT_FLOAT && !defined __NO_FPRS__
 	.symver __fixdfdi_v_glibc20,__fixdfdi@GLIBC_2.0
 	.symver __fixunsdfdi_v_glibc20,__fixunsdfdi@GLIBC_2.0
 	.symver __fixsfdi_v_glibc20,__fixsfdi@GLIBC_2.0
 	.symver __fixunssfdi_v_glibc20,__fixunssfdi@GLIBC_2.0
 	.symver __floatdidf_v_glibc20,__floatdidf@GLIBC_2.0
 	.symver __floatdisf_v_glibc20,__floatdisf@GLIBC_2.0
+#endif
 
 #ifdef HAVE_DOT_HIDDEN
 	.hidden __ashldi3
@@ -52,12 +56,14 @@
 	.hidden __lshrdi3
 	.hidden __cmpdi2
 	.hidden __ucmpdi2
+# if !defined _SOFT_FLOAT && !defined __NO_FPRS__
 	.hidden __fixdfdi
 	.hidden __fixsfdi
 	.hidden __fixunsdfdi
 	.hidden __fixunssfdi
 	.hidden __floatdidf
 	.hidden __floatdisf
+# endif
 #endif
 
 	.section	".text"
@@ -97,6 +103,7 @@ __ucmpdi2_v_glibc20:
 	b __ucmpdi2@local
 .Lfe9:
 	.size	__ucmpdi2_v_glibc20,.Lfe9-__ucmpdi2_v_glibc20
+#if !defined _SOFT_FLOAT && !defined __NO_FPRS__
 	.align 2
 	.globl __fixdfdi_v_glibc20
 	.type	__fixdfdi_v_glibc20,@function
@@ -139,5 +146,6 @@ __floatdisf_v_glibc20:
 	b __floatdisf@local
 .Lfe15:
 	.size	__floatdisf_v_glibc20,.Lfe15-__floatdisf_v_glibc20
+#endif
 
 #endif