[all-commits] [llvm/llvm-project] 276740: [clang] Define ptrauth_sign_constant builtin.

Ahmed Bougacha via All-commits all-commits at lists.llvm.org
Thu Jun 20 12:02:57 PDT 2024


  Branch: refs/heads/users/ahmedbougacha/ptrauth-sign-constant
  Home:   https://github.com/llvm/llvm-project
  Commit: 2767407e2970d6fb8b0e651d80162d9481129258
      https://github.com/llvm/llvm-project/commit/2767407e2970d6fb8b0e651d80162d9481129258
  Author: Ahmed Bougacha <ahmed at bougacha.org>
  Date:   2024-06-20 (Thu, 20 Jun 2024)

  Changed paths:
    M clang/include/clang/Basic/Builtins.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/CodeGen/CodeGenABITypes.h
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    A clang/lib/CodeGen/CGPointerAuth.cpp
    M clang/lib/CodeGen/CMakeLists.txt
    M clang/lib/CodeGen/CodeGenModule.h
    M clang/lib/Headers/ptrauth.h
    M clang/lib/Sema/SemaChecking.cpp
    A clang/test/CodeGen/ptrauth-intrinsic-sign-constant.c
    M clang/test/Sema/ptrauth-intrinsics-macro.c
    M clang/test/Sema/ptrauth.c

  Log Message:
  -----------
  [clang] Define ptrauth_sign_constant builtin.

This is constant-expression equivalent to __builtin_ptrauth_sign,
allowing its usage in global initializers, but requiring constant
pointers and discriminators.

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


  Commit: 2cdd61a6d3bee0c11a5b61dbfbb0c4ce0858bf98
      https://github.com/llvm/llvm-project/commit/2cdd61a6d3bee0c11a5b61dbfbb0c4ce0858bf98
  Author: Ahmed Bougacha <ahmed at bougacha.org>
  Date:   2024-06-20 (Thu, 20 Jun 2024)

  Changed paths:
    M clang/docs/PointerAuthentication.rst

  Log Message:
  -----------
  Document ptrauth_sign_constant in clang/docs/PointerAuthentication.


  Commit: f8b9fe4a1401f16bc58bfec8c3148a670e001cc6
      https://github.com/llvm/llvm-project/commit/f8b9fe4a1401f16bc58bfec8c3148a670e001cc6
  Author: Ahmed Bougacha <ahmed at bougacha.org>
  Date:   2024-06-20 (Thu, 20 Jun 2024)

  Changed paths:
    M clang/include/clang/CodeGen/CodeGenABITypes.h
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CGPointerAuth.cpp
    M clang/lib/CodeGen/CodeGenModule.h
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/CodeGen/ptrauth-intrinsic-sign-constant.c

  Log Message:
  -----------
  Address feedback.

- test elf as well
- rename every variable.


  Commit: 7c4aab3697408475029c6549a11f8bf753ca7af7
      https://github.com/llvm/llvm-project/commit/7c4aab3697408475029c6549a11f8bf753ca7af7
  Author: Ahmed Bougacha <ahmed at bougacha.org>
  Date:   2024-06-20 (Thu, 20 Jun 2024)

  Changed paths:
    M clang/docs/PointerAuthentication.rst
    M clang/include/clang/CodeGen/CodeGenABITypes.h
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CGPointerAuth.cpp
    M clang/lib/CodeGen/CodeGenModule.h
    M clang/lib/Headers/ptrauth.h
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/Sema/ptrauth.c

  Log Message:
  -----------
  Simplify some functionality and address review feedback.

- don't reject weakref base pointers (allowed in quals now anyway)
- fold buildConstantAddress into getConstantSignedPointer (originally
  to provide a caching layer for global wrappers but not needed anymore)
- remove stripPointerCasts from it (originally for typed pointers)
- use ConstantInt for the integer/other component of discriminators
- remove CodeGen:: helper (originally for swift but not required)
- rejigger tests; try for parity in fn body and global init
- add a couple missing tests
- tweak doc/header comment
- adopt 'can be used in cst exprs' phrasing from LangExts doc
- various nits, naming, and format


  Commit: 3a08530ded5f36deb077eef344c381b3eb88ba3f
      https://github.com/llvm/llvm-project/commit/3a08530ded5f36deb077eef344c381b3eb88ba3f
  Author: Ahmed Bougacha <ahmed at bougacha.org>
  Date:   2024-06-20 (Thu, 20 Jun 2024)

  Changed paths:
    M clang/test/CodeGen/ptrauth-intrinsic-sign-constant.c

  Log Message:
  -----------
  Add more codegen tests.


  Commit: 68d0bb2c2c741a999d71c572d2d4c262eaa34d70
      https://github.com/llvm/llvm-project/commit/68d0bb2c2c741a999d71c572d2d4c262eaa34d70
  Author: Ahmed Bougacha <ahmed at bougacha.org>
  Date:   2024-06-20 (Thu, 20 Jun 2024)

  Changed paths:
    M clang/docs/PointerAuthentication.rst

  Log Message:
  -----------
  Remove leftover comment.


Compare: https://github.com/llvm/llvm-project/compare/1201821dc1e4...68d0bb2c2c74

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