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