diff options
author | Dmitry Vyukov <dvyukov@google.com> | 2016-09-26 13:41:33 +0000 |
---|---|---|
committer | Dmitry Vyukov <dvyukov@google.com> | 2016-09-26 13:41:33 +0000 |
commit | 730aa585c0f8b566268d41a68e3ac6ed2d13df21 (patch) | |
tree | 50ff81c39e075f52405293b67df467cf7cf5cbbc /lldb/packages/Python/lldbsuite/test/linux/builtin_trap/TestBuiltinTrap.py | |
parent | a48a998d487dc4efc8a3f8a89ebe3d99e4403c7b (diff) | |
download | bcm5719-llvm-730aa585c0f8b566268d41a68e3ac6ed2d13df21.tar.gz bcm5719-llvm-730aa585c0f8b566268d41a68e3ac6ed2d13df21.zip |
tsan: make shadow mapping linear within a single user region
This is a follow up to r282152.
A more extensive testing on real apps revealed a subtle bug in r282152.
The revision made shadow mapping non-linear even within a single
user region. But there are lots of code in runtime that processes
memory ranges and assumes that mapping is linear. For example,
region memory access handling simply increments shadow address
to advance to the next shadow cell group. Similarly, DontNeedShadowFor,
java memory mover, search of heap memory block header, etc
make similar assumptions.
To trigger the bug user range would need to cross 0x008000000000 boundary.
This was observed for a module data section.
Make shadow mapping linear within a single user range again.
Add a startup CHECK for linearity.
llvm-svn: 282405
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/linux/builtin_trap/TestBuiltinTrap.py')
0 files changed, 0 insertions, 0 deletions