patches/gcc/4.3.4/340-make-mno-spe-work-as-expected.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Thu Feb 17 21:54:07 2011 +0100 (2011-02-17)
changeset 2301 a3818c3b03e0
permissions -rw-r--r--
internals: fix stripping host binaries

The gcc used by linaro has a version number specific to Linaro, but
identifies itself with its upstream version numbering scheme.

This breaks the strip in the finish step, because the actual gcc version
is not the same as the configured one (eg. 4.5.2 vs. linaro-4.5-2011.02-0).

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
     1 Original patch from: ../4.3.2/340-make-mno-spe-work-as-expected.patch
     2 
     3 -= BEGIN original header =-
     4 2008-04-03  Nathan Froyd  <froydnj@codesourcery.com>
     5             Nathan Sidwell  <nathan@codesourcery.com>
     6 
     7         * config/rs6000/rs6000.opt (mspe): Remove Var property.
     8         (misel): Likewise.
     9         * config/rs6000/rs6000.h (rs6000_spe): Declare.
    10         (rs6000_isel): Likewise.
    11         * config/rs6000/rs6000.c (rs6000_spe): New variable.
    12         (rs6000_isel): New variable.
    13         (rs6000_handle_option): Handle OPT_mspe and OPT_misel.                                                                                         
    14 
    15 -= END original header =-
    16 
    17 diff -durN gcc-4.3.3.orig/gcc/config/rs6000/rs6000.c gcc-4.3.3/gcc/config/rs6000/rs6000.c
    18 --- gcc-4.3.3.orig/gcc/config/rs6000/rs6000.c	2008-11-18 23:07:58.000000000 +0100
    19 +++ gcc-4.3.3/gcc/config/rs6000/rs6000.c	2009-01-27 22:28:55.000000000 +0100
    20 @@ -174,9 +174,15 @@
    21  /* Nonzero to use AltiVec ABI.  */
    22  int rs6000_altivec_abi;
    23  
    24 +/* Nonzero if we want SPE SIMD instructions.  */
    25 +int rs6000_spe;
    26 +
    27  /* Nonzero if we want SPE ABI extensions.  */
    28  int rs6000_spe_abi;
    29  
    30 +/* Nonzero to use isel instructions.  */
    31 +int rs6000_isel;
    32 +
    33  /* Nonzero if floating point operations are done in the GPRs.  */
    34  int rs6000_float_gprs = 0;
    35  
    36 @@ -2144,11 +2150,21 @@
    37        rs6000_parse_yes_no_option ("vrsave", arg, &(TARGET_ALTIVEC_VRSAVE));
    38        break;
    39  
    40 +    case OPT_misel:
    41 +      rs6000_explicit_options.isel = true;
    42 +      rs6000_isel = value;
    43 +      break;
    44 +
    45      case OPT_misel_:
    46        rs6000_explicit_options.isel = true;
    47        rs6000_parse_yes_no_option ("isel", arg, &(rs6000_isel));
    48        break;
    49  
    50 +    case OPT_mspe:
    51 +      rs6000_explicit_options.spe = true;
    52 +      rs6000_spe = value;
    53 +      break;
    54 +
    55      case OPT_mspe_:
    56        rs6000_explicit_options.spe = true;
    57        rs6000_parse_yes_no_option ("spe", arg, &(rs6000_spe));
    58 diff -durN gcc-4.3.3.orig/gcc/config/rs6000/rs6000.h gcc-4.3.3/gcc/config/rs6000/rs6000.h
    59 --- gcc-4.3.3.orig/gcc/config/rs6000/rs6000.h	2008-01-26 18:18:35.000000000 +0100
    60 +++ gcc-4.3.3/gcc/config/rs6000/rs6000.h	2009-01-27 22:28:55.000000000 +0100
    61 @@ -349,6 +349,8 @@
    62  extern int rs6000_ieeequad;
    63  extern int rs6000_altivec_abi;
    64  extern int rs6000_spe_abi;
    65 +extern int rs6000_spe;
    66 +extern int rs6000_isel;
    67  extern int rs6000_float_gprs;
    68  extern int rs6000_alignment_flags;
    69  extern const char *rs6000_sched_insert_nops_str;
    70 diff -durN gcc-4.3.3.orig/gcc/config/rs6000/rs6000.opt gcc-4.3.3/gcc/config/rs6000/rs6000.opt
    71 --- gcc-4.3.3.orig/gcc/config/rs6000/rs6000.opt	2007-10-31 08:56:01.000000000 +0100
    72 +++ gcc-4.3.3/gcc/config/rs6000/rs6000.opt	2009-01-27 22:28:55.000000000 +0100
    73 @@ -190,7 +190,7 @@
    74  -mvrsave=yes/no	Deprecated option.  Use -mvrsave/-mno-vrsave instead
    75  
    76  misel
    77 -Target Var(rs6000_isel)
    78 +Target
    79  Generate isel instructions
    80  
    81  misel=
    82 @@ -198,7 +198,7 @@
    83  -misel=yes/no	Deprecated option.  Use -misel/-mno-isel instead
    84  
    85  mspe
    86 -Target Var(rs6000_spe)
    87 +Target
    88  Generate SPE SIMD instructions on E500
    89  
    90  mpaired