summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/python_api
diff options
context:
space:
mode:
authorPeter Collingbourne <peter@pcc.me.uk>2019-09-27 01:02:10 +0000
committerPeter Collingbourne <peter@pcc.me.uk>2019-09-27 01:02:10 +0000
commitc336557f0238dba72718e499bb345d0dd87305fc (patch)
treee4e28be592b4447219c84abe5cc03f2b5a99b5c8 /lldb/packages/Python/lldbsuite/test/python_api
parentd5d62a99a91391f7dd6f18cb1e8f2cb7ab06ded6 (diff)
downloadbcm5719-llvm-c336557f0238dba72718e499bb345d0dd87305fc.tar.gz
bcm5719-llvm-c336557f0238dba72718e499bb345d0dd87305fc.zip
hwasan: Compatibility fixes for short granules.
We can't use short granules with stack instrumentation when targeting older API levels because the rest of the system won't understand the short granule tags stored in shadow memory. Moreover, we need to be able to let old binaries (which won't understand short granule tags) run on a new system that supports short granule tags. Such binaries will call the __hwasan_tag_mismatch function when their outlined checks fail. We can compensate for the binary's lack of support for short granules by implementing the short granule part of the check in the __hwasan_tag_mismatch function. Unfortunately we can't do anything about inline checks, but I don't believe that we can generate these by default on aarch64, nor did we do so when the ABI was fixed. A new function, __hwasan_tag_mismatch_v2, is introduced that lets code targeting the new runtime avoid redoing the short granule check. Because tag mismatches are rare this isn't important from a performance perspective; the main benefit is that it introduces a symbol dependency that prevents binaries targeting the new runtime from running on older (i.e. incompatible) runtimes. Differential Revision: https://reviews.llvm.org/D68059 llvm-svn: 373035
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/python_api')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud