patches/binutils/2.19/120-sh-targets.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 Gentoo:
     2 gentoo/src/patchsets/binutils/2.19/12_all_sh-targets.patch
     3 
     4 r10231 | lethal | 2005-05-02 09:58:00 -0400 (Mon, 02 May 2005) | 13 lines
     5 
     6 Likewise, binutils has no idea about any of these new targets either, so we
     7 fix that up too.. now we're able to actually build a real toolchain for
     8 sh2a_nofpu- and other more ineptly named toolchains (and yes, there are more
     9 inept targets than that one, really. Go look, I promise).
    10 
    11 diff -durN binutils-2.19.orig/configure binutils-2.19/configure
    12 --- binutils-2.19.orig/configure	2008-11-23 16:23:44.000000000 +0100
    13 +++ binutils-2.19/configure	2008-11-23 16:23:57.000000000 +0100
    14 @@ -2281,7 +2281,7 @@
    15    am33_2.0-*-linux*)
    16      noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
    17      ;;
    18 -  sh-*-linux*)
    19 +  sh*-*-linux*)
    20      noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
    21      ;;
    22    sh*-*-pe|mips*-*-pe|*arm-wince-pe)
    23 @@ -2606,7 +2606,7 @@
    24    romp-*-*)
    25      noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
    26      ;;
    27 -  sh-*-* | sh64-*-*)
    28 +  sh*-*-* | sh64-*-*)
    29      case "${host}" in
    30        i[3456789]86-*-vsta) ;; # don't add gprof back in
    31        i[3456789]86-*-go32*) ;; # don't add gprof back in
    32 diff -durN binutils-2.19.orig/configure.ac binutils-2.19/configure.ac
    33 --- binutils-2.19.orig/configure.ac	2008-10-16 15:45:42.000000000 +0200
    34 +++ binutils-2.19/configure.ac	2008-11-23 16:23:57.000000000 +0100
    35 @@ -530,7 +530,7 @@
    36    am33_2.0-*-linux*)
    37      noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
    38      ;;
    39 -  sh-*-linux*)
    40 +  sh*-*-linux*)
    41      noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
    42      ;;    
    43    sh*-*-pe|mips*-*-pe|*arm-wince-pe)
    44 @@ -855,7 +855,7 @@
    45    romp-*-*)
    46      noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
    47      ;;
    48 -  sh-*-* | sh64-*-*)
    49 +  sh*-*-* | sh64-*-*)
    50      case "${host}" in
    51        i[[3456789]]86-*-vsta) ;; # don't add gprof back in
    52        i[[3456789]]86-*-go32*) ;; # don't add gprof back in