Skip to content
  • Peter Collingbourne's avatar
    Overhaul the symbolizer interface. · 791e65dc
    Peter Collingbourne authored
    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
    791e65dc
Loading