From 7cbb0c463c9833a19d2f3ff7158d55a6581bba34 Mon Sep 17 00:00:00 2001 From: Alisa Sireneva Date: Fri, 18 Oct 2024 02:36:08 +0300 Subject: [PATCH] Add SHT_LLVM_DEPENDENT_LIBRARIES --- crates/examples/src/readobj/elf.rs | 1 + src/build/elf.rs | 5 ++++- src/elf.rs | 2 ++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/crates/examples/src/readobj/elf.rs b/crates/examples/src/readobj/elf.rs index ad1f2a46..dc84f87e 100644 --- a/crates/examples/src/readobj/elf.rs +++ b/crates/examples/src/readobj/elf.rs @@ -1373,6 +1373,7 @@ const FLAGS_SHT: &[Flag] = &flags!( SHT_PREINIT_ARRAY, SHT_GROUP, SHT_SYMTAB_SHNDX, + SHT_LLVM_DEPENDENT_LIBRARIES, SHT_GNU_ATTRIBUTES, SHT_GNU_HASH, SHT_GNU_LIBLIST, diff --git a/src/build/elf.rs b/src/build/elf.rs index f533cdc8..e655de4a 100644 --- a/src/build/elf.rs +++ b/src/build/elf.rs @@ -223,7 +223,10 @@ impl<'data> Builder<'data> { elf::SHT_PROGBITS | elf::SHT_INIT_ARRAY | elf::SHT_FINI_ARRAY - | elf::SHT_PREINIT_ARRAY => SectionData::Data(section.data(endian, data)?.into()), + | elf::SHT_PREINIT_ARRAY + | elf::SHT_LLVM_DEPENDENT_LIBRARIES => { + SectionData::Data(section.data(endian, data)?.into()) + } elf::SHT_REL | elf::SHT_RELA => relocations, elf::SHT_SYMTAB => { if index == symbols.section() { diff --git a/src/elf.rs b/src/elf.rs index 4763660b..3d7f0403 100644 --- a/src/elf.rs +++ b/src/elf.rs @@ -712,6 +712,8 @@ pub const SHT_GROUP: u32 = 17; pub const SHT_SYMTAB_SHNDX: u32 = 18; /// Start of OS-specific section types. pub const SHT_LOOS: u32 = 0x6000_0000; +/// LLVM-style dependent libraries. +pub const SHT_LLVM_DEPENDENT_LIBRARIES: u32 = 0x6fff4c04; /// Object attributes. pub const SHT_GNU_ATTRIBUTES: u32 = 0x6fff_fff5; /// GNU-style hash table.