DynamoRIO / drmemory

Memory Debugger for Windows, Linux, Mac, and Android
Other
2.45k stars 263 forks source link

per-bit shadowing #113

Open derekbruening opened 10 years ago

derekbruening commented 10 years ago

From derek.br...@gmail.com on December 10, 2010 17:57:42

PR 408523

Currently my Dr. Memory prototype only supports byte-level shadowing. That matches Purify, and I originally thought it would be sufficient to avoid false positive and would only be desirable for avoiding rare false negatives for apps using bitfields. However, "hello world" compiled with cygwin g++ has 3 false positives due to bitfields, and I suspect linux gcc has some (PR 408123). Avoiding false positives makes this higher priority than avoiding false negatives.

I do have a tag for "special" in the shadow memory table that is meant for per-bit shadowing (as well as retaddr: PR 406731), but my shadow registers do not support per-bit. Should be easy to add on Linux, but on Windows my all-TLS scheme could have transparency issues with some large apps that take many TLS slots. May want to switch to a stolen base register.

PR 488813 is one test case

* Bug 585742 has been marked as a duplicate of this bug. *

Not planning to support for MN

Based on DEV and QA agreement, there is no QA resource allocated for MN UW and UW tools. Accepted all MN deferred bugs. Please feel free to change it back. Thanks.

Original issue: http://code.google.com/p/drmemory/issues/detail?id=113

derekbruening commented 10 years ago

From bruen...@google.com on July 14, 2011 12:39:22

xref issue #492

derekbruening commented 10 years ago

From bruen...@google.com on February 23, 2014 15:49:34

xref issue #1451 : bitfield in std::_Bit_reference in std::vector implementation

derekbruening commented 10 years ago

From bruen...@google.com on February 23, 2014 15:52:22

xref issue #849 whose heuristics have been serving us well