summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--compiler-rt/lib/ubsan/ubsan_type_hash_itanium.cc4
-rw-r--r--compiler-rt/test/ubsan/lit.common.cfg2
2 files changed, 3 insertions, 3 deletions
diff --git a/compiler-rt/lib/ubsan/ubsan_type_hash_itanium.cc b/compiler-rt/lib/ubsan/ubsan_type_hash_itanium.cc
index 170da2cdb84..3687c533e99 100644
--- a/compiler-rt/lib/ubsan/ubsan_type_hash_itanium.cc
+++ b/compiler-rt/lib/ubsan/ubsan_type_hash_itanium.cc
@@ -193,7 +193,7 @@ struct VtablePrefix {
std::type_info *TypeInfo;
};
-#if SANITIZER_LINUX
+#if SANITIZER_LINUX && !defined(__powerpc64__)
bool isValidVptr(void *Vtable) {
// Validate the memory permissions of the vtable pointer and the first
// function pointer in the vtable. They should be r-- or r-x and r-x
@@ -218,7 +218,7 @@ bool isValidVptr(void *Vtable) {
}
return false;
}
-#else // !SANITIZER_LINUX
+#else // !SANITIZER_LINUX || __powerpc64__
bool isValidVptr(void *Vtable) {
return true;
}
diff --git a/compiler-rt/test/ubsan/lit.common.cfg b/compiler-rt/test/ubsan/lit.common.cfg
index 2e0a0bc77c9..92d998b8ba8 100644
--- a/compiler-rt/test/ubsan/lit.common.cfg
+++ b/compiler-rt/test/ubsan/lit.common.cfg
@@ -78,5 +78,5 @@ if config.host_os == 'Windows':
if config.target_arch.startswith('arm') == False:
config.available_features.add('stable-runtime')
-if config.host_os == 'Linux':
+if config.host_os == 'Linux' and config.target_arch != 'powerpc64':
config.available_features.add('vptr-validation')
OpenPOWER on IntegriCloud