From f2bee298a069a63bc9daabc88e16030888d0e558 Mon Sep 17 00:00:00 2001 From: Mike Aizatsky Date: Mon, 25 Apr 2016 21:44:43 +0000 Subject: [PATCH] [sanitizers] read/write page fault detection on mac. Subscribers: kubabrecka Differential Revision: http://reviews.llvm.org/D19495 llvm-svn: 267477 --- compiler-rt/lib/sanitizer_common/sanitizer_mac.cc | 3 ++- compiler-rt/test/asan/TestCases/{Linux => Posix}/segv_read_write.c | 0 2 files changed, 2 insertions(+), 1 deletion(-) rename compiler-rt/test/asan/TestCases/{Linux => Posix}/segv_read_write.c (100%) diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_mac.cc b/compiler-rt/lib/sanitizer_common/sanitizer_mac.cc index 5fbb147..c2e3d7f 100644 --- a/compiler-rt/lib/sanitizer_common/sanitizer_mac.cc +++ b/compiler-rt/lib/sanitizer_common/sanitizer_mac.cc @@ -500,7 +500,8 @@ void LogFullErrorReport(const char *buffer) { } SignalContext::WriteFlag SignalContext::GetWriteFlag(void *context) { - return UNKNOWN; // FIXME: implement this. + ucontext_t *ucontext = static_cast(context); + return ucontext->uc_mcontext->__es.__err & 2 /*T_PF_WRITE*/ ? WRITE : READ; } void GetPcSpBp(void *context, uptr *pc, uptr *sp, uptr *bp) { diff --git a/compiler-rt/test/asan/TestCases/Linux/segv_read_write.c b/compiler-rt/test/asan/TestCases/Posix/segv_read_write.c similarity index 100% rename from compiler-rt/test/asan/TestCases/Linux/segv_read_write.c rename to compiler-rt/test/asan/TestCases/Posix/segv_read_write.c -- 2.7.4