Skip to content

Commit 6594a47

Browse files
committed
[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 (cherry picked from commit f26adaa)
1 parent 2d2d701 commit 6594a47

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

compiler-rt/test/asan/TestCases/zero_page_pc.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,17 @@
11
// Check that ASan correctly detects SEGV on the zero page.
22
// RUN: %clangxx_asan %s -o %t && not %run %t 2>&1 | FileCheck %s
33

4+
#if __has_feature(ptrauth_calls)
5+
# include <ptrauth.h>
6+
#endif
7+
48
typedef void void_f();
59
int main() {
610
void_f *func = (void_f *)0x4;
11+
#if __has_feature(ptrauth_calls)
12+
func = ptrauth_sign_unauthenticated(
13+
func, ptrauth_key_function_pointer, 0);
14+
#endif
715
func();
816
// x86 reports the SEGV with both address=4 and pc=4.
917
// On PowerPC64 ELFv1, the pointer is taken to be a function-descriptor

0 commit comments

Comments
 (0)