forked from OSchip/llvm-project
[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
This commit is contained in:
parent
5cb20ef8a2
commit
f26adaa28d
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue