[clang] [llvm] [clang][llvm][AArch64] Set hardening fn attrs on synthetic functions (PR #211013)
Daniil Kovalev via llvm-commits
llvm-commits at lists.llvm.org
Fri Jul 31 04:09:23 PDT 2026
================
@@ -0,0 +1,41 @@
+// RUN: %clang_cc1 -triple arm64-apple-ios -coverage-data-file=/dev/null -emit-llvm %s -o - | FileCheck %s --check-prefixes=ALL,OFF
+// RUN: %clang_cc1 -triple arm64e-apple-ios -coverage-data-file=/dev/null -emit-llvm %s -o - | FileCheck %s --check-prefixes=ALL,OFF
+// RUN: %clang_cc1 -triple aarch64-linux-gnu -coverage-data-file=/dev/null -emit-llvm %s -o - | FileCheck %s --check-prefixes=ALL,OFF
+
+// RUN: %clang_cc1 -triple arm64-apple-ios -coverage-data-file=/dev/null -fptrauth-returns -emit-llvm %s -o - | FileCheck %s --check-prefixes=ALL,RETS
+// RUN: %clang_cc1 -triple aarch64-linux-gnu -coverage-data-file=/dev/null -fptrauth-returns -emit-llvm %s -o - | FileCheck %s --check-prefixes=ALL,RETS
+
+// RUN: %clang_cc1 -triple arm64-apple-ios -coverage-data-file=/dev/null -fptrauth-auth-traps -emit-llvm %s -o - | FileCheck %s --check-prefixes=ALL,TRAPS
+// RUN: %clang_cc1 -triple aarch64-linux-gnu -coverage-data-file=/dev/null -fptrauth-auth-traps -emit-llvm %s -o - | FileCheck %s --check-prefixes=ALL,TRAPS
+
+// RUN: %clang_cc1 -triple arm64-apple-ios -coverage-data-file=/dev/null -fptrauth-indirect-gotos -emit-llvm %s -o - | FileCheck %s --check-prefixes=ALL,GOTOS
+// RUN: %clang_cc1 -triple aarch64-linux-gnu -coverage-data-file=/dev/null -fptrauth-indirect-gotos -emit-llvm %s -o - | FileCheck %s --check-prefixes=ALL,GOTOS
+
+// RUN: %clang_cc1 -triple arm64e-apple-ios -coverage-data-file=/dev/null -faarch64-jump-table-hardening -emit-llvm %s -o - | FileCheck %s --check-prefixes=ALL,JMPTBL
+// RUN: %clang_cc1 -triple aarch64-linux-gnu -coverage-data-file=/dev/null -faarch64-jump-table-hardening -emit-llvm %s -o - | FileCheck %s --check-prefixes=ALL,JMPTBL
+
+// ALL: define internal void @__llvm_gcov_writeout() unnamed_addr #[[#T:]] {
+// ALL: define internal void @__llvm_gcov_reset() unnamed_addr #[[#T]] {
+// ALL: define internal void @__llvm_gcov_init() unnamed_addr #[[#T]] {
+
+// RETS: attributes #[[#T]] = {{{.*}} "ptrauth-returns" {{.*}}}
+// RETS: !llvm.module.flags = !{{{.*}}!3{{.*}}}
+// RETS: !3 = !{i32 7, !"ptrauth-returns", i32 1}
----------------
kovdan01 wrote:
Thanks for suggestion, should be resolved now
https://github.com/llvm/llvm-project/pull/211013
More information about the llvm-commits
mailing list