diff options
Diffstat (limited to 'meta/recipes-devtools')
-rw-r--r-- | meta/recipes-devtools/gcc/libgcc-common.inc | 24 | ||||
-rw-r--r-- | meta/recipes-devtools/gcc/libgcc.inc | 2 |
2 files changed, 18 insertions, 8 deletions
diff --git a/meta/recipes-devtools/gcc/libgcc-common.inc b/meta/recipes-devtools/gcc/libgcc-common.inc index b09ea657e7..71e09d84f8 100644 --- a/meta/recipes-devtools/gcc/libgcc-common.inc +++ b/meta/recipes-devtools/gcc/libgcc-common.inc @@ -134,11 +134,21 @@ BASETARGET_SYS = "${TARGET_ARCH}${ORIG_TARGET_VENDOROS}" addtask extra_symlinks after do_multilib_install before do_package do_populate_sysroot fakeroot python do_extra_symlinks() { - targetsys = d.getVar('BASETARGET_SYS', True) - - if targetsys != d.getVar('TARGET_SYS', True): - dest = d.getVar('D', True) + d.getVar('libdir', True) + '/' + targetsys - src = d.getVar('TARGET_SYS', True) - if not os.path.lexists(dest) and os.path.lexists(d.getVar('D', True) + d.getVar('libdir', True)): - os.symlink(src, dest) + base_targetsys = d.getVar('BASETARGET_SYS', True) + targetsys = d.getVar('TARGET_SYS', True) + + if base_targetsys != targetsys: + dest = d.getVar('D', True) + d.getVar('libdir', True) + '/' + base_targetsys + dest_list = [dest] + # For multilib like aarch64 + arm, need 2 symlinks: + # 1) BASETARGET_SYS as usual + # 2) BASETARGET_SYS + "-gnueabi" for multilib + libce = d.getVar('LIBCEXTENSION', True) + abie = d.getVar('ABIEXTENSION', True) + if abie and libce and targetsys.endswith(libce + abie): + dest_list.append(dest + libce + abie) + src = targetsys + for dir in dest_list: + if not os.path.lexists(dir) and os.path.lexists(d.getVar('D', True) + d.getVar('libdir', True)): + os.symlink(src, dir) } diff --git a/meta/recipes-devtools/gcc/libgcc.inc b/meta/recipes-devtools/gcc/libgcc.inc index 95fa3f40b0..f6a0a8ce1d 100644 --- a/meta/recipes-devtools/gcc/libgcc.inc +++ b/meta/recipes-devtools/gcc/libgcc.inc @@ -17,7 +17,7 @@ LICENSE_${PN}-dbg = "GPL-3.0-with-GCC-exception" FILES_${PN}-dev = "\ ${base_libdir}/libgcc*.so \ - ${@base_conditional('BASETARGET_SYS', '${TARGET_SYS}', '', '${libdir}/${BASETARGET_SYS}', d)} \ + ${@base_conditional('BASETARGET_SYS', '${TARGET_SYS}', '', '${libdir}/${BASETARGET_SYS}*', d)} \ ${libdir}/${TARGET_SYS}/${BINV}* \ " |