summaryrefslogtreecommitdiff
diff options
authorMike Hommey <mh@glandium.org>2023-08-17 10:54:41 +0200
committerJose E. Marchesi <jose.marchesi@oracle.com>2023-08-17 10:54:41 +0200
commit7b5361f32f7366ce8cd403b180a67af68f5bc80e (patch)
tree29b1e8351041870e3602cb648776c68a069a8312
parent924d4cd08e5c99b05f1d3d490016e57bb8a84e8d (diff)
elf-os-gnu.pk: add Verneed and Vernaux
-rw-r--r--elf-os-gnu.pk30
1 files changed, 30 insertions, 0 deletions
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;
+ };