commit | 51ba2b632eb0fc918df71999d73c606ad867e2a1 | [log] [tgz] |
---|---|---|
author | Jianzhou Zhao <jianzhouzh@google.com> | Fri Feb 12 00:29:58 2021 +0000 |
committer | Copybara-Service <copybara-worker@google.com> | Fri Feb 19 01:00:24 2021 -0800 |
tree | 574852c6d1d0ee3d368a44a962696fce8194a3d7 | |
parent | 95175bcb6c716edb9bb2a1e15d85076fbf575d6f [diff] |
[dfsan] Add origin tls/move/read APIs This is a part of https://reviews.llvm.org/D95835. Added 1) TLS storage 2) a weak global used to set by instrumented code 3) move origins These APIs are similar to MSan's APIs https://github.com/llvm/llvm-project/blob/main/compiler-rt/lib/msan/msan_poisoning.cpp We first improved MSan's by https://reviews.llvm.org/D94572 and https://reviews.llvm.org/D94552. So the correctness has been verified by MSan. After the DFSan instrument code is ready, we wil be adding more test cases 4) read To reduce origin tracking cost, some of the read APIs return only the origin from the first taint data. Note that we did not add origin set APIs here because they are related to code instrumentation, will be added later with IR transformation code. Reviewed-by: morehouse Differential Revision: https://reviews.llvm.org/D96564 GitOrigin-RevId: 063a6fa87ece8a452daba99df7fb99751ed10165