aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChen Qi <Qi.Chen@windriver.com>2016-03-25 09:41:14 +0800
committerChen Qi <Qi.Chen@windriver.com>2016-03-25 10:16:48 +0800
commitd145ba21d26a3836940b8b3a3ab2ffa835b1c4e2 (patch)
tree511a03907a83d5510d5f9aa2e5fece1b80f6e8ca
parenta6bf8ae4700486a6068bd04ad1b3c92b96dc8698 (diff)
downloadopenembedded-core-contrib-ChenQi/aarch64-multilib.tar.gz
libgcc: ensure gnueabi suffix is added when necessaryChenQi/aarch64-multilib
The '32' symlink in aarch64 multilib is broken. An example configuration to reproduce the bug is as follows. MACHINE = qemuarm64 require conf/multilib.conf MULTILIBS = "multilib:lib32" DEFAULTTUNE_virtclass-multilib-lib32 = "armv7at-neon" Build and install SDK, then we would find the following symlink is broken. ./sysroots/aarch64-poky-linux/usr/lib64/aarch64-poky-linux/5.3.0/32 The patch fixes the above problem. [YOCTO #8642] Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
-rw-r--r--meta/recipes-devtools/gcc/libgcc-common.inc11
1 files changed, 10 insertions, 1 deletions
diff --git a/meta/recipes-devtools/gcc/libgcc-common.inc b/meta/recipes-devtools/gcc/libgcc-common.inc
index 30a0dbb52e..7bbdb189d2 100644
--- a/meta/recipes-devtools/gcc/libgcc-common.inc
+++ b/meta/recipes-devtools/gcc/libgcc-common.inc
@@ -111,9 +111,18 @@ fakeroot python do_multilib_install() {
if not tune_bitness:
tune_bitness = '32' # /lib => 32bit lib
+ suffix = ""
+ localdata = bb.data.createCopy(d)
+ override = ":virtclass-multilib-" + ml
+ localdata.setVar("OVERRIDES", localdata.getVar("OVERRIDES", False) + override)
+ bb.data.update_data(localdata)
+ tarch = localdata.getVar('TARGET_ARCH', True)
+ if tarch == "arm" or tarch == "armeb":
+ suffix = "-gnueabi"
+
src = '../../../' + tune_baselib + '/' + \
tune_arch + d.getVar('TARGET_VENDOR', True) + 'ml' + ml + \
- '-' + d.getVar('TARGET_OS', True) + '/' + binv + '/'
+ '-' + d.getVar('TARGET_OS', True) + suffix + '/' + binv + '/'
dest = d.getVar('D', True) + d.getVar('libdir', True) + '/' + \
d.getVar('TARGET_SYS', True) + '/' + binv + '/' + tune_bitness