summaryrefslogtreecommitdiff
path: root/meta/packages
diff options
context:
space:
mode:
authorZhai Edwin <edwin.zhai@intel.com>2010-07-29 12:58:59 +0800
committerRichard Purdie <rpurdie@linux.intel.com>2010-07-30 14:50:30 +0100
commitd9f22d402459d2e70df83df65d4acc273297426a (patch)
treebc706fed13fc59df3adccd1a5ab9f9dd7ad062a9 /meta/packages
parentda1332a7dd5432dea0fbbce90641dbd2f2803fec (diff)
downloadopenembedded-core-d9f22d402459d2e70df83df65d4acc273297426a.tar.gz
openembedded-core-d9f22d402459d2e70df83df65d4acc273297426a.tar.bz2
openembedded-core-d9f22d402459d2e70df83df65d4acc273297426a.zip
binutils: Fixed cross-compile issue for 64b build + arm target
Incoportate RP's patch, which seems to be lost when update. Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
Diffstat (limited to 'meta/packages')
-rw-r--r--meta/packages/binutils/binutils-2.20.1/binutils-libtool.patch67
-rw-r--r--meta/packages/binutils/binutils_2.20.1.bb1
2 files changed, 68 insertions, 0 deletions
diff --git a/meta/packages/binutils/binutils-2.20.1/binutils-libtool.patch b/meta/packages/binutils/binutils-2.20.1/binutils-libtool.patch
new file mode 100644
index 0000000000..61517d1d4c
--- /dev/null
+++ b/meta/packages/binutils/binutils-2.20.1/binutils-libtool.patch
@@ -0,0 +1,67 @@
+This is because libdir has a trailing slash which breaks the comparision.
+
+RP 2/1/10
+
+Index: binutils-2.20.1/ltmain.sh
+===================================================================
+--- binutils-2.20.1.orig/ltmain.sh 2009-09-01 00:59:32.000000000 +0800
++++ binutils-2.20.1/ltmain.sh 2010-07-29 09:41:14.000000000 +0800
+@@ -2156,8 +2156,12 @@
+ dir="$dir$objdir"
+
+ if test -n "$relink_command"; then
++ # Strip any trailing slash from the destination.
++ func_stripname '' '/' "$libdir"
++ destlibdir=$func_stripname_result
++
+ # Determine the prefix the user has applied to our future dir.
+- inst_prefix_dir=`$ECHO "X$destdir" | $Xsed -e "s%$libdir\$%%"`
++ inst_prefix_dir=`$ECHO "X$destdir" | $Xsed -e "s%$destlibdir\$%%"`
+
+ # Don't allow the user to place us outside of our expected
+ # location b/c this prevents finding dependent libraries that
+@@ -5570,8 +5574,14 @@
+ absdir="$abs_ladir"
+ libdir="$abs_ladir"
+ else
+- dir="$libdir"
+- absdir="$libdir"
++ # Adding 'libdir' from the .la file to our library search paths
++ # breaks crosscompilation horribly. We cheat here and don't add
++ # it, instead adding the path where we found the .la. -CL
++ dir="$abs_ladir"
++ absdir="$abs_ladir"
++ libdir="$abs_ladir"
++ #dir="$libdir"
++ #absdir="$libdir"
+ fi
+ test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
+ else
+@@ -5942,8 +5952,6 @@
+ add="$libdir/$linklib"
+ fi
+ else
+- # We cannot seem to hardcode it, guess we'll fake it.
+- add_dir="-L$libdir"
+ # Try looking first in the location we're being installed to.
+ if test -n "$inst_prefix_dir"; then
+ case $libdir in
+@@ -6089,7 +6097,17 @@
+ fi
+ ;;
+ *)
+- path="-L$absdir/$objdir"
++ # OE sets installed=no in staging. We need to look in $objdir and $absdir,
++ # preferring $objdir. RP 31/04/2008
++ if test -f "$absdir/$objdir/$depdepl" ; then
++ depdepl="$absdir/$objdir/$depdepl"
++ path="-L$absdir/$objdir"
++ elif test -f "$absdir/$depdepl" ; then
++ depdepl="$absdir/$depdepl"
++ path="-L$absdir"
++ else
++ path="-L$absdir/$objdir"
++ fi
+ ;;
+ esac
+ else
diff --git a/meta/packages/binutils/binutils_2.20.1.bb b/meta/packages/binutils/binutils_2.20.1.bb
index a533bd8bb0..88a3dec280 100644
--- a/meta/packages/binutils/binutils_2.20.1.bb
+++ b/meta/packages/binutils/binutils_2.20.1.bb
@@ -25,6 +25,7 @@ SRC_URI = "\
file://binutils-uclibc-gas-needs-libm.patch \
file://binutils-x86_64_i386_biarch.patch \
file://binutils-mips-pie.patch \
+ file://binutils-libtool.patch \
"
# powerpc patches