forked from OSchip/llvm-project
[asan] On OS X, write error reports into Crash Report.
The Crash Report is going to add app specific info if it is stored in the magical buffer. Differential Revision: http://reviews.llvm.org/D14791 llvm-svn: 253691
This commit is contained in:
parent
c54cf07fd7
commit
e310f11223
|
@ -453,6 +453,10 @@ void LogFullErrorReport(const char *buffer) {
|
||||||
BlockingMutexLock l(&syslog_lock);
|
BlockingMutexLock l(&syslog_lock);
|
||||||
if (common_flags()->log_to_syslog)
|
if (common_flags()->log_to_syslog)
|
||||||
WriteToSyslog(buffer);
|
WriteToSyslog(buffer);
|
||||||
|
|
||||||
|
// Log to CrashLog.
|
||||||
|
if (common_flags()->abort_on_error)
|
||||||
|
CRSetCrashLogMessage(buffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
void GetPcSpBp(void *context, uptr *pc, uptr *sp, uptr *bp) {
|
void GetPcSpBp(void *context, uptr *pc, uptr *sp, uptr *bp) {
|
||||||
|
|
|
@ -13,6 +13,7 @@
|
||||||
#ifndef SANITIZER_MAC_H
|
#ifndef SANITIZER_MAC_H
|
||||||
#define SANITIZER_MAC_H
|
#define SANITIZER_MAC_H
|
||||||
|
|
||||||
|
#include "sanitizer_common.h"
|
||||||
#include "sanitizer_platform.h"
|
#include "sanitizer_platform.h"
|
||||||
#if SANITIZER_MAC
|
#if SANITIZER_MAC
|
||||||
#include "sanitizer_posix.h"
|
#include "sanitizer_posix.h"
|
||||||
|
@ -37,5 +38,16 @@ char **GetEnviron();
|
||||||
|
|
||||||
} // namespace __sanitizer
|
} // namespace __sanitizer
|
||||||
|
|
||||||
|
extern "C" {
|
||||||
|
static char __crashreporter_info_buff__[kErrorMessageBufferSize] = {};
|
||||||
|
static const char *__crashreporter_info__ __attribute__((__used__)) =
|
||||||
|
&__crashreporter_info_buff__[0];
|
||||||
|
asm(".desc ___crashreporter_info__, 0x10");
|
||||||
|
} // extern "C"
|
||||||
|
|
||||||
|
INLINE void CRSetCrashLogMessage(const char *msg) {
|
||||||
|
internal_strlcpy(__crashreporter_info_buff__, msg,
|
||||||
|
sizeof(__crashreporter_info_buff__)); }
|
||||||
|
|
||||||
#endif // SANITIZER_MAC
|
#endif // SANITIZER_MAC
|
||||||
#endif // SANITIZER_MAC_H
|
#endif // SANITIZER_MAC_H
|
||||||
|
|
Loading…
Reference in New Issue