clang 22.0.0git
clang::PointerAuthOptions Struct Reference

#include "clang/Basic/PointerAuthOptions.h"

Public Attributes

bool ReturnAddresses = false
 Should return addresses be authenticated?
bool AuthTraps = false
 Do authentication failures cause a trap?
bool IndirectGotos = false
 Do indirect goto label addresses need to be authenticated?
bool AArch64JumpTableHardening = false
 Use hardened lowering for jump-table dispatch?
PointerAuthSchema FunctionPointers
 The ABI for C function pointers.
PointerAuthSchema CXXVTablePointers
 The ABI for C++ virtual table pointers (the pointer to the table itself) as installed in an actual class instance.
PointerAuthSchema CXXTypeInfoVTablePointer
 TypeInfo has external ABI requirements and is emitted without actually having parsed the libcxx definition, so we can't simply perform a look up.
PointerAuthSchema CXXVTTVTablePointers
 The ABI for C++ virtual table pointers as installed in a VTT.
PointerAuthSchema CXXVirtualFunctionPointers
 The ABI for most C++ virtual function pointers, i.e. v-table entries.
PointerAuthSchema CXXVirtualVariadicFunctionPointers
 The ABI for variadic C++ virtual function pointers.
PointerAuthSchema CXXMemberFunctionPointers
 The ABI for C++ member function pointers.
PointerAuthSchema InitFiniPointers
 The ABI for function addresses in .init_array and .fini_array.
PointerAuthSchema BlockInvocationFunctionPointers
 The ABI for block invocation function pointers.
PointerAuthSchema BlockHelperFunctionPointers
 The ABI for block object copy/destroy function pointers.
PointerAuthSchema BlockByrefHelperFunctionPointers
 The ABI for __block variable copy/destroy function pointers.
PointerAuthSchema BlockDescriptorPointers
 The ABI for pointers to block descriptors.
PointerAuthSchema ObjCMethodListFunctionPointers
 The ABI for Objective-C method lists.
PointerAuthSchema ObjCMethodListPointer
 The ABI for a reference to an Objective-C method list in _class_ro_t.
PointerAuthSchema ObjCIsaPointers
 The ABI for Objective-C isa pointers.
PointerAuthSchema ObjCSuperPointers
 The ABI for Objective-C superclass pointers.
PointerAuthSchema ObjCClassROPointers
 The ABI for Objective-C class_ro_t pointers.

Detailed Description

Definition at line 189 of file PointerAuthOptions.h.

Member Data Documentation

◆ AArch64JumpTableHardening

bool clang::PointerAuthOptions::AArch64JumpTableHardening = false

◆ AuthTraps

◆ BlockByrefHelperFunctionPointers

PointerAuthSchema clang::PointerAuthOptions::BlockByrefHelperFunctionPointers

The ABI for __block variable copy/destroy function pointers.

Definition at line 237 of file PointerAuthOptions.h.

Referenced by clang::CompilerInvocation::setDefaultPointerAuthOptions().

◆ BlockDescriptorPointers

PointerAuthSchema clang::PointerAuthOptions::BlockDescriptorPointers

The ABI for pointers to block descriptors.

Definition at line 240 of file PointerAuthOptions.h.

Referenced by clang::CompilerInvocation::setDefaultPointerAuthOptions().

◆ BlockHelperFunctionPointers

PointerAuthSchema clang::PointerAuthOptions::BlockHelperFunctionPointers

The ABI for block object copy/destroy function pointers.

Definition at line 234 of file PointerAuthOptions.h.

Referenced by buildBlockDescriptor(), and clang::CompilerInvocation::setDefaultPointerAuthOptions().

◆ BlockInvocationFunctionPointers

PointerAuthSchema clang::PointerAuthOptions::BlockInvocationFunctionPointers

The ABI for block invocation function pointers.

Definition at line 231 of file PointerAuthOptions.h.

Referenced by clang::CompilerInvocation::setDefaultPointerAuthOptions().

◆ CXXMemberFunctionPointers

PointerAuthSchema clang::PointerAuthOptions::CXXMemberFunctionPointers

◆ CXXTypeInfoVTablePointer

PointerAuthSchema clang::PointerAuthOptions::CXXTypeInfoVTablePointer

TypeInfo has external ABI requirements and is emitted without actually having parsed the libcxx definition, so we can't simply perform a look up.

The settings for this should match the exact specification in type_info.h

Definition at line 213 of file PointerAuthOptions.h.

Referenced by clang::CompilerInvocation::setDefaultPointerAuthOptions().

◆ CXXVirtualFunctionPointers

PointerAuthSchema clang::PointerAuthOptions::CXXVirtualFunctionPointers

The ABI for most C++ virtual function pointers, i.e. v-table entries.

Definition at line 219 of file PointerAuthOptions.h.

Referenced by BuildAppleKextVirtualCall(), and clang::CompilerInvocation::setDefaultPointerAuthOptions().

◆ CXXVirtualVariadicFunctionPointers

PointerAuthSchema clang::PointerAuthOptions::CXXVirtualVariadicFunctionPointers

The ABI for variadic C++ virtual function pointers.

Definition at line 222 of file PointerAuthOptions.h.

Referenced by clang::CompilerInvocation::setDefaultPointerAuthOptions().

◆ CXXVTablePointers

PointerAuthSchema clang::PointerAuthOptions::CXXVTablePointers

The ABI for C++ virtual table pointers (the pointer to the table itself) as installed in an actual class instance.

Definition at line 207 of file PointerAuthOptions.h.

Referenced by clang::CompilerInvocation::setDefaultPointerAuthOptions().

◆ CXXVTTVTablePointers

PointerAuthSchema clang::PointerAuthOptions::CXXVTTVTablePointers

The ABI for C++ virtual table pointers as installed in a VTT.

Definition at line 216 of file PointerAuthOptions.h.

Referenced by clang::CompilerInvocation::setDefaultPointerAuthOptions().

◆ FunctionPointers

◆ IndirectGotos

bool clang::PointerAuthOptions::IndirectGotos = false

◆ InitFiniPointers

PointerAuthSchema clang::PointerAuthOptions::InitFiniPointers

The ABI for function addresses in .init_array and .fini_array.

Definition at line 228 of file PointerAuthOptions.h.

Referenced by clang::CompilerInvocation::setDefaultPointerAuthOptions().

◆ ObjCClassROPointers

PointerAuthSchema clang::PointerAuthOptions::ObjCClassROPointers

The ABI for Objective-C class_ro_t pointers.

Definition at line 255 of file PointerAuthOptions.h.

Referenced by clang::CompilerInvocation::setDefaultPointerAuthOptions().

◆ ObjCIsaPointers

PointerAuthSchema clang::PointerAuthOptions::ObjCIsaPointers

The ABI for Objective-C isa pointers.

Definition at line 249 of file PointerAuthOptions.h.

Referenced by clang::CompilerInvocation::setDefaultPointerAuthOptions().

◆ ObjCMethodListFunctionPointers

PointerAuthSchema clang::PointerAuthOptions::ObjCMethodListFunctionPointers

The ABI for Objective-C method lists.

Definition at line 243 of file PointerAuthOptions.h.

Referenced by clang::CompilerInvocation::setDefaultPointerAuthOptions().

◆ ObjCMethodListPointer

PointerAuthSchema clang::PointerAuthOptions::ObjCMethodListPointer

The ABI for a reference to an Objective-C method list in _class_ro_t.

Definition at line 246 of file PointerAuthOptions.h.

Referenced by clang::CompilerInvocation::setDefaultPointerAuthOptions().

◆ ObjCSuperPointers

PointerAuthSchema clang::PointerAuthOptions::ObjCSuperPointers

The ABI for Objective-C superclass pointers.

Definition at line 252 of file PointerAuthOptions.h.

Referenced by clang::CompilerInvocation::setDefaultPointerAuthOptions().

◆ ReturnAddresses

bool clang::PointerAuthOptions::ReturnAddresses = false

The documentation for this struct was generated from the following file: