patches/gcc/4.0.2/120-pr21623-workaround.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Feb 17 22:08:06 2008 +0000 (2008-02-17)
changeset 431 8bde4c6ea47a
permissions -rw-r--r--
Robert P. J. DAY says:

apparently, the patchset for gcc 4.2.1 applies properly to the
source for gcc 4.2.2 and gcc 4.2.3. so, if you want, you can simply
add support for those last two just by augmenting menuconfig and
adding a couple symlinks for those two directories. seems like a
cheap way to add a couple new versions.
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;