summaryrefslogtreecommitdiff
path: root/lib/asan/asan_interface.inc
AgeCommit message (Collapse)Author
2017-04-27[asan] Fix dead stripping of globals on Linux (compiler-rt).Evgeniy Stepanov
Third attempt. See the description of the corresponding commit in LLVM for more details. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@301588 91177308-0d34-0410-b5e6-96231b3b80d8
2017-04-10Revert "[asan] Fix dead stripping of globals on Linux (compiler-rt)."Evgeniy Stepanov
This reverts r299698, which caused a big increase in object file size. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@299881 91177308-0d34-0410-b5e6-96231b3b80d8
2017-04-06[asan] Fix dead stripping of globals on Linux (compiler-rt).Evgeniy Stepanov
This is a re-land of r298173, r298169, r298159. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@299698 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-20Revert r298174, r298173, r298169, r298159.Evgeniy Stepanov
Revert "Fix sanitizer tests with LLVM_TOOL_LLD_BUILD=OFF." Revert "[asan] Remove gc-sections test with bfd." Revert "[asan] Disable globals-gc test with ld.bfd." Revert "[asan] Fix dead stripping of globals on Linux (compiler-rt)" OOM in gold linker. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@298287 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-17[asan] Fix dead stripping of globals on Linux (compiler-rt)Evgeniy Stepanov
Runtime support for the new instrumentation of globals based on !associated, and a bunch of tests. Differential Revision: https://reviews.llvm.org/D30120 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@298159 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-31[sanitizer] Add list of symbols exported in sanitizers' interface.Marcos Pividori
Add a new auxiliary file to each sanitizer: sanitizer_interface.inc, listing all the functions exported, with the macros: INTERFACE_FUNCTION() and INTERFACE_WEAK_FUNCTION(). So, when we need to define or repeat a procedure for each function in the sanitizer's interface, we can define the macros and include that header. In particular, these files are needed for Windows, in the nexts commits. Also, this files could replace the existing files: weak_symbols.txt for Apple. Instead of reading weak_symbols.txt to get the list of weak symbols, we could read the file sanitizer_interface.inc and consider all the symbols included with the macro INTERFACE_WEAK_FUNCTION(Name). In this commit, I only include these files to the sanitizers that work on Windows. We could do the same for the rest of the sanitizers when needed. I updated tests for: Linux, Darwin and Windows. If a new function is exported but is not present in the interface list, the tests "interface_symbols_[darwin|windows|linux].c" fail. Also, I remove the comments: "/* OPTIONAL */" which are not required any more, because we use the macro: INTERFACE_WEAK_FUNCTION() for weak functions. Differential Revision: https://reviews.llvm.org/D29148 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@293682 91177308-0d34-0410-b5e6-96231b3b80d8