[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] Add Verneed and Vernaux
From: |
Mike Hommey |
Subject: |
[PATCH] Add Verneed and Vernaux |
Date: |
Thu, 17 Aug 2023 17:50:57 +0900 |
---
elf-os-gnu.pk | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
diff --git a/elf-os-gnu.pk b/elf-os-gnu.pk
index 3115945..2082c86 100644
--- a/elf-os-gnu.pk
+++ b/elf-os-gnu.pk
@@ -52,6 +52,16 @@ elf_config.add_enum
Elf_Config_UInt { value = ELF_SHT_GNU_VERNEED, name =
"gnu-verneed" },
Elf_Config_UInt { value = ELF_SHT_GNU_VERSYM, name = "gnu-versym"
}];
+/* GNU Dynamic tags. */
+
+var ELF_DT_VERNEED = 0x6fff_fffeU,
+ ELF_DT_VERNEEDNUM = 0x6fff_ffffU;
+
+elf_config.add_enum
+ :class "dynamic-tag-types"
+ :entries [Elf_Config_UInt { value = ELF_DT_VERNEED, name = "verneed" },
+ Elf_Config_UInt { value = ELF_DT_VERNEEDNUM, name = "verneednum"
}];
+
/* XXX GNU property type.
The Linux kernel uses this program header to locate the
@@ -136,3 +146,23 @@ elf_config.add_enum
There are further extensions to p_type but currently they are all
architecture specific and should be documented in the relevant ABIs.
*/
+
+type Elf_Verneed =
+ struct
+ {
+ Elf_Half vn_version;
+ Elf_Half vn_cnt;
+ Elf_Word vn_file;
+ Elf_Word vn_aux;
+ Elf_Word vn_next;
+ };
+
+type Elf_Vernaux =
+ struct
+ {
+ Elf_Word vna_hash;
+ Elf_Half vna_flags;
+ Elf_Half vna_other;
+ Elf_Word vna_name;
+ Elf_Word vna_next;
+ };
--
2.41.0.3.g1cb8d410ac