patches/gcc/4.3.0/260-pr34571.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Wed May 20 20:13:13 2009 +0000 (2009-05-20)
changeset 1345 27fec561af53
parent 746 b150d6f590fc
permissions -rw-r--r--
Merge the uClinux/noMMU stuff back to /trunk:
- merge Linux and uClinux back to a single kernel
- add ARCH_USE_MMU and acquainted config options that
architectures can auto-select
- make binutils and elf2flt two "Binary utilities" that
go in a single common sub-{menu,directory} structure

-------- diffstat follows --------
/trunk/scripts/build/kernel/uclinux.sh | 2 0 2 0 -
/trunk/scripts/build/kernel/linux.sh | 206 204 2 0 +++++++++++++++++++++++++++++
/trunk/scripts/build/kernel/linux-common.sh | 198 0 198 0 ----------------------------
/trunk/scripts/build/binutils.sh | 232 0 232 0 --------------------------------
/trunk/scripts/build/elf2flt.sh | 150 0 150 0 ---------------------
/trunk/scripts/crosstool-NG.sh.in | 6 4 2 0 +
/trunk/config/kernel/linux.in | 249 249 0 0 +++++++++++++++++++++++++++++++++++
/trunk/config/kernel/linux.in-common | 252 0 252 0 -----------------------------------
/trunk/config/kernel/uclinux.in | 21 0 21 0 ---
/trunk/config/target.in | 23 22 1 0 +++
/trunk/config/elf2flt.in | 49 0 49 0 -------
/trunk/config/libc/glibc.in | 2 1 1 0
/trunk/config/libc/eglibc.in | 2 1 1 0
/trunk/config/config.in | 1 0 1 0 -
/trunk/config/arch/sh.in | 1 1 0 0 +
/trunk/config/arch/arm.in | 2 1 1 0
/trunk/config/arch/powerpc.in | 1 1 0 0 +
/trunk/config/arch/ia64.in | 1 1 0 0 +
/trunk/config/arch/alpha.in | 1 1 0 0 +
/trunk/config/arch/x86.in | 1 1 0 0 +
/trunk/config/arch/mips.in | 1 1 0 0 +
/trunk/config/arch/powerpc64.in | 1 1 0 0 +
22 files changed, 489 insertions(+), 913 deletions(-)
yann@552
     1
Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.0/gentoo/64_all_gcc43-pr34571.patch
yann@552
     2
http://gcc.gnu.org/PR34571
yann@552
     3
yann@552
     4
2007-12-26  Rask Ingemann Lambertsen  <rask@sygehus.dk>
yann@552
     5
yann@552
     6
	PR target/34571
yann@552
     7
	* config/alpha/alpha.c (alpha_cannot_force_const_mem): Use
yann@552
     8
	symbolic_operand.
yann@552
     9
	* varasm.c (output_constant_pool_1): Fix typo.
yann@552
    10
yann@552
    11
diff -durN gcc-4.3.0.orig/gcc/config/alpha/alpha.c gcc-4.3.0/gcc/config/alpha/alpha.c
yann@552
    12
--- gcc-4.3.0.orig/gcc/config/alpha/alpha.c	2008-02-07 18:45:24.000000000 +0100
yann@552
    13
+++ gcc-4.3.0/gcc/config/alpha/alpha.c	2008-06-10 14:45:13.000000000 +0200
yann@552
    14
@@ -1113,8 +1113,7 @@
yann@552
    15
 static bool
yann@552
    16
 alpha_cannot_force_const_mem (rtx x)
yann@552
    17
 {
yann@552
    18
-  enum rtx_code code = GET_CODE (x);
yann@552
    19
-  return code == SYMBOL_REF || code == LABEL_REF || code == CONST;
yann@552
    20
+  return symbolic_operand (x, GET_MODE (x));
yann@552
    21
 }
yann@552
    22
 
yann@552
    23
 /* We do not allow indirect calls to be optimized into sibling calls, nor
yann@552
    24
diff -durN gcc-4.3.0.orig/gcc/varasm.c gcc-4.3.0/gcc/varasm.c
yann@552
    25
--- gcc-4.3.0.orig/gcc/varasm.c	2007-12-05 22:55:10.000000000 +0100
yann@552
    26
+++ gcc-4.3.0/gcc/varasm.c	2008-06-10 14:45:13.000000000 +0200
yann@552
    27
@@ -3710,7 +3710,7 @@
yann@552
    28
       /* FALLTHRU  */
yann@552
    29
 
yann@552
    30
     case LABEL_REF:
yann@552
    31
-      tmp = XEXP (x, 0);
yann@552
    32
+      tmp = XEXP (tmp, 0);
yann@552
    33
       gcc_assert (!INSN_DELETED_P (tmp));
yann@552
    34
       gcc_assert (!NOTE_P (tmp)
yann@552
    35
 		  || NOTE_KIND (tmp) != NOTE_INSN_DELETED);