[OE-core] [PATCH 2/2] libgcc: ensure gnueabi suffix is added when necessary

Chen Qi Qi.Chen at windriver.com
Fri Mar 25 02:19:10 UTC 2016


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 at windriver.com>
---
 meta/recipes-devtools/gcc/libgcc-common.inc | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-devtools/gcc/libgcc-common.inc b/meta/recipes-devtools/gcc/libgcc-common.inc
index 30a0dbb..7bbdb18 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
-- 
1.9.1




More information about the Openembedded-core mailing list