aboutsummaryrefslogtreecommitdiff
path: root/lldb
diff options
context:
space:
mode:
authorJonas Devlieghere <jonas@devlieghere.com>2024-02-19 15:29:00 -0800
committerGitHub <noreply@github.com>2024-02-19 15:29:00 -0800
commit513d9f2395ea017e72602ca6e747a2e061ab8c3f (patch)
tree088822379898922361a9a36c48462fa99bcc1e8e /lldb
parent61a96e5afadd034e7d13126f0e43731bbad7ad89 (diff)
downloadllvm-513d9f2395ea017e72602ca6e747a2e061ab8c3f.zip
llvm-513d9f2395ea017e72602ca6e747a2e061ab8c3f.tar.gz
llvm-513d9f2395ea017e72602ca6e747a2e061ab8c3f.tar.bz2
[ptrauth] Teach LLVM & LLDB about LLVM_ptrauth_authentication_mode (#82272)
Teach LLVM & LLDB about `DW_AT_LLVM_ptrauth_authentication_mode`
Diffstat (limited to 'lldb')
-rw-r--r--lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp
index d4446be..4884374 100644
--- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp
+++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp
@@ -316,8 +316,14 @@ void DWARFDIE::AppendTypeName(Stream &s) const {
GetAttributeValueAsUnsigned(DW_AT_LLVM_ptrauth_extra_discriminator, 0);
bool isaPointer =
GetAttributeValueAsUnsigned(DW_AT_LLVM_ptrauth_isa_pointer, 0);
- s.Printf("__ptrauth(%d, %d, 0x0%x, %d)", key, isAddressDiscriminated,
- extraDiscriminator, isaPointer);
+ bool authenticatesNullValues = GetAttributeValueAsUnsigned(
+ DW_AT_LLVM_ptrauth_authenticates_null_values, 0);
+ unsigned authenticationMode =
+ GetAttributeValueAsUnsigned(DW_AT_LLVM_ptrauth_authentication_mode, 3);
+
+ s.Printf("__ptrauth(%d, %d, 0x0%x, %d, %d, %d)", key,
+ isAddressDiscriminated, extraDiscriminator, isaPointer,
+ authenticatesNullValues, authenticationMode);
break;
}
default: