diff options
author | Mike Hommey <mh@glandium.org> | 2023-08-17 10:54:41 +0200 |
---|---|---|
committer | Jose E. Marchesi <jose.marchesi@oracle.com> | 2023-08-17 10:54:41 +0200 |
commit | 7b5361f32f7366ce8cd403b180a67af68f5bc80e (patch) | |
tree | 29b1e8351041870e3602cb648776c68a069a8312 | |
parent | 924d4cd08e5c99b05f1d3d490016e57bb8a84e8d (diff) |
elf-os-gnu.pk: add Verneed and Vernaux
-rw-r--r-- | elf-os-gnu.pk | 30 |
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; + }; |