Re: Testing for memory safety issues with Address Sanitizer



On Mon, 2016-09-19 at 12:03 +0200, Hanno Böck wrote:
./configure CFLAGS="-fsanitize=address -g -fno-common
-U_FORTIFY_SOURCE" CXXFLAGS="-fsanitize=address -g -fno-common
-U_FORTIFY_SOURCE" LDFLAGS="-fsanitize=address -g -fno-common
-U_FORTIFY_SOURCE"

Do you really need to pass e.g. -g to LDFLAGS?

I tried this in my jhbuildrc:

module_extra_env = {
    'epiphany': {'CFLAGS': '-fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-common 
-fsanitize=address -U_FORTIFY_SOURCE',
                 'LDFLAGS': '-fno-common -fsanitize=address -U_FORTIFY_SOURCE -Wl,-z,lazy',
                 'ASAN_OPTIONS': 'log_path=/home/mcatanzaro/asan-error'
                }
}

But it doesn't work for Epiphany, the web extension is broken:

Error loading module
'/home/mcatanzaro/src/jhbuild/install/lib/epiphany/web-
extensions/libephywebextension.so':
/home/mcatanzaro/src/jhbuild/install/lib/epiphany/libephymisc.so:
undefined symbol: __asan_option_detect_stack_use_after_return

Is anything special needed for dlopened modules?

I'm pretty sure I had it working in the past as I did use asan once
before to fix some miscellaneous leaks, but I don't remember how I got
it to work. We should come up with some jhbuildrc foo that will work
without breaking modules.

Michael


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]