aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Commands/CommandObjectCommands.cpp
diff options
context:
space:
mode:
authorMariusz Borsa <wrotki@msn.com>2023-12-15 17:33:54 -0800
committerGitHub <noreply@github.com>2023-12-15 17:33:54 -0800
commit7e4ae28645ef3ad36f1daec3fe3edc901f561bc7 (patch)
tree0db7ab436cde4109f346ce6afed822aa717e57ef /lldb/source/Commands/CommandObjectCommands.cpp
parent9950bb994461d6dc67ac9b33e48f549edcb44739 (diff)
downloadllvm-7e4ae28645ef3ad36f1daec3fe3edc901f561bc7.zip
llvm-7e4ae28645ef3ad36f1daec3fe3edc901f561bc7.tar.gz
llvm-7e4ae28645ef3ad36f1daec3fe3edc901f561bc7.tar.bz2
[Sanitizers] Don't inline unpoisoning of small stacks when inlining disabled (#75555)
When ASan.MaxInlinePoisoningSize == 0 , it means that no shadow memory operations should be made via inlined instrumentation code, but only via calls to shadow setting functions. This change fixes one violation of this, which happened when the function allocas count was small, i.e. less than 5 - in the code modifying the shadow just before ret instruction. We now explicitly check ASan.MaxInlinePoisoningSize , and if it's 0 then we disallow inlining. It is required for the instrumentation emitting code suitable for handling by ABI implementation. rdar://119513720 Co-authored-by: Mariusz Borsa <m_borsa@apple.com>
Diffstat (limited to 'lldb/source/Commands/CommandObjectCommands.cpp')
0 files changed, 0 insertions, 0 deletions