Commit 39abbb86 by Bill Seurer Committed by Bill Seurer

[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
parent d69ac8b7
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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment