patches/gcc/4.3.2/100-alpha-mieee-default.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Jul 17 22:43:07 2011 +0200 (2011-07-17)
changeset 2893 a8a65758664f
parent 746 b150d6f590fc
permissions -rw-r--r--
cc/gcc: do not use the core pass-2 to build the baremetal compiler

In case we build a baremetal compiler, use the standard passes:
- core_cc is used to build the C library;
- as such, it is meant to run on build, not host;
- the final compiler is meant to run on host;

As the current final compiler step can not build a baremetal compiler,
call the core backend from the final step.

NB: Currently, newlib is built during the start_files pass, so we have
to have a core compiler by then... Once we can build the baremetal
compiler from the final cc step, then we can move the newlib build to
the proper step, and then get rid of the core pass-1 static compiler...

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
yann@552
     1
Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/00_all_gcc-4.1-alpha-mieee-default.patch
yann@552
     2
Set the default behavior on alpha to use -mieee since the large majority of
yann@552
     3
time we want this (bad/weird things can happen with packages built without
yann@552
     4
-mieee).
yann@552
     5
yann@552
     6
To satisfy those people who may not want -mieee forced on them all the time,
yann@552
     7
we also provide -mno-ieee.
yann@552
     8
yann@552
     9
Patch by Mike Frysinger <vapier@gentoo.org>
yann@552
    10
yann@552
    11
diff -durN gcc-4.3.1.orig/gcc/config/alpha/alpha.h gcc-4.3.1/gcc/config/alpha/alpha.h
yann@552
    12
--- gcc-4.3.1.orig/gcc/config/alpha/alpha.h	2007-12-06 14:25:37.000000000 +0100
yann@552
    13
+++ gcc-4.3.1/gcc/config/alpha/alpha.h	2008-06-10 14:56:36.000000000 +0200
yann@552
    14
@@ -95,6 +95,8 @@
yann@552
    15
   while (0)
yann@552
    16
 #endif
yann@552
    17
 
yann@552
    18
+#define CPP_SPEC "%{!no-ieee:-mieee}"
yann@552
    19
+
yann@552
    20
 #define WORD_SWITCH_TAKES_ARG(STR)		\
yann@552
    21
  (!strcmp (STR, "rpath") || DEFAULT_WORD_SWITCH_TAKES_ARG(STR))
yann@552
    22
 
yann@552
    23
diff -durN gcc-4.3.1.orig/gcc/config/alpha/alpha.opt gcc-4.3.1/gcc/config/alpha/alpha.opt
yann@552
    24
--- gcc-4.3.1.orig/gcc/config/alpha/alpha.opt	2007-08-02 12:49:31.000000000 +0200
yann@552
    25
+++ gcc-4.3.1/gcc/config/alpha/alpha.opt	2008-06-10 14:56:36.000000000 +0200
yann@552
    26
@@ -39,7 +39,7 @@
yann@552
    27
 Request IEEE-conformant math library routines (OSF/1)
yann@552
    28
 
yann@552
    29
 mieee
yann@552
    30
-Target Report RejectNegative Mask(IEEE)
yann@552
    31
+Target Report Mask(IEEE)
yann@552
    32
 Emit IEEE-conformant code, without inexact exceptions
yann@552
    33
 
yann@552
    34
 mieee-with-inexact