clang 20.0.0git
Public Attributes | List of all members
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.
 

Detailed Description

Definition at line 165 of file PointerAuthOptions.h.

Member Data Documentation

◆ AArch64JumpTableHardening

bool clang::PointerAuthOptions::AArch64JumpTableHardening = false

Use hardened lowering for jump-table dispatch?

Definition at line 176 of file PointerAuthOptions.h.

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

◆ AuthTraps

bool clang::PointerAuthOptions::AuthTraps = false

Do authentication failures cause a trap?

Definition at line 170 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 189 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 195 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 198 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 183 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 192 of file PointerAuthOptions.h.

Referenced by clang::CodeGen::CodeGenVTables::EmitVTTDefinition(), and clang::CompilerInvocation::setDefaultPointerAuthOptions().

◆ FunctionPointers

PointerAuthSchema clang::PointerAuthOptions::FunctionPointers

◆ IndirectGotos

bool clang::PointerAuthOptions::IndirectGotos = false

Do indirect goto label addresses need to be authenticated?

Definition at line 173 of file PointerAuthOptions.h.

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

◆ InitFiniPointers

PointerAuthSchema clang::PointerAuthOptions::InitFiniPointers

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

Definition at line 204 of file PointerAuthOptions.h.

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

◆ ReturnAddresses

bool clang::PointerAuthOptions::ReturnAddresses = false

Should return addresses be authenticated?

Definition at line 167 of file PointerAuthOptions.h.

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


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