diff options
author | Peter Collingbourne <peter@pcc.me.uk> | 2015-09-12 00:08:28 +0000 |
---|---|---|
committer | Peter Collingbourne <peter@pcc.me.uk> | 2015-09-12 00:08:28 +0000 |
commit | e299bc51b64a0ac346f8fea0f703b62be468a719 (patch) | |
tree | 29d0e8a5922283b00313c394c8f31ff9c2656e61 | |
parent | 62cfd01270536bf865b4f3da42627832848d212c (diff) | |
download | bcm5719-llvm-e299bc51b64a0ac346f8fea0f703b62be468a719.tar.gz bcm5719-llvm-e299bc51b64a0ac346f8fea0f703b62be468a719.zip |
ubsan: Disable vptr validation on powerpc64.
Should fix sanitizer-ppc64-linux1 bot.
llvm-svn: 247493
-rw-r--r-- | compiler-rt/lib/ubsan/ubsan_type_hash_itanium.cc | 4 | ||||
-rw-r--r-- | compiler-rt/test/ubsan/lit.common.cfg | 2 |
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') |