patches/binutils/2.20.1a/300-mips64-defaultemul.patch
author Daniel Price <daniel.price@gmail.com>
Tue Nov 20 16:59:17 2012 -0800 (2012-11-20)
changeset 3126 333d3e40cbd1
parent 2088 4f21ba5f8e91
permissions -rw-r--r--
scripts: refine static linking check to better guide the user

The current mechanism to check if static linking is possible, and the mesage
displayed on failure, can be puzzling to the unsuspecting user.

Also, the current implementation is not using the existing infrastructure,
and is thus difficult to enhance with new tests.

So, switch to using the standard CT_DoExecLog infra, and use four tests to
check for the host compiler:
- check we can run it
- check it can build a trivial program
- check it can statically link that program
- check if it statically link with libstdc++

That should cover most of the problems. Hopefully.

(At the same time, fix a typo in a comment)

Signed-off-by: Daniel Price <daniel.price@gmail.com>
[yann.morin.1998@free.fr: split original patch for self-contained changes]
[yann.morin.1998@free.fr: use steps to better see gcc's output]
[yann.morin.1998@free.fr: commit log]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <163f86b5216fc08c672a.1353459722@nipigon.dssd.com>
Patchwork-Id: 200536
yann@2088
     1
yann@2088
     2
yann@2088
     3
diff -durN binutils-2.20.1.orig/ld/configure.tgt binutils-2.20.1/ld/configure.tgt
yann@2088
     4
--- binutils-2.20.1.orig/ld/configure.tgt	2009-08-06 19:38:03.000000000 +0200
yann@2088
     5
+++ binutils-2.20.1/ld/configure.tgt	2010-08-17 19:32:26.000000000 +0200
mlistz@1816
     6
@@ -400,11 +400,11 @@
mlistz@1816
     7
 mips*-*-vxworks*)	targ_emul=elf32ebmipvxworks
mlistz@1816
     8
 		        targ_extra_emuls="elf32elmipvxworks" ;;
mlistz@1816
     9
 mips*-*-windiss)	targ_emul=elf32mipswindiss ;;
mlistz@1816
    10
-mips64*el-*-linux-*)	targ_emul=elf32ltsmipn32
mlistz@1816
    11
-			targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip"
mlistz@1816
    12
+mips64*el-*-linux-*)	targ_emul=elf64ltsmip
mlistz@1816
    13
+			targ_extra_emuls="elf32ltsmipn32 elf32btsmipn32 elf32ltsmip elf32btsmip elf64btsmip"
mlistz@1816
    14
 			targ_extra_libpath=$targ_extra_emuls ;;
mlistz@1816
    15
-mips64*-*-linux-*)	targ_emul=elf32btsmipn32
mlistz@1816
    16
-			targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf64btsmip elf64ltsmip"
mlistz@1816
    17
+mips64*-*-linux-*)	targ_emul=elf64btsmip
mlistz@1816
    18
+			targ_extra_emuls="elf32btsmipn32 elf32ltsmipn32 elf32btsmip elf32ltsmip elf64ltsmip"
mlistz@1816
    19
 			targ_extra_libpath=$targ_extra_emuls ;;
mlistz@1816
    20
 mips*el-*-linux-*)	targ_emul=elf32ltsmip
mlistz@1816
    21
 			targ_extra_emuls="elf32btsmip elf32ltsmipn32 elf64ltsmip elf32btsmipn32 elf64btsmip"