Blame SOURCES/compat-libstdc++33-ldbl.patch

6f1b0c
--- libstdc++33-v3/libmath/stubs.c.jj	2003-06-03 08:48:02.000000000 -0400
6f1b0c
+++ libstdc++33-v3/libmath/stubs.c	2006-08-21 09:18:10.000000000 -0400
6f1b0c
@@ -27,9 +27,29 @@
6f1b0c
    invalidate any other reasons why the executable file might be covered by
6f1b0c
    the GNU General Public License.  */
6f1b0c
 
6f1b0c
+#if defined __s390__ || defined __powerpc__
6f1b0c
+/* Lie.  */
6f1b0c
+#define __LONG_DOUBLE_128__ 1
6f1b0c
+#endif
6f1b0c
+
6f1b0c
 #include <math.h>
6f1b0c
 #include "config.h"
6f1b0c
 
6f1b0c
+#if defined __s390__ || defined __powerpc__
6f1b0c
+#undef HAVE_ATAN2L
6f1b0c
+#undef HAVE_COSHL
6f1b0c
+#undef HAVE_COSL
6f1b0c
+#undef HAVE_EXPL
6f1b0c
+#undef HAVE_LOG10L
6f1b0c
+#undef HAVE_LOGL
6f1b0c
+#undef HAVE_POWL
6f1b0c
+#undef HAVE_SINHL
6f1b0c
+#undef HAVE_SINL
6f1b0c
+#undef HAVE_SQRTL
6f1b0c
+#undef HAVE_TANHL
6f1b0c
+#undef HAVE_TANL
6f1b0c
+#endif
6f1b0c
+
6f1b0c
 /* For targets which do not have support for long double versions,
6f1b0c
    we use the crude approximation.  We'll do better later.  */
6f1b0c
 
6f1b0c
@@ -137,6 +157,12 @@ hypotl(long double x, long double y)
6f1b0c
   x /= s; y /= s;
6f1b0c
   return s * sqrtl(x * x + y * y);
6f1b0c
 }
6f1b0c
+#elif (defined __s390__ || defined __powerpc__) && defined HAVE_HYPOT
6f1b0c
+long double
6f1b0c
+hypotl(long double x, long double y)
6f1b0c
+{
6f1b0c
+  return hypot((double) x, (double) y);
6f1b0c
+}
6f1b0c
 #endif
6f1b0c
 
6f1b0c