patches/gcc/4.0.2/120-pr21623-workaround.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Apr 26 10:47:00 2009 +0000 (2009-04-26)
branch1.4
changeset 1307 39b1c755f19b
permissions -rw-r--r--
1.4: update version to 1.4.0.

-------- diffstat follows --------
/branches/1.4/.version | 2 1 1 0 +-
1 file changed, 1 insertion(+), 1 deletion(-)
yann@402
     1
Message-ID: <434576E1.6020305@sscd.de>
yann@402
     2
Date: Thu, 06 Oct 2005 21:11:29 +0200
yann@402
     3
From: Alexander Sieb <sieb@sscd.de>
yann@402
     4
To: crossgcc@sourceware.org
yann@402
     5
Subject: Crosstool sh4-linux-gcc-4.0.2-glibc-2.3.5 patches
yann@402
     6
yann@402
     7
Hi,
yann@402
     8
yann@402
     9
attached you find the files I needed to add to crosstool-0.38
yann@402
    10
in order to build a sh4-linux gcc-4.0.2-glibc-2.3.5 tool chain.
yann@402
    11
yann@402
    12
Files attached:
yann@402
    13
yann@402
    14
sh4-gcc4.dat:
yann@402
    15
        * gcc4 needs --with-multilib-list=m4,m4-nofpu otherwise a linux
yann@402
    16
        kernel won't build as it uses the -m4-nofpu option.
yann@402
    17
yann@402
    18
gcc-pr21623.patch:
yann@402
    19
        * Kaz Kojima provided a patch [really, a workaround -dank] for http://gcc.gnu.org/PR21623
yann@402
    20
yann@402
    21
glibc-2.3.5-sh-memset.patch:
yann@402
    22
        * A patch for glibc-2.3.5 which corrects memset. From SUGIOKA Toshinobu.
yann@402
    23
        See content for rationale.
yann@402
    24
yann@402
    25
-- snip --
yann@402
    26
yann@402
    27
-- Here's patch 1 of 2, plus URLs showing where it is in CVS --
yann@402
    28
yann@402
    29
[http://gcc.gnu.org/ml/gcc-cvs/2005-10/msg00081.html]
yann@402
    30
yann@402
    31
2005-09-30  Kaz Kojima  <kkojima@gcc.gnu.org>
yann@402
    32
yann@402
    33
	* config/sh/sh.c (sh_register_move_cost): Add case for moving
yann@402
    34
	from T_REGS to FP register class.
yann@402
    35
yann@402
    36
[http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/sh/sh.c.diff?cvsroot=gcc&r1=1.347&r2=1.348]
yann@402
    37
yann@402
    38
RCS file: /cvs/gcc/gcc/gcc/config/sh/sh.c,v
yann@402
    39
retrieving revision 1.347
yann@402
    40
retrieving revision 1.348
yann@402
    41
diff -u -r1.347 -r1.348
yann@402
    42
--- gcc/gcc/config/sh/sh.c	2005/09/05 12:45:22	1.347
yann@402
    43
+++ gcc/gcc/config/sh/sh.c	2005/10/03 22:07:08	1.348
yann@402
    44
@@ -9491,6 +9491,9 @@ sh_register_move_cost (enum machine_mode
yann@402
    45
       && REGCLASS_HAS_FP_REG (dstclass))
yann@402
    46
     return 4;
yann@402
    47
 
yann@402
    48
+  if (REGCLASS_HAS_FP_REG (dstclass) && srcclass == T_REGS)
yann@402
    49
+    return ((TARGET_HARD_SH4 && !optimize_size) ? 10 : 7);
yann@402
    50
+
yann@402
    51
   if ((REGCLASS_HAS_FP_REG (dstclass) && srcclass == MAC_REGS)
yann@402
    52
       || (dstclass == MAC_REGS && REGCLASS_HAS_FP_REG (srcclass)))
yann@402
    53
     return 9;