On 2016年10月13日 22:59, Burton, Ross wrote:

On 13 October 2016 at 15:40, Kang Kai <kai.k...@windriver.com <mailto:kai.k...@windriver.com>> wrote:

    gcc checks tsan and lsan support in source file
    gcc/libsanitizer/configure.tgt, it seems only support x86_64. Then
    tsan and lsan related packages will be empty for other target.
    For qemuarm project, add in local.conf:

    IMAGE_INSTALL_append = " libtsan"

If libtsan is x86-64 only, why not only add it for x86-64 images? The package not existing on machines it can't be built for is more obvious than existing but being empty.

The real scenario is for x86-64 kernel with x86 rootfs. We created a template to enable gcc sanitize support. It just simple adds sanitize related packages to image:

LIBX_DEV ?= ""
LIBX_DEV_x86-64 = "liblsan-dev libtsan-dev"

    gcc-sanitizers \
    libasan-dev \
    libubsan-dev \
    ${LIBX_DEV} \

When multilib is enabled, it fails for x86-64 kernel with x86 rootfs such as lib32-xxx-image on qemux86-64. Var IMAGE_INSTALL will be expand with prefix lib32 but lib32-lsan* and lib32-tsan* are empty then cause the failures.



Neil | Kai Kang

Openembedded-core mailing list

Reply via email to