[dfsan] Add origin chain utils

Authored by Jianzhou Zhao <jianzhouzh@google.com> on Feb 5 2021, 10:06 AM.


[dfsan] Add origin chain utils

This is a part of https://reviews.llvm.org/D95835.

The design is based on MSan origin chains.

An 4-byte origin is a hash of an origin chain. An origin chain is a
pair of a stack hash id and a hash to its previous origin chain. 0 means
no previous origin chains exist. We limit the length of a chain to be

  1. With origin_history_size = 0, the limit is removed.

The change does not have any test cases yet. The following change
will be adding test cases when the APIs are used.

Reviewed-by: morehouse

Differential Revision: https://reviews.llvm.org/D96160

Event Timeline

Jianzhou Zhao <jianzhouzh@google.com> committed rG2d9c6e10e92e: [dfsan] Add origin chain utils (authored by Jianzhou Zhao <jianzhouzh@google.com>).Feb 11 2021, 11:10 AM