[llvm] 23d73be - [Support/ELF] Add OpenBSD NT_OPENBSD_PACMASK core note type (#205411)

via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 5 20:34:38 PDT 2026


Author: Brad Smith
Date: 2026-08-05T23:34:33-04:00
New Revision: 23d73be555edc9ea265009ed7094444b15b6bc95

URL: https://github.com/llvm/llvm-project/commit/23d73be555edc9ea265009ed7094444b15b6bc95
DIFF: https://github.com/llvm/llvm-project/commit/23d73be555edc9ea265009ed7094444b15b6bc95.diff

LOG: [Support/ELF] Add OpenBSD NT_OPENBSD_PACMASK core note type (#205411)

Reference: https://github.com/openbsd/src/blob/master/sys/sys/exec_elf.h

Added: 
    

Modified: 
    llvm/include/llvm/BinaryFormat/ELF.h
    llvm/lib/ObjectYAML/ELFYAML.cpp
    llvm/test/tools/llvm-readobj/ELF/note-openbsd-core.test
    llvm/tools/llvm-readobj/ELFDumper.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/include/llvm/BinaryFormat/ELF.h b/llvm/include/llvm/BinaryFormat/ELF.h
index 8c429a8e1428f..823a08d7dd81b 100644
--- a/llvm/include/llvm/BinaryFormat/ELF.h
+++ b/llvm/include/llvm/BinaryFormat/ELF.h
@@ -1972,6 +1972,7 @@ enum {
   NT_OPENBSD_FPREGS = 21,
   NT_OPENBSD_XFPREGS = 22,
   NT_OPENBSD_WCOOKIE = 23,
+  NT_OPENBSD_PACMASK = 24,
 };
 
 // AMDGPU-specific section indices.

diff  --git a/llvm/lib/ObjectYAML/ELFYAML.cpp b/llvm/lib/ObjectYAML/ELFYAML.cpp
index 4e96b74bd9c15..72b0ca52ae50a 100644
--- a/llvm/lib/ObjectYAML/ELFYAML.cpp
+++ b/llvm/lib/ObjectYAML/ELFYAML.cpp
@@ -175,6 +175,7 @@ void ScalarEnumerationTraits<ELFYAML::ELF_NT>::enumeration(
   ECase(NT_OPENBSD_FPREGS);
   ECase(NT_OPENBSD_XFPREGS);
   ECase(NT_OPENBSD_WCOOKIE);
+  ECase(NT_OPENBSD_PACMASK);
   // AMD specific notes. (Code Object V2)
   ECase(NT_AMD_HSA_CODE_OBJECT_VERSION);
   ECase(NT_AMD_HSA_HSAIL);

diff  --git a/llvm/test/tools/llvm-readobj/ELF/note-openbsd-core.test b/llvm/test/tools/llvm-readobj/ELF/note-openbsd-core.test
index 3044fded0d6fa..3868a5761c16b 100644
--- a/llvm/test/tools/llvm-readobj/ELF/note-openbsd-core.test
+++ b/llvm/test/tools/llvm-readobj/ELF/note-openbsd-core.test
@@ -18,6 +18,8 @@ Sections:
         Type: NT_OPENBSD_AUXV
       - Name: OpenBSD
         Type: NT_OPENBSD_WCOOKIE
+      - Name: OpenBSD
+        Type: NT_OPENBSD_PACMASK
       - Name: OpenBSD at 31337
         Type: NT_OPENBSD_REGS
       - Name: OpenBSD at 31337
@@ -27,11 +29,12 @@ ProgramHeaders:
     FirstSec: .note.foo
     LastSec:  .note.foo
 
-# GNU:      Displaying notes found at file offset 0x00000078 with length 0x00000074:
+# GNU:      Displaying notes found at file offset 0x00000078 with length 0x00000088:
 # GNU-NEXT:   Owner                Data size 	Description
 # GNU-NEXT:   OpenBSD              0x00000000	NT_OPENBSD_PROCINFO (procinfo structure)
 # GNU-NEXT:   OpenBSD              0x00000000	NT_OPENBSD_AUXV (ELF auxiliary vector data)
 # GNU-NEXT:   OpenBSD              0x00000000	NT_OPENBSD_WCOOKIE (window cookie)
+# GNU-NEXT:   OpenBSD              0x00000000	NT_OPENBSD_PACMASK (AArch64 Pointer Authentication Code mask)
 # GNU-NEXT:   OpenBSD at 31337        0x00000000	NT_OPENBSD_REGS (regular registers)
 # GNU-NEXT:   OpenBSD at 31337        0x00000000	NT_OPENBSD_FPREGS (floating point registers)
 
@@ -39,7 +42,7 @@ ProgramHeaders:
 # LLVM-NEXT:   NoteSection {
 # LLVM-NEXT:     Name: <?>
 # LLVM-NEXT:     Offset: 0x78
-# LLVM-NEXT:     Size: 0x74
+# LLVM-NEXT:     Size: 0x88
 # LLVM-NEXT:     Notes [
 # LLVM-NEXT:        {
 # LLVM-NEXT:            Owner: OpenBSD
@@ -57,6 +60,11 @@ ProgramHeaders:
 # LLVM-NEXT:            Type: NT_OPENBSD_WCOOKIE (window cookie)
 # LLVM-NEXT:        }
 # LLVM-NEXT:        {
+# LLVM-NEXT:            Owner: OpenBSD
+# LLVM-NEXT:            Data size: 0x0
+# LLVM-NEXT:            Type: NT_OPENBSD_PACMASK (AArch64 Pointer Authentication Code mask)
+# LLVM-NEXT:        }
+# LLVM-NEXT:        {
 # LLVM-NEXT:            Owner: OpenBSD at 31337
 # LLVM-NEXT:            Data size: 0x0
 # LLVM-NEXT:            Type: NT_OPENBSD_REGS (regular registers)

diff  --git a/llvm/tools/llvm-readobj/ELFDumper.cpp b/llvm/tools/llvm-readobj/ELFDumper.cpp
index 6bd9efa0542a1..de0a97abb08ee 100644
--- a/llvm/tools/llvm-readobj/ELFDumper.cpp
+++ b/llvm/tools/llvm-readobj/ELFDumper.cpp
@@ -6255,6 +6255,8 @@ const NoteType OpenBSDCoreNoteTypes[] = {
     {ELF::NT_OPENBSD_REGS, "NT_OPENBSD_REGS (regular registers)"},
     {ELF::NT_OPENBSD_FPREGS, "NT_OPENBSD_FPREGS (floating point registers)"},
     {ELF::NT_OPENBSD_WCOOKIE, "NT_OPENBSD_WCOOKIE (window cookie)"},
+    {ELF::NT_OPENBSD_PACMASK,
+     "NT_OPENBSD_PACMASK (AArch64 Pointer Authentication Code mask)"},
 };
 
 const NoteType AMDNoteTypes[] = {


        


More information about the llvm-commits mailing list