llvm-project/compiler-rt/lib/ubsan
Peter Collingbourne 791e65dcfb Overhaul the symbolizer interface.
This moves away from creating the symbolizer object and initializing the
external symbolizer as separate steps.  Those steps now always take place
together.

Sanitizers with a legacy requirement to specify their own symbolizer path
should use InitSymbolizer to initialize the symbolizer with the desired
path, and GetSymbolizer to access the symbolizer.  Sanitizers with no
such requirement (e.g. UBSan) can use GetOrInitSymbolizer with no need for
initialization.

The symbolizer interface has been made thread-safe (as far as I can
tell) by protecting its member functions with mutexes.

Finally, the symbolizer interface no longer relies on weak externals, the
introduction of which was probably a mistake on my part.

Differential Revision: http://llvm-reviews.chandlerc.com/D1985

llvm-svn: 193448
2013-10-25 23:03:29 +00:00
..
lit_tests Overhaul the symbolizer interface. 2013-10-25 23:03:29 +00:00
CMakeLists.txt Generate list of symbols exported from sanitizer runtimes only on 64-bit Unix 2013-08-28 08:07:04 +00:00
Makefile.mk Split ubsan runtime into three pieces (compiler-rt part): 2013-03-20 23:49:17 +00:00
ubsan.syms.extra Properly generate lists of exported symbols for sanitizer runtimes 2013-08-27 15:08:02 +00:00
ubsan_diag.cc Overhaul the symbolizer interface. 2013-10-25 23:03:29 +00:00
ubsan_diag.h Runtime support for the indirect function call checker. 2013-10-20 21:29:46 +00:00
ubsan_handlers.cc Runtime support for the indirect function call checker. 2013-10-20 21:29:46 +00:00
ubsan_handlers.h Runtime support for the indirect function call checker. 2013-10-20 21:29:46 +00:00
ubsan_handlers_cxx.cc ubsan: Add checking for invalid downcasts. Per [expr.static.cast]p2 and p11, 2013-02-13 21:18:23 +00:00
ubsan_handlers_cxx.h [ubsan] Move attribute specifier to fix build with gcc. 2013-01-10 17:01:13 +00:00
ubsan_type_hash.cc Make the big array in the UBSan C++ runtime be zero-initialized to dramatically 2013-10-17 22:51:04 +00:00
ubsan_type_hash.h [ubsan] Add SANITIZER_INTERFACE_ATTRIBUTE to __ubsan_vptr_type_cache 2013-01-17 17:14:12 +00:00
ubsan_value.cc ubsan: Pass floating-point arguments to the runtime by value if they fit the 2013-03-22 00:47:05 +00:00
ubsan_value.h ubsan: Pass floating-point arguments to the runtime by value if they fit the 2013-03-22 00:47:05 +00:00