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