diff options
author | Bill Seurer <seurer@linux.vnet.ibm.com> | 2018-01-23 16:28:17 +0000 |
---|---|---|
committer | Bill Seurer <seurer@linux.vnet.ibm.com> | 2018-01-23 16:28:17 +0000 |
commit | 6aef874694d304f7037aded5b556320784ef11f8 (patch) | |
tree | 0aee429c0f7b065052db3b7765321a39c9e130da /test | |
parent | 2e28adfb2d5142993180b20ce9c339872d324c3d (diff) |
[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
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@323217 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r-- | test/asan/TestCases/debug_ppc64_mapping.cc | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/test/asan/TestCases/debug_ppc64_mapping.cc b/test/asan/TestCases/debug_ppc64_mapping.cc index 0db795669..a67804023 100644 --- a/test/asan/TestCases/debug_ppc64_mapping.cc +++ b/test/asan/TestCases/debug_ppc64_mapping.cc @@ -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 || |