From 31a232f3c7bbd4ade3918f8bd13ff080b52910db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Miku=C5=82a?= Date: Wed, 6 Aug 2025 06:13:34 +0200 Subject: [PATCH] elf: Add constants for GNU SFrame (#799) --- crates/examples/src/readobj/elf.rs | 2 ++ src/elf.rs | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/crates/examples/src/readobj/elf.rs b/crates/examples/src/readobj/elf.rs index 37f501e..790fa1a 100644 --- a/crates/examples/src/readobj/elf.rs +++ b/crates/examples/src/readobj/elf.rs @@ -1370,6 +1370,7 @@ const FLAGS_PT: &[Flag] = &flags!( PT_GNU_STACK, PT_GNU_RELRO, PT_GNU_PROPERTY, + PT_GNU_SFRAME ); const FLAGS_PT_HP: &[Flag] = &flags!( PT_HP_TLS, @@ -1431,6 +1432,7 @@ const FLAGS_SHT: &[Flag] = &flags!( SHT_SYMTAB_SHNDX, SHT_RELR, SHT_LLVM_DEPENDENT_LIBRARIES, + SHT_GNU_SFRAME, SHT_GNU_ATTRIBUTES, SHT_GNU_HASH, SHT_GNU_LIBLIST, diff --git a/src/elf.rs b/src/elf.rs index 36460a6..68fb683 100644 --- a/src/elf.rs +++ b/src/elf.rs @@ -719,6 +719,8 @@ pub const SHT_CREL: u32 = 0x40000014; pub const SHT_LOOS: u32 = 0x6000_0000; /// LLVM-style dependent libraries. pub const SHT_LLVM_DEPENDENT_LIBRARIES: u32 = 0x6fff4c04; +/// GNU SFrame stack trace format. +pub const SHT_GNU_SFRAME: u32 = 0x6fff_fff4; /// Object attributes. pub const SHT_GNU_ATTRIBUTES: u32 = 0x6fff_fff5; /// GNU-style hash table. @@ -1309,6 +1311,8 @@ pub const PT_GNU_STACK: u32 = 0x6474_e551; pub const PT_GNU_RELRO: u32 = 0x6474_e552; /// Segment containing `.note.gnu.property` section. pub const PT_GNU_PROPERTY: u32 = 0x6474_e553; +/// GNU SFrame stack trace format. +pub const PT_GNU_SFRAME: u32 = 0x6474_e554; /// End of OS-specific segment types. pub const PT_HIOS: u32 = 0x6fff_ffff; /// Start of processor-specific segment types.