patches/gcc/4.2.0/270-soft-float.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sat Mar 20 18:42:34 2010 +0100 (2010-03-20)
branch1.6
changeset 1883 eec58bf93a1c
parent 616 6e78f7085707
permissions -rw-r--r--
cc/gcc: fix building for powerpc for the 4.4.x series

Reported by: Thomas Petazzoni
http://sourceware.org/ml/crossgcc/2010-03/msg00057.html

Discussions:
http://lists.uclibc.org/pipermail/uclibc/2010-March/043697.html
http://lists.uclibc.org/pipermail/buildroot/2010-March/032790.html
http://ibot.rikers.org/%23uclibc/20100316.html.gz
(search for "copysignl", by kos_tom, blindvt and y_morin)
(transplanted from 76b1923da63d2e3b8e9010b6138e33f6a99720a8)
     1 diff -uNpr gcc-4.2.1_orig/gcc/config/rs6000/darwin-ldouble.c gcc-4.2.1/gcc/config/rs6000/darwin-ldouble.c
     2 --- gcc-4.2.1_orig/gcc/config/rs6000/darwin-ldouble.c	2007-03-05 11:54:00.000000000 -0500
     3 +++ gcc-4.2.1/gcc/config/rs6000/darwin-ldouble.c	2008-01-31 17:51:24.000000000 -0500
     4 @@ -70,6 +70,8 @@ Software Foundation, 51 Franklin Street,
     5     but GCC currently generates poor code when a union is used to turn
     6     a long double into a pair of doubles.  */
     7  
     8 +#if defined (_SOFT_FLOAT) && defined (__LONG_DOUBLE_128__)
     9 +
    10  long double __gcc_qadd (double, double, double, double);
    11  long double __gcc_qsub (double, double, double, double);
    12  long double __gcc_qmul (double, double, double, double);
    13 @@ -219,8 +221,6 @@ __gcc_qdiv (double a, double b, double c
    14    return z.ldval;
    15  }
    16  
    17 -#if defined (_SOFT_FLOAT) && defined (__LONG_DOUBLE_128__)
    18 -
    19  long double __gcc_qneg (double, double);
    20  int __gcc_qeq (double, double, double, double);
    21  int __gcc_qne (double, double, double, double);