diff options
Diffstat (limited to 'compiler-rt/lib/asan/lit_tests/symbolize_callback.cc')
| -rw-r--r-- | compiler-rt/lib/asan/lit_tests/symbolize_callback.cc | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/compiler-rt/lib/asan/lit_tests/symbolize_callback.cc b/compiler-rt/lib/asan/lit_tests/symbolize_callback.cc new file mode 100644 index 00000000000..08ed9644d3e --- /dev/null +++ b/compiler-rt/lib/asan/lit_tests/symbolize_callback.cc @@ -0,0 +1,21 @@ +// RUN: %clangxx_asan -O2 %s -o %t && %t 2>&1 | FileCheck %s + +#include <stdio.h> +#include <stdlib.h> + +bool MySymbolizer(const void *pc, char *out_buffer, int out_size) { + snprintf(out_buffer, out_size, "MySymbolizer"); + return true; +} + +typedef bool (*asan_symbolize_callback)(const void*, char*, int); +extern "C" +void __asan_set_symbolize_callback(asan_symbolize_callback); + +int main() { + __asan_set_symbolize_callback(MySymbolizer); + char *x = (char*)malloc(10 * sizeof(char)); + free(x); + return x[5]; + // CHECK: MySymbolizer +} |

