[compiler-rt] r323217 - [PowerPC][asan] Fix asan tests to handle changed memory layouts

Bill Seurer via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 23 08:28:17 PST 2018


Author: seurer
Date: Tue Jan 23 08:28:17 2018
New Revision: 323217

URL: http://llvm.org/viewvc/llvm-project?rev=323217&view=rev
Log:
[PowerPC][asan] Fix asan tests to handle changed memory layouts

In more recent Linux kernels with 47 bit VMAs the layout of virtual memory
for powerpc64 changed causing the address sanitizer to not work properly. This
patch fixes up a test case that was found to fail on some newer Fedora
releases that use different address ranges.

ref: https://reviews.llvm.org/D40907


Modified:
    compiler-rt/trunk/test/asan/TestCases/debug_ppc64_mapping.cc

Modified: compiler-rt/trunk/test/asan/TestCases/debug_ppc64_mapping.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/asan/TestCases/debug_ppc64_mapping.cc?rev=323217&r1=323216&r2=323217&view=diff
==============================================================================
--- compiler-rt/trunk/test/asan/TestCases/debug_ppc64_mapping.cc (original)
+++ compiler-rt/trunk/test/asan/TestCases/debug_ppc64_mapping.cc Tue Jan 23 08:28:17 2018
@@ -6,9 +6,9 @@
 #include <stdio.h>
 
 int main() {
-// CHECK-PPC64: || `[{{0x180|0x0a0|0x040}}000000000, {{0x3ff|0x0ff}}fffffffff]` || HighMem    ||
-// CHECK-PPC64: || `[{{0x130|0x034|0x028}}000000000, {{0x17f|0x09f|0x03f}}fffffffff]` || HighShadow ||
-// CHECK-PPC64: || `[{{0x120|0x024|0x024}}000000000, {{0x12f|0x033|0x027}}fffffffff]` || ShadowGap  ||
+// CHECK-PPC64: || `[{{0x200|0x180|0x0a0|0x040}}000000000, {{0x7ff|0x3ff|0x0ff}}fffffffff]` || HighMem    ||
+// CHECK-PPC64: || `[{{0x140|0x130|0x034|0x028}}000000000, {{0x1ff|0x17f|0x09f|0x03f}}fffffffff]` || HighShadow ||
+// CHECK-PPC64: || `[{{0x120|0x024|0x024}}000000000, {{0x12f|0x13f|0x033|0x027}}fffffffff]` || ShadowGap  ||
 // CHECK-PPC64: || `[{{0x100|0x020}}000000000, {{0x11f|0x023}}fffffffff]`       || LowShadow  ||
 // CHECK-PPC64: || `[0x000000000000, {{0x0ff|0x01f}}fffffffff]`       || LowMem     ||
 //
@@ -19,8 +19,16 @@ int main() {
 }
 
 /*
- * Three different signatures noted.
-Newer kernel: (starting with kernel version 4.?)
+ * Several different signatures noted.
+
+Newer kernel: (Fedora starting with kernel version 4.?)
+|| `[0x200000000000, 0x7fffffffffff]` || HighMem    ||
+|| `[0x140000000000, 0x1fffffffffff]` || HighShadow ||
+|| `[0x120000000000, 0x13ffffffffff]` || ShadowGap  ||
+|| `[0x100000000000, 0x11ffffffffff]` || LowShadow  ||
+|| `[0x000000000000, 0x0fffffffffff]` || LowMem     ||
+
+Newer kernel: (Ubuntu starting with kernel version 4.?)
 || `[0x180000000000, 0x3fffffffffff]` || HighMem    ||
 || `[0x130000000000, 0x17ffffffffff]` || HighShadow ||
 || `[0x120000000000, 0x12ffffffffff]` || ShadowGap  ||




More information about the llvm-commits mailing list