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