This fixes multilib issues if you try for example to use a BASELIB of /lib32
which wouldn't work without this change since the compiler install location
is taken from gcc -print-multi-os-directory which can still turn out to be
"/lib".
The reason is that a 32 bit gcc has no multilib code enabled and will always
return "." as that value rather than "../${base_libdir}" which our changes
to gcc enable and return in 64 bit mode.
Signed-off-by: Richard Purdie <[email protected]>
---
diff --git a/meta/recipes-devtools/gcc/gcc-cross-intermediate.inc
b/meta/recipes-devtools/gcc/gcc-cross-intermediate.inc
index ea105e6..316a764 100644
--- a/meta/recipes-devtools/gcc/gcc-cross-intermediate.inc
+++ b/meta/recipes-devtools/gcc/gcc-cross-intermediate.inc
@@ -37,7 +37,8 @@ do_compile () {
do_install () {
oe_runmake 'DESTDIR=${D}' install
install -d ${D}${target_base_libdir}/
- mv ${D}${exec_prefix}/${TARGET_SYS}/${baselib}/*
${D}${target_base_libdir}/
+ osdir=`${D}${STAGING_BINDIR_TOOLCHAIN}.${PN}/${TARGET_PREFIX}gcc
-print-multi-os-directory`
+ mv ${D}${exec_prefix}/${TARGET_SYS}/lib/$osdir/*
${D}${target_base_libdir}/
# We don't really need this (here shares/ contains man/, info/,
locale/).
rm -rf ${D}${datadir}/
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core