| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
compiler-rt: Rename cc files below test/asan to cpp See r367803 and similar other changes. llvm-svn: 367887 | 6 年前 | |
[ASan] rename left/right to before/after. left/right is a weird way to refer to address ordering. Reviewed By: eugenis, MaskRay Differential Revision: https://reviews.llvm.org/D132611 | 3 年前 | |
[Symbolizers] On Darwin compute function offset when possible. Summary: The sanitizer symbolizers support printing the function offset (difference between pc and function start) of a stackframe using the %q format specifier. Unfortunately this didn't actually work because neither the atos or dladdr symbolizer set the AddressInfo::function_offset field. This patch teaches both symbolizers to try to compute the function offset. In the case of the atos symbolizer, atos might not report the function offset (e.g. it reports a source location instead) so in this case it fallsback to using dladdr() to compute the function offset. Two test cases are included. rdar://problem/56695185 Reviewers: kubamracek, yln Subscribers: #sanitizers, llvm-commits Tags: #sanitizers, #llvm Differential Revision: https://reviews.llvm.org/D69549 | 6 年前 | |
compiler-rt: Rename cc files below test/asan to cpp See r367803 and similar other changes. llvm-svn: 367887 | 6 年前 | |
[asan_symbolize] Fix bug handling C++ symbols when using Atos. Summary: The previous code tries to strip out parentheses and anything in between them. I'm guessing the idea here was to try to drop any listed arguments for the function being symbolized. Unfortunately this approach is broken in several ways. * Templated functions may contain parentheses. The existing approach messes up these names. * In C++ argument types are part of a function's signature for the purposes of overloading so removing them could be confusing. Fix this simply by not trying to adjust the function name that comes from atos. A test case is included. Without the change the test case produced output like: WRITE of size 4 at 0x6060000001a0 thread T0 #0 0x10b96614d in IntWrapper<void >::operator=> const&) asan-symbolize-templated-cxx.cpp:10 #1 0x10b960b0e in void writeToA<IntWrapper<void > >>) asan-symbolize-templated-cxx.cpp:30 #2 0x10b96bf27 in decltype>)>> >)) std::__1::__invoke<void >), IntWrapper<void > >>), IntWrapper<void >&&) type_traits:4425 #3 0x10b96bdc1 in void std::__1::__invoke_void_return_wrapper<void>::__call<void >), IntWrapper<void > >>), IntWrapper<void >&&) __functional_base:348 #4 0x10b96bd71 in std::__1::__function::__alloc_func<void >), std::__1::allocator<void >)>, void >)>::operator>&&) functional:1533 #5 0x10b9684e2 in std::__1::__function::__func<void >), std::__1::allocator<void >)>, void >)>::operator>&&) functional:1707 #6 0x10b96cd7b in std::__1::__function::__value_func<void >)>::operator>&&) const functional:1860 #7 0x10b96cc17 in std::__1::function<void >)>::operator>) const functional:2419 #8 0x10b960ca6 in Foo<void >), IntWrapper<void > >::doCall>) asan-symbolize-templated-cxx.cpp:44 #9 0x10b96088b in main asan-symbolize-templated-cxx.cpp:54 #10 0x7fff6ffdfcc8 in start (in libdyld.dylib) + 0 Note how the symbol names for the frames are messed up (e.g. #8, #1). With the patch the output looks like: WRITE of size 4 at 0x6060000001a0 thread T0 #0 0x10005214d in IntWrapper<void (int)>::operator=(IntWrapper<void (int)> const&) asan-symbolize-templated-cxx.cpp:10 #1 0x10004cb0e in void writeToA<IntWrapper<void (int)> >(IntWrapper<void (int)>) asan-symbolize-templated-cxx.cpp:30 #2 0x100057f27 in decltype(std::__1::forward<void (*&)(IntWrapper<void (int)>)>(fp)(std::__1::forward<IntWrapper<void (int)> >(fp0))) std::__1::__invoke<void (*&)(IntWrapper<void (int)>), IntWrapper<void (int)> >(void (*&)(IntWrapper<void (int)>), IntWrapper<void (int)>&&) type_traits:4425 #3 0x100057dc1 in void std::__1::__invoke_void_return_wrapper<void>::__call<void (*&)(IntWrapper<void (int)>), IntWrapper<void (int)> >(void (*&)(IntWrapper<void (int)>), IntWrapper<void (int)>&&) __functional_base:348 #4 0x100057d71 in std::__1::__function::__alloc_func<void (*)(IntWrapper<void (int)>), std::__1::allocator<void (*)(IntWrapper<void (int)>)>, void (IntWrapper<void (int)>)>::operator()(IntWrapper<void (int)>&&) functional:1533 #5 0x1000544e2 in std::__1::__function::__func<void (*)(IntWrapper<void (int)>), std::__1::allocator<void (*)(IntWrapper<void (int)>)>, void (IntWrapper<void (int)>)>::operator()(IntWrapper<void (int)>&&) functional:1707 #6 0x100058d7b in std::__1::__function::__value_func<void (IntWrapper<void (int)>)>::operator()(IntWrapper<void (int)>&&) const functional:1860 #7 0x100058c17 in std::__1::function<void (IntWrapper<void (int)>)>::operator()(IntWrapper<void (int)>) const functional:2419 #8 0x10004cca6 in Foo<void (IntWrapper<void (int)>), IntWrapper<void (int)> >::doCall(IntWrapper<void (int)>) asan-symbolize-templated-cxx.cpp:44 #9 0x10004c88b in main asan-symbolize-templated-cxx.cpp:54 #10 0x7fff6ffdfcc8 in start (in libdyld.dylib) + 0 rdar://problem/58887175 Reviewers: kubamracek, yln Subscribers: #sanitizers, llvm-commits Tags: #sanitizers Differential Revision: https://reviews.llvm.org/D79597 | 6 年前 | |
compiler-rt: Rename cc files below test/asan to cpp See r367803 and similar other changes. llvm-svn: 367887 | 6 年前 | |
[asan][darwin] This test is x86_64 specific, not non-ios in general. This test was unsupported in iOS when a more accurate test is that the architecture is x86_64. This "fix" is first in a series of updates intended to get asan arm64 tests fully functional. Reviewed By: thetruestblue, vitalybuka Differential Revision: https://reviews.llvm.org/D138001 | 3 年前 | |
[darwin][asan] add test for application specific information in crash logs Added a lit test that finds its corresponding crash log and checks to make sure it has asn output under Application Specific Information. This required adding two python commands: - get_pid_from_output: takes the output from the asan instrumentation and parses out the process ID - print_crashreport_for_pid: takes in the pid of the process and the file name of the binary that was run and prints the contents of the corresponding crash log. This test was added in preparation for changing the integration with crash reporter from the old api to the new api, which is implemented in a subsequent commit. rdar://69767688 Reviewed By: delcypher Commited by Dan Liew on behalf of Emily Shi. Differential Revision: https://reviews.llvm.org/D96737 | 5 年前 | |
compiler-rt: Rename cc files below test/asan to cpp See r367803 and similar other changes. llvm-svn: 367887 | 6 年前 | |
compiler-rt: Rename cc files below test/asan to cpp See r367803 and similar other changes. llvm-svn: 367887 | 6 年前 | |
[asan] Disable the test on i386 Darwin. This test checks if we can print a backtrace from the death callback. On old OS X versions, backtrace is not able to symbolicate the trace past the ASan runtime because we build with -fomit-frame-pointer. llvm-svn: 253729 | 10 年前 | |
Add %run to all lit tests llvm-svn: 207709 | 11 年前 | |
[compiler-rt] Try again to correct test after 3f1a9b7eca0 added segment names to objdump output One check was missed on the previous attempt | 5 年前 | |
[ASan] rename left/right to before/after. left/right is a weird way to refer to address ordering. Reviewed By: eugenis, MaskRay Differential Revision: https://reviews.llvm.org/D132611 | 3 年前 | |
[Darwin] Fix ASAN symbolizer tests RenderFrame now strips wrap_. | 3 年前 | |
compiler-rt: Rename cc files below test/asan to cpp See r367803 and similar other changes. llvm-svn: 367887 | 6 年前 | |
Remove some non-determinism from the Darwin/duplicate_os_log_reports.cpp test. The test read from an uninitialized buffer which could cause the output to be unpredictable. The test is currently disabled so this won't actually change anything until the test is re-enabled. | 5 年前 | |
[ASan][Darwin] Adapt test for macOS 11+ version scheme This test depends on the versioning scheme of OSX. | 5 年前 | |
compiler-rt: Rename cc files below test/asan to cpp See r367803 and similar other changes. llvm-svn: 367887 | 6 年前 | |
compiler-rt: Rename cc files below test/asan to cpp See r367803 and similar other changes. llvm-svn: 367887 | 6 年前 | |
[asan] Don't crash on fclose(NULL) It's explicitly forbidden to call fclose with NULL, but at least on Darwin, this succeeds and doesn't segfault. To maintain binary compatibility, ASan should survice fclose(NULL) as well. Differential Revision: https://reviews.llvm.org/D40053 llvm-svn: 319347 | 8 年前 | |
[ASan] rename left/right to before/after. left/right is a weird way to refer to address ordering. Reviewed By: eugenis, MaskRay Differential Revision: https://reviews.llvm.org/D132611 | 3 年前 | |
[NFC] Fix some typos (#98791) | 1 年前 | |
Revert "[asan][windows] Eliminate the static asan runtime on windows (#93770)" This reverts commit 8fa66c6ca7272268747835a0e86805307b62399c. | 2 年前 | |
[NFC][compiler-rt][test] when using ptrauth, strip before checking if poisoned ptrauth stores info in the address of functions, so it's not the right address we should check if poisoned rdar://75246928 Differential Revision: https://reviews.llvm.org/D106199 | 4 年前 | |
[NFC][Py Reformat] Reformat python files in the rest of the dirs This is an ongoing series of commits that are reformatting our Python code. This catches the last of the python files to reformat. Since they where so few I bunched them together. Reformatting is done with black. If you end up having problems merging this commit because you have made changes to a python file, the best way to handle that is to run git checkout --ours <yourfile> and then reformat it with black. If you run into any problems, post to discourse about it and we will try to help. RFC Thread below: https://discourse.llvm.org/t/rfc-document-and-standardize-python-code-style Reviewed By: jhenderson, #libc, Mordante, sivachandra Differential Revision: https://reviews.llvm.org/D150784 | 3 年前 | |
compiler-rt: Rename cc files below test/asan to cpp See r367803 and similar other changes. llvm-svn: 367887 | 6 年前 | |
compiler-rt: Rename cc files below test/asan to cpp See r367803 and similar other changes. llvm-svn: 367887 | 6 年前 | |
[sanitizer] Fix a crash in SizeClassAllocator32 with an out-of-range pointer This happens on a 64-bit platform that uses SizeClassAllocator32 (e.g. ASan on AArch64). When querying a large invalid pointer, __sanitizer_get_allocated_size(0xdeadbeefdeadbeef), an assertion will fail. This patch changes PointerIsMine to return false if the pointer is outside of [kSpaceBeg, kSpaceBeg + kSpaceSize). Differential Revision: http://reviews.llvm.org/D15008 llvm-svn: 268243 | 9 年前 | |
Change asan/TestCases/Darwin/malloc_zone-protected.cpp to call abort so that it **always crashes**. Summary: This is needed because on some platforms we can't install signal handlers and so the application just traps (i.e. crashes) rather than being intercepted by ASan's signal handler which in the default Darwin config doesn't exit with a crashing exit code. rdar://problem/57984547 Reviewers: yln, kubamracek, jfb Subscribers: #sanitizers, llvm-commits Tags: #sanitizers, #llvm Differential Revision: https://reviews.llvm.org/D71573 | 6 年前 | |
compiler-rt: Rename cc files below test/asan to cpp See r367803 and similar other changes. llvm-svn: 367887 | 6 年前 | |
[objc] Don't require null-check and don't emit memset when result is ignored for struct-returning method calls [compiler-rt part] This fixes an issue with the emission of lifetime markers for struct-returning Obj-C msgSend calls. When the result of a struct-returning call is ignored, the temporary storage is only marked with lifetime markers in one of the two branches of the nil-receiver-check. The check is, however, not required when the result is unused. If we still need to emit the check (due to consumer arguments), let's not emit the memset to zero out the result if it's unused. This fixes a use-after-scope false positive with AddressSanitizer. Differential Revision: https://reviews.llvm.org/D34834 llvm-svn: 306838 | 8 年前 | |
[asan,tsan] Make Darwin-specific tests more stable (use ignore_interceptors_accesses=1 for GCD tests and printf instead of NSLog). llvm-svn: 265300 | 10 年前 | |
[ASan][Test] Remove hardcoded linker version from test (#90147) This is not needed as the correct linker version is detected at configure time and passed to all tests on Darwin. rdar://125052667 | 2 年前 | |
compiler-rt: Rename cc files below test/asan to cpp See r367803 and similar other changes. llvm-svn: 367887 | 6 年前 | |
[Darwin] Fix ASAN symbolizer tests RenderFrame now strips wrap_. | 3 年前 | |
Fix asan/TestCases/Darwin/scrible.cpp to work on platforms where long is not 64-bits. Previously the test was failing on platforms where long was less than 64-bits wide (e.g. older WatchOS simulators and arm64_32) because the padding field was too small. The test currently relies on the my_object->isa being scribbled or left unmodified after my_object is freed. However, this was not the case because the isa pointer intersected with ChunkHeader::free_context_id. free_context_id starts at the beginning of user memory but it only initialized once the memory is freed. This caused the isa pointer to change after it was freed leading to the test crashing. To fix this the padding field has been made explicitly 64-bits wide (same size as ChunkHeader::free_context_id). rdar://75806757 Differential Revision: https://reviews.llvm.org/D109409 | 4 年前 | |
[asan] Clean up some confusing code in test/asan/TestCases/Darwin/segv_read_write.c * The fd arg passed to mmap() should be -1. It is not defined what passing 0 does on Darwin. * The comment about the shadow memory doesn't make any sense to me, so I'm removing it. Differential Revision: https://reviews.llvm.org/D44579 llvm-svn: 341307 | 7 年前 | |
compiler-rt: Rename cc files below test/asan to cpp See r367803 and similar other changes. llvm-svn: 367887 | 6 年前 | |
compiler-rt: Rename cc files below test/asan to cpp See r367803 and similar other changes. llvm-svn: 367887 | 6 年前 | |
compiler-rt: Rename cc files below test/asan to cpp See r367803 and similar other changes. llvm-svn: 367887 | 6 年前 | |
Avoid failing a CHECK in DlAddrSymbolizer::SymbolizePC. Summary: It turns out the CHECK(addr >= reinterpret_cast<upt>(info.dli_saddr) can fail because on armv7s on iOS 9.3 dladdr() returns info.dli_saddr with an address larger than the address we provided. We should avoid crashing here because crashing in the middle of reporting an issue is very unhelpful. Instead we now try to compute a function offset if the value we get back from dladdr() looks sane, otherwise we don't set the function offset. A test case is included. It's basically a slightly modified version of the existing test/sanitizer_common/TestCases/Darwin/symbolizer-function-offset-dladdr.cpp test case that doesn't run on iOS devices right now. More details: In the concrete scenario on armv7s addr is 0x2195c870 and the returned info.dli_saddr is 0x2195c871. This what LLDB says when disassembling the code. `` (lldb) dis -a 0x2195c870 libdyld.dylib<redacted>: 0x2195c870 <+0>: nop 0x2195c872 <+2>: blx 0x2195c91c ; symbol stub for: exit 0x2195c876 <+6>: trap `` The value returned by dladdr() doesn't make sense because it points into the middle of a instruction. There might also be other bugs lurking here because I noticed that the PCs we gather during stackunwinding (before changing them with StackTrace::GetPreviousInstructionPc()`) look a little suspicious (e.g. the PC stored for the frame with fail to symbolicate is 0x2195c873) as they don't look properly aligned. This probably warrants further investigation in the future. rdar://problem/65621511 Reviewers: kubamracek, yln Subscribers: kristof.beyls, llvm-commits, #sanitizers Tags: #sanitizers Differential Revision: https://reviews.llvm.org/D84262 | 5 年前 | |
compiler-rt: Rename cc files below test/asan to cpp See r367803 and similar other changes. llvm-svn: 367887 | 6 年前 | |
compiler-rt: Rename cc files below test/asan to cpp See r367803 and similar other changes. llvm-svn: 367887 | 6 年前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 6 年前 | ||
| 3 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 3 年前 | ||
| 5 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 10 年前 | ||
| 11 年前 | ||
| 5 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 6 年前 | ||
| 5 年前 | ||
| 5 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 8 年前 | ||
| 3 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 4 年前 | ||
| 3 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 9 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 8 年前 | ||
| 10 年前 | ||
| 2 年前 | ||
| 6 年前 | ||
| 3 年前 | ||
| 4 年前 | ||
| 7 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 5 年前 | ||
| 6 年前 | ||
| 6 年前 |