• M
    ucontext: annotate coroutine stack for ASAN · d83414e1
    Marc-André Lureau 提交于
    It helps ASAN to detect more leaks on coroutine stacks, and to get rid
    of some extra warnings.
    
    Before:
    
    tests/test-coroutine -p
    /basic/lifecycle
    /basic/lifecycle: ==20781==WARNING: ASan doesn't fully support
    makecontext/swapcontext functions and may produce false positives in
    some cases!
    ==20781==WARNING: ASan is ignoring requested __asan_handle_no_return:
    stack top: 0x7ffcb184d000; bottom 0x7ff6c4cfd000; size: 0x0005ecb50000
    (25446121472)
    False positive error reports may follow
    For details see https://github.com/google/sanitizers/issues/189
    OK
    
    After:
    
    tests/test-coroutine -p /basic/lifecycle
    /basic/lifecycle: ==21110==WARNING: ASan doesn't fully support
    makecontext/swapcontext functions and may produce false positives in
    some cases!
    OK
    
    A similar work would need to be done for sigaltstack & windows fibers
    to have similar coverage. Since ucontext is preferred, I didn't bother
    checking the other coroutine implementations for now.
    
    Update travis to fix the build with ASAN annotations.
    Signed-off-by: NMarc-André Lureau <marcandre.lureau@redhat.com>
    Message-Id: <20180116151152.4040-4-marcandre.lureau@redhat.com>
    Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
    d83414e1
configure 179.2 KB