]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
libgcc: ensure gnueabi suffix is added when necessary ChenQi/aarch64-multilib
authorChen Qi <Qi.Chen@windriver.com>
Fri, 25 Mar 2016 01:41:14 +0000 (09:41 +0800)
committerChen Qi <Qi.Chen@windriver.com>
Fri, 25 Mar 2016 02:16:48 +0000 (10:16 +0800)
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>
meta/recipes-devtools/gcc/libgcc-common.inc

index 30a0dbb52e6025632b6f38d600191886606b42a9..7bbdb189d2498edcf3f216648f1669f183efa6ac 100644 (file)
@@ -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