forked from OSchip/llvm-project
[asan] Use MADV_NOCORE for use_madv_dontdump on FreeBSD.
Currently in FreeBSD 12.0-CURRENT with trunk clang+compiler-rt, faulty -fsanitize=address executable hangs at 'urdlck' state. Ka Ho Ng has verified that by backporting this to llvm 6.0.1, with use_madv_dontdump=1, shadow memory is not dumped. ASAN_OPTIONS=abort_on_error=1:disable_coredump=0:use_madv_dontdump=1 ./a Reviewers: dimitry, kcc, dvyukov, emaste, khng300 Subscribers: kubamracek, delcypher, llvm-commits, #sanitizers Differential Revision: https://reviews.llvm.org/D48257 llvm-svn: 336046
This commit is contained in:
parent
50a10ba6e0
commit
da891dc6b4
|
@ -78,8 +78,10 @@ bool NoHugePagesInRegion(uptr addr, uptr size) {
|
|||
}
|
||||
|
||||
bool DontDumpShadowMemory(uptr addr, uptr length) {
|
||||
#ifdef MADV_DONTDUMP
|
||||
#if defined(MADV_DONTDUMP)
|
||||
return madvise((void *)addr, length, MADV_DONTDUMP) == 0;
|
||||
#elif defined(MADV_NOCORE)
|
||||
return madvise((void *)addr, length, MADV_NOCORE) == 0;
|
||||
#else
|
||||
return true;
|
||||
#endif // MADV_DONTDUMP
|
||||
|
|
Loading…
Reference in New Issue