Merge remote-tracking branch 'teor/feature15817-clang-sanitizers'

This commit is contained in:
Nick Mathewson 2015-06-11 10:24:28 -04:00
commit c3e3c6ca85

View File

@ -29,6 +29,9 @@
# It has not been tested with ThreadSanitizer or MemorySanitizer # It has not been tested with ThreadSanitizer or MemorySanitizer
# Success report and patches for other sanitizers or OSs are welcome # Success report and patches for other sanitizers or OSs are welcome
# ccache and make don't account for the sanitizer blacklist as a dependency
# you might need to set CCACHE_DISABLE=1 and/or use make clean to workaround
# Configuration Flags: # Configuration Flags:
# -fno-sanitize-recover=all # -fno-sanitize-recover=all
# causes clang to crash on undefined behavior, rather than printing # causes clang to crash on undefined behavior, rather than printing
@ -67,23 +70,23 @@
# Blacklist Entries: # Blacklist Entries:
# test-memwipe.c checks if a freed buffer was properly wiped
fun:vmemeq
fun:check_a_buffer
# we need to allow the tor bt handler to catch SIGSEGV # we need to allow the tor bt handler to catch SIGSEGV
# otherwise address sanitizer munges the expected output and the test fails # otherwise address sanitizer munges the expected output and the test fails
# we can do this by setting an environmental variable # we can do this by setting an environmental variable
# See https://code.google.com/p/address-sanitizer/wiki/Flags # See https://code.google.com/p/address-sanitizer/wiki/Flags
# ASAN_OPTIONS=allow_user_segv_handler=1 # ASAN_OPTIONS=allow_user_segv_handler=1
# test-memwipe.c checks if a freed buffer was properly wiped
fun:vmemeq
fun:check_a_buffer
# test_bt_cl.c stores to a NULL pointer to trigger a crash # test_bt_cl.c stores to a NULL pointer to trigger a crash
fun:crash fun:crash
# curve25519-donna.c left-shifts 1 bits into and past the sign bit of signed # curve25519-donna.c left-shifts 1 bits into and past the sign bit of signed
# integers. Until #13538 is resolved, we can exempt the entire file from all # integers. Until #13538 is resolved, we exempt functions that do left shifts.
# analysis under clang's undefined behavior sanitizer.
# This may be overkill, but it works, and is easier than listing every
# function in the file.
# Note that x86_64 uses curve25519-donna-c64.c instead of curve25519-donna.c # Note that x86_64 uses curve25519-donna-c64.c instead of curve25519-donna.c
src:src/ext/curve25519_donna/curve25519-donna.c fun:freduce_coefficients
fun:freduce_degree
fun:s32_eq
fun:fcontract