patches/gcc/3.4.6/710-all_sh-pr16665-fix.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue May 20 21:32:39 2008 +0000 (2008-05-20)
changeset 523 010f6f4e4dd6
permissions -rw-r--r--
Get rid of all `command` (which is a bashism), and replace them with $(command), which is POSIX.
Get rid of all remaining \"text\" in log messages and replace them with 'text'.
Optimise the progress bar, should go un-noticed at log level DEBUG and below.

/trunk/scripts/build/tools/200-sstrip.sh | 16 8 8 0 ++--
/trunk/scripts/build/libc_glibc.sh | 50 25 25 0 +++++++-------
/trunk/scripts/build/libc_uClibc.sh | 4 2 2 0
/trunk/scripts/build/debug/100-dmalloc.sh | 2 1 1 0
/trunk/scripts/build/debug/400-ltrace.sh | 2 1 1 0
/trunk/scripts/build/debug/300-gdb.sh | 8 4 4 0 +-
/trunk/scripts/build/debug/200-duma.sh | 6 3 3 0 +-
/trunk/scripts/build/kernel_linux.sh | 30 15 15 0 ++++----
/trunk/scripts/build/cc_gcc.sh | 14 7 7 0 ++--
/trunk/scripts/crosstool.sh | 54 27 27 0 ++++++++--------
/trunk/scripts/functions | 128 64 64 0 ++++++++++++++++++------------------
/trunk/scripts/saveSample.sh | 4 2 2 0
/trunk/scripts/tarball.sh.broken | 20 10 10 0 +++---
/trunk/tools/addToolVersion.sh | 8 4 4 0 +-
/trunk/tools/populate.in | 18 9 9 0 ++--
15 files changed, 182 insertions(+), 182 deletions(-)
     1 diff -durN gcc-3.4.6.orig/gcc/config/sh/sh.c gcc-3.4.6/gcc/config/sh/sh.c
     2 --- gcc-3.4.6.orig/gcc/config/sh/sh.c	2004-09-03 08:51:30.000000000 +0200
     3 +++ gcc-3.4.6/gcc/config/sh/sh.c	2007-08-15 23:01:48.000000000 +0200
     4 @@ -9107,6 +9107,15 @@
     5      }
     6    this = FUNCTION_ARG (cum, Pmode, ptr_type_node, 1);
     7  
     8 +  /* In PIC case, we set PIC register to compute the target address.  We
     9 +     can use a scratch register to save and restore the original value  
    10 +     except for SHcompact.  For SHcompact, use stack.  */
    11 +  if (flag_pic && TARGET_SHCOMPACT)
    12 +    {
    13 +      push (PIC_OFFSET_TABLE_REGNUM);
    14 +      emit_insn (gen_GOTaddr2picreg ());
    15 +    }
    16 +
    17    /* For SHcompact, we only have r0 for a scratch register: r1 is the
    18       static chain pointer (even if you can't have nested virtual functions
    19       right now, someone might implement them sometime), and the rest of the
    20 @@ -9189,8 +9198,24 @@
    21        assemble_external (function);
    22        TREE_USED (function) = 1;
    23      }
    24 +  /* We can use scratch1 to save and restore the original value of
    25 +     PIC register except for SHcompact.  */
    26 +  if (flag_pic && ! TARGET_SHCOMPACT)
    27 +    {
    28 +      emit_move_insn (scratch1,
    29 +		      gen_rtx_REG (Pmode, PIC_OFFSET_TABLE_REGNUM));
    30 +      emit_insn (gen_GOTaddr2picreg ());
    31 +    }
    32    funexp = XEXP (DECL_RTL (function), 0);
    33    emit_move_insn (scratch2, funexp);
    34 +  if (flag_pic)
    35 +    {
    36 +      if (! TARGET_SHCOMPACT)
    37 +	emit_move_insn (gen_rtx_REG (Pmode, PIC_OFFSET_TABLE_REGNUM),
    38 +			scratch1);
    39 +      else
    40 +	pop (PIC_OFFSET_TABLE_REGNUM);
    41 +    }
    42    funexp = gen_rtx_MEM (FUNCTION_MODE, scratch2);
    43    sibcall = emit_call_insn (gen_sibcall (funexp, const0_rtx, NULL_RTX));
    44    SIBLING_CALL_P (sibcall) = 1;