[all-commits] [llvm/llvm-project] 0481f0: [AArch64][PAC] Support ptrauth builtins and -fptra...

Ahmed Bougacha via All-commits all-commits at lists.llvm.org
Fri Mar 15 14:17:43 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 0481f049c37029d829dbc0c0cc5d1ee71c6d1c9a
      https://github.com/llvm/llvm-project/commit/0481f049c37029d829dbc0c0cc5d1ee71c6d1c9a
  Author: Ahmed Bougacha <ahmed at bougacha.org>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    A clang/docs/PointerAuthentication.rst
    M clang/include/clang/Basic/Builtins.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/Features.def
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Basic/TargetInfo.h
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Basic/TargetInfo.cpp
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Headers/CMakeLists.txt
    M clang/lib/Headers/module.modulemap
    A clang/lib/Headers/ptrauth.h
    M clang/lib/Sema/SemaChecking.cpp
    A clang/test/CodeGen/ptrauth-intrinsics.c
    A clang/test/Preprocessor/ptrauth_feature.c
    A clang/test/Sema/ptrauth-intrinsics-macro.c
    A clang/test/Sema/ptrauth.c
    M llvm/docs/PointerAuth.md

  Log Message:
  -----------
  [AArch64][PAC] Support ptrauth builtins and -fptrauth-intrinsics. (#65996)

This defines the basic set of pointer authentication clang builtins
(provided in a new header, ptrauth.h), with diagnostics and IRGen
support.  The availability of the builtins is gated on a new flag,
`-fptrauth-intrinsics`.

Note that this only includes the basic intrinsics, and notably excludes
`ptrauth_sign_constant`, `ptrauth_type_discriminator`, and
`ptrauth_string_discriminator`, which need extra logic to be fully
supported.

This also introduces clang/docs/PointerAuthentication.rst, which
describes the ptrauth model in general, in addition to these builtins.

Co-Authored-By: Akira Hatanaka <ahatanaka at apple.com>
Co-Authored-By: John McCall <rjmccall at apple.com>



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list