patches/gcc/4.0.2/120-pr21623-workaround.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue Sep 23 14:48:10 2008 +0000 (2008-09-23)
changeset 872 fd4bf138f08f
permissions -rw-r--r--
Bart De VOS pointed out that removing absolute paths from the libc linker scripts is plainly wrong.
It dates from dawn ages of the original crosstool code, and is not well explained. At that time, binutils might not understand the sysroot stuff, and it was necessary to remove absolute paths in that case.

/trunk/scripts/build/libc/glibc.sh | 14 2 12 0 ++------------
1 file changed, 2 insertions(+), 12 deletions(-)
     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;