Skip to content

Commit f26adaa

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
1 parent 5cb20ef commit f26adaa

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)