• Jose Fonseca's avatar
    scons: Allow building with Address Sanitizer. · fa46848e
    Jose Fonseca authored
    libasan is never linked to shared objects (which doesn't go well with
    -z,defs).  It must either be linked to the main executable, or (more
    practically for OpenGL drivers) be pre-loaded via LD_PRELOAD.
    
    Otherwise works.
    
    I didn't find anything with llvmpipe.  I suspect the fact that the
    JIT compiled code isn't instrumented means there are lots of errors it
    can't catch.
    
    But for non-JIT drivers, the Address/Leak Sanitizers seem like a faster
    alternative to Valgrind.
    
    Usage (Ubuntu 15.10):
    
       scons asan=1 libgl-xlib
       export LD_LIBRARY_PATH=$PWD/build/linux-x86_64-debug/gallium/targets/libgl-xlib
       LD_PRELOAD=libasan.so.2 any-opengl-application
    Acked-by: default avatarRoland Scheidegger <sroland@vmware.com>
    fa46848e
common.py 3.77 KB