Thanks for the heads up. That sounds like a better way to handle this. /Eric
On Fri, Nov 14, 2014 at 11:30 AM, Alexey Samsonov <[email protected]> wrote: > FYI ASan/MSan should discover llvm-symbolizer from PATH env var. So, as an > alternative, you could just propagate necessary PATH bits to lit-tests. > > On Thu, Nov 13, 2014 at 6:47 PM, Eric Fiselier <[email protected]> wrote: > >> Author: ericwf >> Date: Thu Nov 13 20:47:08 2014 >> New Revision: 221966 >> >> URL: http://llvm.org/viewvc/llvm-project?rev=221966&view=rev >> Log: >> Setup llvm-symbolizer when running the tests with sanitizers >> >> Modified: >> libcxx/trunk/test/lit.cfg >> >> Modified: libcxx/trunk/test/lit.cfg >> URL: >> http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/lit.cfg?rev=221966&r1=221965&r2=221966&view=diff >> >> ============================================================================== >> --- libcxx/trunk/test/lit.cfg (original) >> +++ libcxx/trunk/test/lit.cfg Thu Nov 13 20:47:08 2014 >> @@ -425,16 +425,30 @@ class Configuration(object): >> def configure_sanitizer(self): >> san = self.get_lit_conf('llvm_use_sanitizer', '').strip() >> if san: >> + # Search for llvm-symbolizer along the compiler path first >> + # and then along the PATH env variable. >> + symbolizer_search_paths = os.environ.get('PATH', '') >> + cxx_path = lit.util.which(self.cxx) >> + if cxx_path is not None: >> + symbolizer_search_paths = os.path.dirname(cxx_path) + \ >> + os.pathsep + >> symbolizer_search_paths >> + llvm_symbolizer = lit.util.which('llvm-symbolizer', >> + symbolizer_search_paths) >> + # Setup the sanitizer compile flags >> self.compile_flags += ['-fno-omit-frame-pointer'] >> if sys.platform.startswith('linux'): >> self.link_flags += ['-ldl'] >> if san == 'Address': >> self.compile_flags += ['-fsanitize=address'] >> + if llvm_symbolizer is not None: >> + self.env['ASAN_SYMBOLIZER_PATH'] = llvm_symbolizer >> self.config.available_features.add('asan') >> elif san == 'Memory' or san == 'MemoryWithOrigins': >> self.compile_flags += ['-fsanitize=memory'] >> if san == 'MemoryWithOrigins': >> self.compile_flags += >> ['-fsanitize-memory-track-origins'] >> + if llvm_symbolizer is not None: >> + self.env['MSAN_SYMBOLIZER_PATH'] = llvm_symbolizer >> self.config.available_features.add('msan') >> elif san == 'Undefined': >> self.compile_flags += ['-fsanitize=undefined', >> >> >> _______________________________________________ >> cfe-commits mailing list >> [email protected] >> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits >> > > > > -- > Alexey Samsonov > [email protected] >
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
