patches/gcc/4.0.2/120-pr21623-workaround.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Wed May 21 22:00:52 2008 +0000 (2008-05-21)
changeset 527 4ac12179ef23
permissions -rw-r--r--
Introduce target-specific LDFLAGS, the same way we have CFLAGS for the target.
It seems to be helping gcc somewhat into telling the correct endianness to ld that sticks with little endian even when the target is big (eg armeb-unknown-linux-uclibcgnueabi).
There's still work to do, especially finish the gcc part that is not in this commit.

/trunk/scripts/functions | 9 7 2 0 +++++++--
1 file changed, 7 insertions(+), 2 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;