diff options
author | Ilya Leoshkevich <iii@linux.ibm.com> | 2025-01-08 00:17:07 +0100 |
---|---|---|
committer | Ilya Leoshkevich <iii@linux.ibm.com> | 2025-01-26 19:03:46 +0100 |
commit | 13d971601175541146fda54682cde4d3f9cd2759 (patch) | |
tree | 03334915907e9f98843b330faa7902d5d05fe2d0 /gcc/expr.cc | |
parent | 50fb72d62ccf89a89a09f885014d990770c727d7 (diff) | |
download | gcc-13d971601175541146fda54682cde4d3f9cd2759.zip gcc-13d971601175541146fda54682cde4d3f9cd2759.tar.gz gcc-13d971601175541146fda54682cde4d3f9cd2759.tar.bz2 |
asan: Fix missing FakeStack flag cleanup
The FakeStack flag is not zeroed out when can_store_by_pieces()
returns false. Over time, this causes FakeStack::Allocate() to perform
the maximum number of loop iterations, significantly slowing down the
instrumented program.
Link: https://inbox.sourceware.org/gcc-patches/20250109001702.154685-1-iii@linux.ibm.com/
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
gcc/ChangeLog:
* asan.cc (asan_emit_stack_protection): Always zero the flag
unless it is cleared by the __asan_stack_free_N() libcall.
Diffstat (limited to 'gcc/expr.cc')
0 files changed, 0 insertions, 0 deletions