Blame SOURCES/gcc48-rh1312850.patch

5ed81e
2016-05-26  Martin Sebor  <msebor@redhat.com>
5ed81e
	    Jakub Jelinek  <jakub@redhat.com>
5ed81e
5ed81e
	* asan/asan_rtl.cc (InitializeHighMemEnd): Backport part of upstream
5ed81e
	r221457 fix and typo fix from r206158.
5ed81e
5ed81e
--- libsanitizer/asan/asan_rtl.cc.jj	2013-03-04 12:44:18.000000000 +0100
5ed81e
+++ libsanitizer/asan/asan_rtl.cc	2016-05-26 09:57:10.761973999 +0200
5ed81e
@@ -308,11 +308,13 @@ static void InitializeHighMemEnd() {
5ed81e
 # if defined(__powerpc64__)
5ed81e
   // FIXME:
5ed81e
   // On PowerPC64 we have two different address space layouts: 44- and 46-bit.
5ed81e
-  // We somehow need to figure our which one we are using now and choose
5ed81e
+  // We somehow need to figure out which one we are using now and choose
5ed81e
   // one of 0x00000fffffffffffUL and 0x00003fffffffffffUL.
5ed81e
   // Note that with 'ulimit -s unlimited' the stack is moved away from the top
5ed81e
   // of the address space, so simply checking the stack address is not enough.
5ed81e
-  kHighMemEnd = (1ULL << 44) - 1;  // 0x00000fffffffffffUL
5ed81e
+  // This should (does) work for both PowerPC64 Endian modes.
5ed81e
+  kHighMemEnd =
5ed81e
+      (1ULL << (MostSignificantSetBitIndex(GET_CURRENT_FRAME()) + 1)) - 1;
5ed81e
 # else
5ed81e
   kHighMemEnd = (1ULL << 47) - 1;  // 0x00007fffffffffffUL;
5ed81e
 # endif