[PATCH, rs6000] Disable ASLR in sanitizer on powerpc64.
Cherry pick powerpc64 sanitizer fix from upstream llvm. See https://reviews.llvm.org/rL346030 and https://reviews.llvm.org/D52900. 2018-11-08 Bill Seurer <seurer@linux.vnet.ibm.com> * libsanitizer/sanitizer_common/sanitizer_linux.cc (CheckASLR): Disable ASLR for powerpc64 when using sanitizers. From-SVN: r265941
This commit is contained in:
parent
d69ac8b7f8
commit
39abbb865c
2 changed files with 16 additions and 0 deletions
|
@ -1,3 +1,8 @@
|
|||
2018-11-08 Bill Seurer <seurer@linux.vnet.ibm.com>
|
||||
|
||||
* libsanitizer/sanitizer_common/sanitizer_linux.cc (CheckASLR):
|
||||
Disable ASLR for powerpc64 when using sanitizers.
|
||||
|
||||
2018-11-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||||
|
||||
PR sanitizer/80953
|
||||
|
|
|
@ -2008,6 +2008,17 @@ void CheckASLR() {
|
|||
Printf("This sanitizer is not compatible with enabled ASLR\n");
|
||||
Die();
|
||||
}
|
||||
#elif SANITIZER_PPC64V2
|
||||
// Disable ASLR for Linux PPC64LE.
|
||||
int old_personality = personality(0xffffffff);
|
||||
if (old_personality != -1 && (old_personality & ADDR_NO_RANDOMIZE) == 0) {
|
||||
VReport(1, "WARNING: Program is being run with address space layout "
|
||||
"randomization (ASLR) enabled which prevents the thread and "
|
||||
"memory sanitizers from working on powerpc64le.\n"
|
||||
"ASLR will be disabled and the program re-executed.\n");
|
||||
CHECK_NE(personality(old_personality | ADDR_NO_RANDOMIZE), -1);
|
||||
ReExec();
|
||||
}
|
||||
#else
|
||||
// Do nothing
|
||||
#endif
|
||||
|
|
Loading…
Add table
Reference in a new issue