[PATCH] D103304: Update and improve compiler-rt tests for -mllvm -asan_use_after_return=(never|[runtime]|always).
Kevin Athey via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri May 28 01:56:24 PDT 2021
kda created this revision.
kda added a reviewer: vitalybuka.
Herald added subscribers: hiraditya, dberris.
kda requested review of this revision.
Herald added projects: Sanitizers, LLVM.
Herald added subscribers: llvm-commits, Sanitizers.
In addition:
- add global flag to capture compile intent for UAR: __asan_use_after_return_mode. The global is a SANITIZER_WEAK_ATTRIBUTE.
- create flagless versions of GetFakeStackFast, OnMalloc, DEFINE_STACK_MALLOC_WITH_CLASS_ID (__asan_stack_flagless_malloc_<id>), __asan_get_current_fake_stack. They are used for the 'always' case to bypass an unnecessary branch.
- AddressSanitizer uses the flagless version of malloc in the 'always' case.
for issue: https://github.com/google/sanitizers/issues/1394
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D103304
Files:
compiler-rt/lib/asan/asan_fake_stack.cpp
compiler-rt/lib/asan/asan_interface.inc
compiler-rt/lib/asan/asan_rtl.cpp
compiler-rt/test/asan/TestCases/Linux/uar_signals.cpp
compiler-rt/test/asan/TestCases/Posix/stack-use-after-return.cpp
compiler-rt/test/asan/TestCases/Windows/dll_stack_use_after_return.cpp
compiler-rt/test/asan/TestCases/Windows/stack_use_after_return.cpp
compiler-rt/test/asan/TestCases/heavy_uar_test.cpp
compiler-rt/test/asan/TestCases/pass-struct-byval-uar.cpp
compiler-rt/test/asan/TestCases/scariness_score_test.cpp
compiler-rt/test/asan/TestCases/uar_and_exceptions.cpp
llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
llvm/test/Instrumentation/AddressSanitizer/fake-stack.ll
llvm/test/Instrumentation/AddressSanitizer/stack-poisoning.ll
llvm/test/Instrumentation/AddressSanitizer/stack_dynamic_alloca.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D103304.348465.patch
Type: text/x-patch
Size: 22486 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210528/4c6fefbb/attachment.bin>
More information about the llvm-commits
mailing list