From a1ef15a14388ab578f56afe646d4d2eaa47e1bbf Mon Sep 17 00:00:00 2001 From: Drew Moseley Date: Mon, 2 Jun 2014 16:22:59 -0400 Subject: [PATCH 1/3] external-sourcery-toolchain: Fix installation of lib/locale. Signed-off-by: Drew Moseley --- recipes/meta/external-sourcery-toolchain.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/meta/external-sourcery-toolchain.bb b/recipes/meta/external-sourcery-toolchain.bb index b494f24..9d1d316 100644 --- a/recipes/meta/external-sourcery-toolchain.bb +++ b/recipes/meta/external-sourcery-toolchain.bb @@ -42,7 +42,7 @@ do_install() { cp -a $usr_path ${D}/usr/ fi done - if [ "${base_libdir}" != "lib" ]; then + if [ "${base_libdir}" != "/lib" ]; then if [ -d $sysroot/usr/lib/locale ]; then install -d ${D}/usr/lib cp -a $sysroot/usr/lib/locale ${D}/usr/lib/ From 70f38570fb9cb6724aa08f6bcc5b1e0eb9238137 Mon Sep 17 00:00:00 2001 From: Drew Moseley Date: Mon, 2 Jun 2014 16:23:52 -0400 Subject: [PATCH 2/3] external-sourcery-toolchain: Package libinproctrace library. Signed-off-by: Drew Moseley --- recipes/meta/external-sourcery-toolchain.bb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/recipes/meta/external-sourcery-toolchain.bb b/recipes/meta/external-sourcery-toolchain.bb index 9d1d316..001a2f2 100644 --- a/recipes/meta/external-sourcery-toolchain.bb +++ b/recipes/meta/external-sourcery-toolchain.bb @@ -144,6 +144,7 @@ TC_PACKAGES =+ "libasan libasan-dev" TC_PACKAGES =+ "libtsan libtsan-dev" TC_PACKAGES =+ "libitm libitm-dev" TC_PACKAGES =+ "libatomic libatomic-dev" +TC_PACKAGES =+ "libinproctrace" TC_PACKAGES =+ "${@base_conditional('PREFERRED_PROVIDER_linux-libc-headers', PN, 'linux-libc-headers linux-libc-headers-dev', '', d)}" TC_PACKAGES =+ "${@base_conditional('PREFERRED_PROVIDER_oprofile', PN, 'oprofile oprofile-doc', '', d)}" TC_PACKAGES =+ "${@base_conditional('PREFERRED_PROVIDER_popt', PN, 'popt popt-dev', '', d)}" @@ -162,6 +163,7 @@ FILES_libasan = "${libdir}/libasan.so.*" FILES_libasan-dev = "${libdir}/libasan.so" FILES_libatomic = "${libdir}/libatomic.so.*" FILES_libatomic-dev = "${libdir}/libatomic.so" +FILES_libinproctrace = "${libdir}/libinproctrace.so" FILES_oprofile = "${bindir}/op* ${datadir}/oprofile ${libdir}/oprofile ${datadir}/stl.pat" FILES_oprofile-doc = "${mandir}/man1/oprofile* ${docdir}/oprofile" FILES_${PN}-dbg += "${bindir}/.debug/op*" @@ -209,6 +211,7 @@ INSANE_SKIP_${PN}-utils += "ldflags" INSANE_SKIP_libgcc += "ldflags" INSANE_SKIP_libasan += "ldflags" INSANE_SKIP_libatomic += "ldflags" +INSANE_SKIP_libinproctrace += "ldflags" INSANE_SKIP_libgomp += "ldflags" INSANE_SKIP_libitm += "ldflags" INSANE_SKIP_libquadmath += "ldflags" @@ -237,6 +240,7 @@ PKGV_libstdc++-dev = "${CSL_VER_GCC}" PKGV_libstdc++-staticdev = "${CSL_VER_GCC}" PKGV_libtsan = "${CSL_VER_GCC}" PKGV_libtsan-dev = "${CSL_VER_GCC}" +PKGV_libinproctrace = "${CSL_VER_GCC}" PKGV_gdbserver = "${CSL_VER_GDB}" PKGV_gdbserver-dbg = "${CSL_VER_GDB}" From 5835fd1adb7425c02813fbb8d2838c8177ebaefc Mon Sep 17 00:00:00 2001 From: Drew Moseley Date: Tue, 10 Jun 2014 19:24:51 -0400 Subject: [PATCH 3/3] external-sourcery-toolchain: Error out if libc.so does not exist Depending on the external toolchain config, the libc.so file may not exist. This generally means that the machine config does not have multi-lib support when it should. Rather than letting the "sed" command error out with a cryptic message, issue a (hopefully) more meaningful message. Signed-off-by: Drew Moseley --- recipes/meta/external-sourcery-toolchain.bb | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/recipes/meta/external-sourcery-toolchain.bb b/recipes/meta/external-sourcery-toolchain.bb index 001a2f2..c963f2b 100644 --- a/recipes/meta/external-sourcery-toolchain.bb +++ b/recipes/meta/external-sourcery-toolchain.bb @@ -73,6 +73,12 @@ do_install() { ln -s ../../bin/gdbserver ${D}${libdir}/bin/sysroot-gdbserver fi + if [ ! -e ${D}${libdir}/libc.so ]; then + bbfatal "Unable to locate installed libc.so file (${D}${libdir}/libc.so)." \ + "This may mean that your external toolchain uses a different" \ + "multi-lib setup than your machine configuration" + fi + sed -i -e "s# ${base_libdir}# ../..${base_libdir}#g" -e "s# ${libdir}# .#g" ${D}${libdir}/libc.so sed -i -e "s# ${base_libdir}# ../..${base_libdir}#g" -e "s# ${libdir}# .#g" ${D}${libdir}/libpthread.so