[compiler-rt] f26adaa - [compiler-rt][test] fix zero_page_pc on arm64e
Emily Shi via llvm-commits
llvm-commits at lists.llvm.org
Thu Jun 24 13:40:18 PDT 2021
Author: Emily Shi
Date: 2021-06-24T13:40:12-07:00
New Revision: f26adaa28d55a174c7ba2f4d49f4f942a04da922
URL: https://github.com/llvm/llvm-project/commit/f26adaa28d55a174c7ba2f4d49f4f942a04da922
DIFF: https://github.com/llvm/llvm-project/commit/f26adaa28d55a174c7ba2f4d49f4f942a04da922.diff
LOG: [compiler-rt][test] fix zero_page_pc on arm64e
on arm64e, pointer auth would catch this access violation before asan.
sign the function pointer so pointer auth will ignore this violation and let asan catch it in this test case.
rdar://79652167
Reviewed By: delcypher
Differential Revision: https://reviews.llvm.org/D104828
Added:
Modified:
compiler-rt/test/asan/TestCases/zero_page_pc.cpp
Removed:
################################################################################
diff --git a/compiler-rt/test/asan/TestCases/zero_page_pc.cpp b/compiler-rt/test/asan/TestCases/zero_page_pc.cpp
index ba35df880edf..9a395ecdf37c 100644
--- a/compiler-rt/test/asan/TestCases/zero_page_pc.cpp
+++ b/compiler-rt/test/asan/TestCases/zero_page_pc.cpp
@@ -1,9 +1,17 @@
// Check that ASan correctly detects SEGV on the zero page.
// RUN: %clangxx_asan %s -o %t && not %run %t 2>&1 | FileCheck %s
+#if __has_feature(ptrauth_calls)
+# include <ptrauth.h>
+#endif
+
typedef void void_f();
int main() {
void_f *func = (void_f *)0x4;
+#if __has_feature(ptrauth_calls)
+ func = ptrauth_sign_unauthenticated(
+ func, ptrauth_key_function_pointer, 0);
+#endif
func();
// x86 reports the SEGV with both address=4 and pc=4.
// On PowerPC64 ELFv1, the pointer is taken to be a function-descriptor
More information about the llvm-commits
mailing list