summaryrefslogtreecommitdiffstats
path: root/compiler-rt/test/msan/strlen_of_shadow.cc
diff options
context:
space:
mode:
Diffstat (limited to 'compiler-rt/test/msan/strlen_of_shadow.cc')
-rw-r--r--compiler-rt/test/msan/strlen_of_shadow.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/compiler-rt/test/msan/strlen_of_shadow.cc b/compiler-rt/test/msan/strlen_of_shadow.cc
index d6f8be70bf9..763b3a1c73c 100644
--- a/compiler-rt/test/msan/strlen_of_shadow.cc
+++ b/compiler-rt/test/msan/strlen_of_shadow.cc
@@ -13,6 +13,10 @@ const char *mem_to_shadow(const char *p) {
return (char *)((uintptr_t)p & ~0x400000000000ULL);
#elif defined (__mips64)
return (char *)((uintptr_t)p & ~0x4000000000ULL);
+#elif defined(__powerpc64__)
+#define LINEARIZE_MEM(mem) \
+ (((uintptr_t)(mem) & ~0x200000000000ULL) ^ 0x100000000000ULL)
+ return (char *)(LINEARIZE_MEM(p) + 0x080000000000ULL);
#endif
}
OpenPOWER on IntegriCloud