author | "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> |
Mon Jun 09 16:35:21 2008 +0000 (2008-06-09) | |
changeset 546 | 0bf5637e0afd |
permissions | -rw-r--r-- |
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; |