| Submitter | Richard Purdie |
|---|---|
| Date | March 28, 2012, 11:20 a.m. |
| Message ID | <1332933637.28414.197.camel@ted> |
| Download | mbox | patch |
| Permalink | /patch/24727/ |
| State | Accepted |
| Commit | cc953e2259bf77e9e1f7a1e3d0dbe1509c79477e |
| Headers | show |
Comments
Patch
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}/
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 <richard.purdie@linuxfoundation.org> ---