Add a patch to gcc-4.2.{0,1,2,3} to fix soft-float on PowerPC.
/trunk/patches/gcc/4.2.0/920-soft-float.patch | 21 21 0 0 +++++++++++++++++++++
/trunk/patches/gcc/4.2.1/920-soft-float.patch | 21 21 0 0 +++++++++++++++++++++
/trunk/patches/gcc/4.2.2/920-soft-float.patch | 21 21 0 0 +++++++++++++++++++++
/trunk/patches/gcc/4.2.3/920-soft-float.patch | 21 21 0 0 +++++++++++++++++++++
4 files changed, 84 insertions(+)
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/patches/gcc/4.2.0/920-soft-float.patch Wed Jun 25 08:41:47 2008 +0000
1.3 @@ -0,0 +1,21 @@
1.4 +diff -uNpr gcc-4.2.1_orig/gcc/config/rs6000/darwin-ldouble.c gcc-4.2.1/gcc/config/rs6000/darwin-ldouble.c
1.5 +--- gcc-4.2.1_orig/gcc/config/rs6000/darwin-ldouble.c 2007-03-05 11:54:00.000000000 -0500
1.6 ++++ gcc-4.2.1/gcc/config/rs6000/darwin-ldouble.c 2008-01-31 17:51:24.000000000 -0500
1.7 +@@ -70,6 +70,8 @@ Software Foundation, 51 Franklin Street,
1.8 + but GCC currently generates poor code when a union is used to turn
1.9 + a long double into a pair of doubles. */
1.10 +
1.11 ++#if defined (_SOFT_FLOAT) && defined (__LONG_DOUBLE_128__)
1.12 ++
1.13 + long double __gcc_qadd (double, double, double, double);
1.14 + long double __gcc_qsub (double, double, double, double);
1.15 + long double __gcc_qmul (double, double, double, double);
1.16 +@@ -219,8 +221,6 @@ __gcc_qdiv (double a, double b, double c
1.17 + return z.ldval;
1.18 + }
1.19 +
1.20 +-#if defined (_SOFT_FLOAT) && defined (__LONG_DOUBLE_128__)
1.21 +-
1.22 + long double __gcc_qneg (double, double);
1.23 + int __gcc_qeq (double, double, double, double);
1.24 + int __gcc_qne (double, double, double, double);
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
2.2 +++ b/patches/gcc/4.2.1/920-soft-float.patch Wed Jun 25 08:41:47 2008 +0000
2.3 @@ -0,0 +1,21 @@
2.4 +diff -uNpr gcc-4.2.1_orig/gcc/config/rs6000/darwin-ldouble.c gcc-4.2.1/gcc/config/rs6000/darwin-ldouble.c
2.5 +--- gcc-4.2.1_orig/gcc/config/rs6000/darwin-ldouble.c 2007-03-05 11:54:00.000000000 -0500
2.6 ++++ gcc-4.2.1/gcc/config/rs6000/darwin-ldouble.c 2008-01-31 17:51:24.000000000 -0500
2.7 +@@ -70,6 +70,8 @@ Software Foundation, 51 Franklin Street,
2.8 + but GCC currently generates poor code when a union is used to turn
2.9 + a long double into a pair of doubles. */
2.10 +
2.11 ++#if defined (_SOFT_FLOAT) && defined (__LONG_DOUBLE_128__)
2.12 ++
2.13 + long double __gcc_qadd (double, double, double, double);
2.14 + long double __gcc_qsub (double, double, double, double);
2.15 + long double __gcc_qmul (double, double, double, double);
2.16 +@@ -219,8 +221,6 @@ __gcc_qdiv (double a, double b, double c
2.17 + return z.ldval;
2.18 + }
2.19 +
2.20 +-#if defined (_SOFT_FLOAT) && defined (__LONG_DOUBLE_128__)
2.21 +-
2.22 + long double __gcc_qneg (double, double);
2.23 + int __gcc_qeq (double, double, double, double);
2.24 + int __gcc_qne (double, double, double, double);
3.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
3.2 +++ b/patches/gcc/4.2.2/920-soft-float.patch Wed Jun 25 08:41:47 2008 +0000
3.3 @@ -0,0 +1,21 @@
3.4 +diff -uNpr gcc-4.2.1_orig/gcc/config/rs6000/darwin-ldouble.c gcc-4.2.1/gcc/config/rs6000/darwin-ldouble.c
3.5 +--- gcc-4.2.1_orig/gcc/config/rs6000/darwin-ldouble.c 2007-03-05 11:54:00.000000000 -0500
3.6 ++++ gcc-4.2.1/gcc/config/rs6000/darwin-ldouble.c 2008-01-31 17:51:24.000000000 -0500
3.7 +@@ -70,6 +70,8 @@ Software Foundation, 51 Franklin Street,
3.8 + but GCC currently generates poor code when a union is used to turn
3.9 + a long double into a pair of doubles. */
3.10 +
3.11 ++#if defined (_SOFT_FLOAT) && defined (__LONG_DOUBLE_128__)
3.12 ++
3.13 + long double __gcc_qadd (double, double, double, double);
3.14 + long double __gcc_qsub (double, double, double, double);
3.15 + long double __gcc_qmul (double, double, double, double);
3.16 +@@ -219,8 +221,6 @@ __gcc_qdiv (double a, double b, double c
3.17 + return z.ldval;
3.18 + }
3.19 +
3.20 +-#if defined (_SOFT_FLOAT) && defined (__LONG_DOUBLE_128__)
3.21 +-
3.22 + long double __gcc_qneg (double, double);
3.23 + int __gcc_qeq (double, double, double, double);
3.24 + int __gcc_qne (double, double, double, double);
4.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
4.2 +++ b/patches/gcc/4.2.3/920-soft-float.patch Wed Jun 25 08:41:47 2008 +0000
4.3 @@ -0,0 +1,21 @@
4.4 +diff -uNpr gcc-4.2.1_orig/gcc/config/rs6000/darwin-ldouble.c gcc-4.2.1/gcc/config/rs6000/darwin-ldouble.c
4.5 +--- gcc-4.2.1_orig/gcc/config/rs6000/darwin-ldouble.c 2007-03-05 11:54:00.000000000 -0500
4.6 ++++ gcc-4.2.1/gcc/config/rs6000/darwin-ldouble.c 2008-01-31 17:51:24.000000000 -0500
4.7 +@@ -70,6 +70,8 @@ Software Foundation, 51 Franklin Street,
4.8 + but GCC currently generates poor code when a union is used to turn
4.9 + a long double into a pair of doubles. */
4.10 +
4.11 ++#if defined (_SOFT_FLOAT) && defined (__LONG_DOUBLE_128__)
4.12 ++
4.13 + long double __gcc_qadd (double, double, double, double);
4.14 + long double __gcc_qsub (double, double, double, double);
4.15 + long double __gcc_qmul (double, double, double, double);
4.16 +@@ -219,8 +221,6 @@ __gcc_qdiv (double a, double b, double c
4.17 + return z.ldval;
4.18 + }
4.19 +
4.20 +-#if defined (_SOFT_FLOAT) && defined (__LONG_DOUBLE_128__)
4.21 +-
4.22 + long double __gcc_qneg (double, double);
4.23 + int __gcc_qeq (double, double, double, double);
4.24 + int __gcc_qne (double, double, double, double);