#! /bin/sh -e

# DP: #212912
# DP: on alpha-linux, make -mieee default and add -mieee-disable switch
# DP: to turn default off

dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
    pdir="-d $3"
    dir="$3/"
elif [ $# -ne 1 ]; then
    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
    exit 1
fi
case "$1" in
    -patch)
        patch $pdir -f --no-backup-if-mismatch -p1 < $0
        #cd ${dir}gcc && autoconf
        ;;
    -unpatch)
        patch $pdir -f --no-backup-if-mismatch -R -p1 < $0
        #rm ${dir}gcc/configure
        ;;
    *)
        echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
        exit 1
esac
exit 0


--- src/gcc/config/alpha/alpha.c_	2003-12-23 15:08:11.000000000 -0500
+++ src/gcc/config/alpha/alpha.c	2003-12-23 15:16:31.000000000 -0500
@@ -337,4 +337,8 @@
   };
                   
+  /* If not -ffinite-math-only, enable -mieee*/
+  if (!flag_finite_math_only)
+    target_flags |= MASK_IEEE|MASK_IEEE_CONFORMANT;
+
   /* Unicos/Mk doesn't have shared libraries.  */
   if (TARGET_ABI_UNICOSMK && flag_pic)
--- src/gcc/doc/invoke.texi_	2004-01-06 10:59:19.000000000 -0500
+++ src/gcc/doc/invoke.texi	2004-01-06 11:26:11.000000000 -0500
@@ -8571,4 +8571,11 @@
 compilers call this option @option{-ieee_with_no_inexact}.
 
+DEBIAN SPECIFIC: This option is on by default, unless
+@option{-ffinite-math-only} (which is part of the @option{-ffast-math}
+set) is specified, because the software functions in the GNU libc math
+libraries generate denormalized numbers, NaNs, and infs (all of which
+will cause a programs to SIGFPE when it attempts to use the results without
+@option{-mieee}).
+
 @item -mieee-with-inexact
 @opindex mieee-with-inexact
