patches/gcc/4.3.4/230-pr34571.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Sep 12 23:38:18 2010 +0200 (2010-09-12)
changeset 2120 48de021b3a9e
permissions -rw-r--r--
arch/mips: add experimental mips64 samples

Both toolchains were tested to successfully:
- _build_ busybox, giving respectively an n32 and an n64 binary
although it has not been run-tested.
- build linux-2.6.36-rc3 for Loongson, giving an n64 vmlinux
(which is expected, due to the way the kernel is built),
and the kernel properly boots!

Credits are due to Julien MOUTHINO (julm on freenode#uClibc) for
testing that the kernel boots on his hardware! Cheers! ;-)

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
     1 Original patch from: ../4.3.2/230-pr34571.patch
     2 
     3 -= BEGIN original header =-
     4 Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/64_all_gcc43-pr34571.patch
     5 http://gcc.gnu.org/PR34571
     6 
     7 2007-12-26  Rask Ingemann Lambertsen  <rask@sygehus.dk>
     8 
     9 	PR target/34571
    10 	* config/alpha/alpha.c (alpha_cannot_force_const_mem): Use
    11 	symbolic_operand.
    12 	* varasm.c (output_constant_pool_1): Fix typo.
    13 
    14 -= END original header =-
    15 
    16 diff -durN gcc-4.3.3.orig/gcc/config/alpha/alpha.c gcc-4.3.3/gcc/config/alpha/alpha.c
    17 --- gcc-4.3.3.orig/gcc/config/alpha/alpha.c	2008-09-09 01:16:55.000000000 +0200
    18 +++ gcc-4.3.3/gcc/config/alpha/alpha.c	2009-01-27 22:25:29.000000000 +0100
    19 @@ -1113,8 +1113,7 @@
    20  static bool
    21  alpha_cannot_force_const_mem (rtx x)
    22  {
    23 -  enum rtx_code code = GET_CODE (x);
    24 -  return code == SYMBOL_REF || code == LABEL_REF || code == CONST;
    25 +  return symbolic_operand (x, GET_MODE (x));
    26  }
    27  
    28  /* We do not allow indirect calls to be optimized into sibling calls, nor