diff options
Diffstat (limited to 'compiler-rt/lib/sanitizer_common/sanitizer_symbolizer.cc')
| -rw-r--r-- | compiler-rt/lib/sanitizer_common/sanitizer_symbolizer.cc | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer.cc b/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer.cc new file mode 100644 index 00000000000..0b23418c1f1 --- /dev/null +++ b/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer.cc @@ -0,0 +1,56 @@ +//===-- symbolizer.cc -------------------------------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +// +// This is a stub for LLVM-based symbolizer. +// This file is shared between AddressSanitizer and ThreadSanitizer +// run-time libraries. See sanitizer.h for details. +//===----------------------------------------------------------------------===// + +// WARNING: Avoid using library functions - see comments in symbolizer.h. +#include "sanitizer_symbolizer.h" +// FIXME: replace library malloc/free with internal_malloc/internal_free +// that would be provided by ASan/TSan run-time libraries. +#if defined(__linux__) +# include <malloc.h> +#elif defined(__APPLE__) +# include <malloc/malloc.h> +#endif + +namespace __sanitizer { + +void AddressInfo::Clear() { + free(module); + free(function); + free(file); +} + +void AddressInfoList::Clear() { + AddressInfoList *cur = this; + while (cur) { + cur->info.Clear(); + AddressInfoList *nxt = cur->next; + free(cur); + cur = nxt; + } +} + +AddressInfoList* SymbolizeCode(uptr address) { + AddressInfoList *list = (AddressInfoList*)malloc(sizeof(AddressInfoList)); + list->next = 0; + list->info.address = address; + list->info.module = 0; + list->info.module_offset = 0; + list->info.function = 0; + list->info.file = 0; + list->info.line = 0; + list->info.column = 0; + return list; +} + +} // namespace __sanitizer |

