Add a patch to gcc-4.2.{0,1,2,3} to fix soft-float on PowerPC.
author"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Wed Jun 25 08:41:47 2008 +0000 (2008-06-25)
changeset 6166e78f7085707
parent 615 c9d37346d57f
child 617 f746b9a18ff5
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(+)
patches/gcc/4.2.0/920-soft-float.patch
patches/gcc/4.2.1/920-soft-float.patch
patches/gcc/4.2.2/920-soft-float.patch
patches/gcc/4.2.3/920-soft-float.patch
     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);