[all-commits] [llvm/llvm-project] 3523ea: [clang] Implement pointer authentication for C++ v...

Oliver Hunt via All-commits all-commits at lists.llvm.org
Fri May 31 11:53:10 PDT 2024


  Branch: refs/heads/users/ahmedbougacha/ptrauth-cpp-vtables
  Home:   https://github.com/llvm/llvm-project
  Commit: 3523eaf73c2df05b7b615eca9d84b7ec9eb3c31f
      https://github.com/llvm/llvm-project/commit/3523eaf73c2df05b7b615eca9d84b7ec9eb3c31f
  Author: Oliver Hunt <oliver at apple.com>
  Date:   2024-05-31 (Fri, 31 May 2024)

  Changed paths:
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/Mangle.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/PointerAuthOptions.h
    M clang/include/clang/Basic/Thunk.h
    M clang/include/clang/CodeGen/CodeGenABITypes.h
    M clang/include/clang/CodeGen/ConstantInitBuilder.h
    M clang/include/clang/InstallAPI/Visitor.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/Mangle.cpp
    M clang/lib/AST/MicrosoftMangle.cpp
    M clang/lib/AST/VTableBuilder.cpp
    M clang/lib/CodeGen/CGCXX.cpp
    M clang/lib/CodeGen/CGCXXABI.h
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CGPointerAuth.cpp
    M clang/lib/CodeGen/CGVTT.cpp
    M clang/lib/CodeGen/CGVTables.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenModule.h
    M clang/lib/CodeGen/ConstantEmitter.h
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/CodeGen/MicrosoftCXXABI.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Headers/ptrauth.h
    M clang/lib/InstallAPI/Visitor.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExpr.cpp
    A clang/test/CodeGen/ptrauth-ubsan-vptr.cpp
    M clang/test/CodeGenCXX/catch-undef-behavior.cpp
    A clang/test/CodeGenCXX/ptrauth-apple-kext-indirect-call-2.cpp
    A clang/test/CodeGenCXX/ptrauth-apple-kext-indirect-call.cpp
    A clang/test/CodeGenCXX/ptrauth-apple-kext-indirect-virtual-dtor-call.cpp
    A clang/test/CodeGenCXX/ptrauth-explicit-vtable-pointer-control.cpp
    A clang/test/CodeGenCXX/ptrauth-rtti-layout.cpp
    A clang/test/CodeGenCXX/ptrauth-thunks.cpp
    A clang/test/CodeGenCXX/ptrauth-virtual-function.cpp
    A clang/test/CodeGenCXX/ptrauth-vtable-virtual-inheritance-thunk.cpp
    M clang/test/CodeGenCXX/ubsan-vtable-checks.cpp
    M clang/test/Misc/pragma-attribute-supported-attributes-list.test
    A clang/test/SemaCXX/ptrauth-incomplete-virtual-member-function-return-arg-type.cpp
    A clang/test/SemaCXX/vtable_pointer_authentication_attribute.cpp
    M clang/utils/TableGen/ClangAttrEmitter.cpp

  Log Message:
  -----------
  [clang] Implement pointer authentication for C++ virtual functions, v-tables, and VTTs.

This also implements the ptrauth_vtable_pointer attribute to allow
overriding the default ptrauth schema for vtable pointers.

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