[OE-core] [PATCH] gcc-sanitizers: allow empty for lsan and tsan packages

Kang Kai Kai.Kang at windriver.com
Mon Oct 17 05:52:35 UTC 2016


On 2016年10月14日 17:32, Khem Raj wrote:
> On Fri, Oct 14, 2016 at 11:02 AM, Kang Kai <Kai.Kang at windriver.com> wrote:
>> On 2016年10月13日 22:59, Burton, Ross wrote:
>>
>>
>> On 13 October 2016 at 15:40, Kang Kai <Kai.Kang at 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"
>>
>> IMAGE_INSTALL += " \
>>      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.
> perhaps we should build sanitizers for multilib too ?

The problem is that thread and leak sanitizers are not supported for x86 
by checking in gcc/libsanitizer/configure.tgt:


# Filter out unsupported systems.
TSAN_TARGET_DEPENDENT_OBJECTS=
case "${target}" in
   x86_64-*-linux* | i?86-*-linux*)
         if test x$ac_cv_sizeof_void_p = x8; then
                 TSAN_SUPPORTED=yes
                 LSAN_SUPPORTED=yes
                 TSAN_TARGET_DEPENDENT_OBJECTS=tsan_rtl_amd64.lo
         fi
         ;;
...

that causes packages lib32-lsan* and lib32-tsan* are empty.


--Kai

>
>> Regards,
>> Kai
>>
>>
>> Ross
>>
>>
>>
>> --
>> Regards,
>> Neil | Kai Kang


-- 
Regards,
Neil | Kai Kang




More information about the Openembedded-core mailing list