patches/gcc/4.3.3/100-alpha-mieee-default.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sat Jan 31 17:49:27 2009 +0000 (2009-01-31)
changeset 1183 268544004e77
permissions -rw-r--r--
On 20090131.1659+0100, Vincent Sanders <vince@kyllikki.org> wrote:
[This]patch is a bit more involved. The patch addresses a gcc
regression in the 4.3 series (specifically this patch is against 4.3.2
which does *not* have a lot of other issues which affect kernel building)

GCC bug tracker has this issue as
#38453 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38453
#32044 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32044

comment 65 of #32044 has the fix being applied to gcc trunk as revision #142719

The attached patch is a backport to gcc 4.3.2 which allows this
version to be used to generate correct output for various ARM kernel
build (and indeed is teh correct answer in general).

/trunk/patches/gcc/4.3.2/360-fix-expensive-optimize.patch | 207 207 0 0 +++++++++++++++++++++
1 file changed, 207 insertions(+)
yann@1162
     1
Original patch from: ../4.3.2/100-alpha-mieee-default.patch
yann@1162
     2
yann@1162
     3
-= BEGIN original header =-
yann@1162
     4
Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/00_all_gcc-4.1-alpha-mieee-default.patch
yann@1162
     5
Set the default behavior on alpha to use -mieee since the large majority of
yann@1162
     6
time we want this (bad/weird things can happen with packages built without
yann@1162
     7
-mieee).
yann@1162
     8
yann@1162
     9
To satisfy those people who may not want -mieee forced on them all the time,
yann@1162
    10
we also provide -mno-ieee.
yann@1162
    11
yann@1162
    12
Patch by Mike Frysinger <vapier@gentoo.org>
yann@1162
    13
yann@1162
    14
-= END original header =-
yann@1162
    15
yann@1162
    16
diff -durN gcc-4.3.3.orig/gcc/config/alpha/alpha.h gcc-4.3.3/gcc/config/alpha/alpha.h
yann@1162
    17
--- gcc-4.3.3.orig/gcc/config/alpha/alpha.h	2007-12-06 14:25:37.000000000 +0100
yann@1162
    18
+++ gcc-4.3.3/gcc/config/alpha/alpha.h	2009-01-27 22:19:02.000000000 +0100
yann@1162
    19
@@ -95,6 +95,8 @@
yann@1162
    20
   while (0)
yann@1162
    21
 #endif
yann@1162
    22
 
yann@1162
    23
+#define CPP_SPEC "%{!no-ieee:-mieee}"
yann@1162
    24
+
yann@1162
    25
 #define WORD_SWITCH_TAKES_ARG(STR)		\
yann@1162
    26
  (!strcmp (STR, "rpath") || DEFAULT_WORD_SWITCH_TAKES_ARG(STR))
yann@1162
    27
 
yann@1162
    28
diff -durN gcc-4.3.3.orig/gcc/config/alpha/alpha.opt gcc-4.3.3/gcc/config/alpha/alpha.opt
yann@1162
    29
--- gcc-4.3.3.orig/gcc/config/alpha/alpha.opt	2007-08-02 12:49:31.000000000 +0200
yann@1162
    30
+++ gcc-4.3.3/gcc/config/alpha/alpha.opt	2009-01-27 22:19:02.000000000 +0100
yann@1162
    31
@@ -39,7 +39,7 @@
yann@1162
    32
 Request IEEE-conformant math library routines (OSF/1)
yann@1162
    33
 
yann@1162
    34
 mieee
yann@1162
    35
-Target Report RejectNegative Mask(IEEE)
yann@1162
    36
+Target Report Mask(IEEE)
yann@1162
    37
 Emit IEEE-conformant code, without inexact exceptions
yann@1162
    38
 
yann@1162
    39
 mieee-with-inexact