On Jul 21, 2013, at 3:07 AM, Jonathan Liu <net...@gmail.com> wrote:

> libtool is picking up libstdc++.so from /usr/lib when trying to link
> libasan due to libstdc++.la containing libdir="/usr/lib". If compiling

Can you also see if this change works on target and SDK environments ?

> for x86 and the host has 64-bit /usr/lib/libstdc++.so, the compilation
> fails linking libasan with:
> /usr/lib/libstdc++.so: could not read symbols: File in wrong format
> 
> To resolve this, patch libtool to look for the library in the path the
> .la is contained in rather than use the libdir which usually points to
> a host path.
> 
> [YOCTO #4879]
> 
> Signed-off-by: Jonathan Liu <net...@gmail.com>
> ---
> meta/recipes-devtools/gcc/gcc-4.8.inc                 |  1 +
> .../gcc/gcc-4.8/0041-libtool-avoid-libdir.patch       | 19 +++++++++++++++++++
> 2 files changed, 20 insertions(+)
> create mode 100644 
> meta/recipes-devtools/gcc/gcc-4.8/0041-libtool-avoid-libdir.patch
> 
> diff --git a/meta/recipes-devtools/gcc/gcc-4.8.inc 
> b/meta/recipes-devtools/gcc/gcc-4.8.inc
> index dafa241..42355f2 100644
> --- a/meta/recipes-devtools/gcc/gcc-4.8.inc
> +++ b/meta/recipes-devtools/gcc/gcc-4.8.inc
> @@ -70,6 +70,7 @@ SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
>          file://0038-gcc-4.8-build-args.patch \
>          file://0039-gcc-4.8-PR57717.patch \
>          file://0040-fix-g++-sysroot.patch \
> +        file://0041-libtool-avoid-libdir.patch \
>         "
> SRC_URI[md5sum] = "3b2386c114cd74185aa3754b58a79304"
> SRC_URI[sha256sum] = 
> "545b44be3ad9f2c4e90e6880f5c9d4f0a8f0e5f67e1ffb0d45da9fa01bb05813"
> diff --git 
> a/meta/recipes-devtools/gcc/gcc-4.8/0041-libtool-avoid-libdir.patch 
> b/meta/recipes-devtools/gcc/gcc-4.8/0041-libtool-avoid-libdir.patch
> new file mode 100644
> index 0000000..2dd9610
> --- /dev/null
> +++ b/meta/recipes-devtools/gcc/gcc-4.8/0041-libtool-avoid-libdir.patch
> @@ -0,0 +1,19 @@
> +Avoid using libdir from .la which usually points to a host path
> +
> +Upstream-Status: Inappropriate [embedded specific]
> +Signed-off-by: Jonathan Liu <net...@gmail.com>
> +
> +diff --git a/ltmain.sh b/ltmain.sh
> +index a03433f..1902a90 100644
> +--- a/ltmain.sh
> ++++ b/ltmain.sh
> +@@ -5628,6 +5628,9 @@ func_mode_link ()
> +         absdir="$abs_ladir"
> +         libdir="$abs_ladir"
> +       else
> ++        # Instead of using libdir from .la which usually points to a host 
> path,
> ++        # use the path the .la is contained in.
> ++        libdir="$abs_ladir"
> +         dir="$libdir"
> +         absdir="$libdir"
> +       fi
> -- 
> 1.8.3.2
> 

_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to