Bug 8642

Summary: The "32" is a broken symlink in aarch64's mutilib SDK
Product: [Build System, Metadata & Runtime] OE-Core Reporter: Robert Yang <liezhi.yang>
Component: devtools / tool chainAssignee: Chen Qi <Qi.Chen>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: Medium+ CC: meta.mr.watcher, meta.watcher, ncrypticus, richard.purdie, ross.burton
Version: 2.1   
Target Milestone: 2.2 M4   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: No (bug/feature does not impact docs)

Description Robert Yang 2015-11-04 13:54:34 UTC
MACHINE = qemuarm64
require conf/multilib.conf
MULTILIBS = "multilib:lib32"
DEFAULTTUNE_virtclass-multilib-lib32 = "armv7at-neon"

$ bitbake core-image-minimal -cpopulate_sdk

The extract SDK, the ./sysroots/aarch64-poky-linux/usr/lib64/aarch64-poky-linux/5.2.0/32 is a broken symlink since it points to ../../../lib/arm-pokymllib32-linux/5.2.0/, but it should be ../../../lib/arm-pokymllib32-linux-gnueabi/, this is because there is no "-gnueabi" in TARGET_OS when build libgcc (64bit), and there is no easy way to know whether lib32-libgcc uses "-gnueabi" or not. Possibly two ways to fix the problem:
1) Check whether MULTILIB is arm or armeb, if yes, then use "-gnueabi", else no
2) Use a in sysroot to save "-gnueabi".
Comment 1 Ross Burton 2016-07-12 16:40:04 UTC
There's a branch under review at http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=ChenQi/aarch64-multilib.
Comment 3 Richard Purdie 2016-10-01 21:05:19 UTC
*** Bug 10054 has been marked as a duplicate of this bug. ***