[OE-core] [PATCH] gcc-4.8: fix compiling GCC when /usr/lib/libstdc++.so is present

Khem Raj raj.khem at gmail.com
Sun Jul 21 16:12:01 UTC 2013


On Jul 21, 2013, at 3:07 AM, Jonathan Liu <net147 at 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 <net147 at 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 <net147 at 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
> 




More information about the Openembedded-core mailing list