@@ -55,6 +55,7 @@ pub type Elf32_Half = __u16;
5555pub type Elf32_Off = __u32 ;
5656pub type Elf32_Sword = __s32 ;
5757pub type Elf32_Word = __u32 ;
58+ pub type Elf32_Versym = __u16 ;
5859pub type Elf64_Addr = __u64 ;
5960pub type Elf64_Half = __u16 ;
6061pub type Elf64_SHalf = __s16 ;
@@ -63,6 +64,7 @@ pub type Elf64_Sword = __s32;
6364pub type Elf64_Word = __u32 ;
6465pub type Elf64_Xword = __u64 ;
6566pub type Elf64_Sxword = __s64 ;
67+ pub type Elf64_Versym = __u16 ;
6668pub type Elf32_Rel = elf32_rel ;
6769pub type Elf64_Rel = elf64_rel ;
6870pub type Elf32_Rela = elf32_rela ;
@@ -237,6 +239,40 @@ pub n_namesz: Elf64_Word,
237239pub n_descsz : Elf64_Word ,
238240pub n_type : Elf64_Word ,
239241}
242+ #[ repr( C ) ]
243+ #[ derive( Debug , Copy , Clone ) ]
244+ pub struct Elf32_Verdef {
245+ pub vd_version : Elf32_Half ,
246+ pub vd_flags : Elf32_Half ,
247+ pub vd_ndx : Elf32_Half ,
248+ pub vd_cnt : Elf32_Half ,
249+ pub vd_hash : Elf32_Word ,
250+ pub vd_aux : Elf32_Word ,
251+ pub vd_next : Elf32_Word ,
252+ }
253+ #[ repr( C ) ]
254+ #[ derive( Debug , Copy , Clone ) ]
255+ pub struct Elf64_Verdef {
256+ pub vd_version : Elf64_Half ,
257+ pub vd_flags : Elf64_Half ,
258+ pub vd_ndx : Elf64_Half ,
259+ pub vd_cnt : Elf64_Half ,
260+ pub vd_hash : Elf64_Word ,
261+ pub vd_aux : Elf64_Word ,
262+ pub vd_next : Elf64_Word ,
263+ }
264+ #[ repr( C ) ]
265+ #[ derive( Debug , Copy , Clone ) ]
266+ pub struct Elf32_Verdaux {
267+ pub vda_name : Elf32_Word ,
268+ pub vda_next : Elf32_Word ,
269+ }
270+ #[ repr( C ) ]
271+ #[ derive( Debug , Copy , Clone ) ]
272+ pub struct Elf64_Verdaux {
273+ pub vda_name : Elf64_Word ,
274+ pub vda_next : Elf64_Word ,
275+ }
240276pub const __BITS_PER_LONG_LONG: u32 = 64 ;
241277pub const EM_NONE : u32 = 0 ;
242278pub const EM_M32 : u32 = 1 ;
@@ -343,6 +379,7 @@ pub const DT_HIOS: u32 = 1879044096;
343379pub const DT_VALRNGLO : u32 = 1879047424 ;
344380pub const DT_VALRNGHI : u32 = 1879047679 ;
345381pub const DT_ADDRRNGLO : u32 = 1879047680 ;
382+ pub const DT_GNU_HASH : u32 = 1879047925 ;
346383pub const DT_ADDRRNGHI : u32 = 1879047935 ;
347384pub const DT_VERSYM : u32 = 1879048176 ;
348385pub const DT_RELACOUNT : u32 = 1879048185 ;
@@ -358,13 +395,16 @@ pub const DT_HIPROC: u32 = 2147483647;
358395pub const STB_LOCAL : u32 = 0 ;
359396pub const STB_GLOBAL : u32 = 1 ;
360397pub const STB_WEAK : u32 = 2 ;
398+ pub const STN_UNDEF : u32 = 0 ;
361399pub const STT_NOTYPE : u32 = 0 ;
362400pub const STT_OBJECT : u32 = 1 ;
363401pub const STT_FUNC : u32 = 2 ;
364402pub const STT_SECTION : u32 = 3 ;
365403pub const STT_FILE : u32 = 4 ;
366404pub const STT_COMMON : u32 = 5 ;
367405pub const STT_TLS : u32 = 6 ;
406+ pub const VER_FLG_BASE : u32 = 1 ;
407+ pub const VER_FLG_WEAK : u32 = 2 ;
368408pub const EI_NIDENT : u32 = 16 ;
369409pub const PF_R : u32 = 4 ;
370410pub const PF_W : u32 = 2 ;
@@ -389,8 +429,18 @@ pub const SHT_HIUSER: u32 = 4294967295;
389429pub const SHF_WRITE : u32 = 1 ;
390430pub const SHF_ALLOC : u32 = 2 ;
391431pub const SHF_EXECINSTR : u32 = 4 ;
432+ pub const SHF_MERGE : u32 = 16 ;
433+ pub const SHF_STRINGS : u32 = 32 ;
434+ pub const SHF_INFO_LINK : u32 = 64 ;
435+ pub const SHF_LINK_ORDER : u32 = 128 ;
436+ pub const SHF_OS_NONCONFORMING : u32 = 256 ;
437+ pub const SHF_GROUP : u32 = 512 ;
438+ pub const SHF_TLS : u32 = 1024 ;
392439pub const SHF_RELA_LIVEPATCH : u32 = 1048576 ;
393440pub const SHF_RO_AFTER_INIT : u32 = 2097152 ;
441+ pub const SHF_ORDERED : u32 = 67108864 ;
442+ pub const SHF_EXCLUDE : u32 = 134217728 ;
443+ pub const SHF_MASKOS : u32 = 267386880 ;
394444pub const SHF_MASKPROC : u32 = 4026531840 ;
395445pub const SHN_UNDEF : u32 = 0 ;
396446pub const SHN_LORESERVE : u32 = 65280 ;
@@ -428,86 +478,166 @@ pub const EV_NUM: u32 = 2;
428478pub const ELFOSABI_NONE : u32 = 0 ;
429479pub const ELFOSABI_LINUX : u32 = 3 ;
430480pub const ELF_OSABI : u32 = 0 ;
481+ pub const NN_GNU_PROPERTY_TYPE_0 : & [ u8 ; 4 ] = b"GNU\0 " ;
482+ pub const NT_GNU_PROPERTY_TYPE_0 : u32 = 5 ;
483+ pub const NN_PRSTATUS : & [ u8 ; 5 ] = b"CORE\0 " ;
431484pub const NT_PRSTATUS : u32 = 1 ;
485+ pub const NN_PRFPREG : & [ u8 ; 5 ] = b"CORE\0 " ;
432486pub const NT_PRFPREG : u32 = 2 ;
487+ pub const NN_PRPSINFO : & [ u8 ; 5 ] = b"CORE\0 " ;
433488pub const NT_PRPSINFO : u32 = 3 ;
489+ pub const NN_TASKSTRUCT : & [ u8 ; 5 ] = b"CORE\0 " ;
434490pub const NT_TASKSTRUCT : u32 = 4 ;
491+ pub const NN_AUXV : & [ u8 ; 5 ] = b"CORE\0 " ;
435492pub const NT_AUXV : u32 = 6 ;
493+ pub const NN_SIGINFO : & [ u8 ; 5 ] = b"CORE\0 " ;
436494pub const NT_SIGINFO : u32 = 1397311305 ;
495+ pub const NN_FILE : & [ u8 ; 5 ] = b"CORE\0 " ;
437496pub const NT_FILE : u32 = 1179208773 ;
497+ pub const NN_PRXFPREG : & [ u8 ; 6 ] = b"LINUX\0 " ;
438498pub const NT_PRXFPREG : u32 = 1189489535 ;
499+ pub const NN_PPC_VMX : & [ u8 ; 6 ] = b"LINUX\0 " ;
439500pub const NT_PPC_VMX : u32 = 256 ;
501+ pub const NN_PPC_SPE : & [ u8 ; 6 ] = b"LINUX\0 " ;
440502pub const NT_PPC_SPE : u32 = 257 ;
503+ pub const NN_PPC_VSX : & [ u8 ; 6 ] = b"LINUX\0 " ;
441504pub const NT_PPC_VSX : u32 = 258 ;
505+ pub const NN_PPC_TAR : & [ u8 ; 6 ] = b"LINUX\0 " ;
442506pub const NT_PPC_TAR : u32 = 259 ;
507+ pub const NN_PPC_PPR : & [ u8 ; 6 ] = b"LINUX\0 " ;
443508pub const NT_PPC_PPR : u32 = 260 ;
509+ pub const NN_PPC_DSCR : & [ u8 ; 6 ] = b"LINUX\0 " ;
444510pub const NT_PPC_DSCR : u32 = 261 ;
511+ pub const NN_PPC_EBB : & [ u8 ; 6 ] = b"LINUX\0 " ;
445512pub const NT_PPC_EBB : u32 = 262 ;
513+ pub const NN_PPC_PMU : & [ u8 ; 6 ] = b"LINUX\0 " ;
446514pub const NT_PPC_PMU : u32 = 263 ;
515+ pub const NN_PPC_TM_CGPR : & [ u8 ; 6 ] = b"LINUX\0 " ;
447516pub const NT_PPC_TM_CGPR : u32 = 264 ;
517+ pub const NN_PPC_TM_CFPR : & [ u8 ; 6 ] = b"LINUX\0 " ;
448518pub const NT_PPC_TM_CFPR : u32 = 265 ;
519+ pub const NN_PPC_TM_CVMX : & [ u8 ; 6 ] = b"LINUX\0 " ;
449520pub const NT_PPC_TM_CVMX : u32 = 266 ;
521+ pub const NN_PPC_TM_CVSX : & [ u8 ; 6 ] = b"LINUX\0 " ;
450522pub const NT_PPC_TM_CVSX : u32 = 267 ;
523+ pub const NN_PPC_TM_SPR : & [ u8 ; 6 ] = b"LINUX\0 " ;
451524pub const NT_PPC_TM_SPR : u32 = 268 ;
525+ pub const NN_PPC_TM_CTAR : & [ u8 ; 6 ] = b"LINUX\0 " ;
452526pub const NT_PPC_TM_CTAR : u32 = 269 ;
527+ pub const NN_PPC_TM_CPPR : & [ u8 ; 6 ] = b"LINUX\0 " ;
453528pub const NT_PPC_TM_CPPR : u32 = 270 ;
529+ pub const NN_PPC_TM_CDSCR : & [ u8 ; 6 ] = b"LINUX\0 " ;
454530pub const NT_PPC_TM_CDSCR : u32 = 271 ;
531+ pub const NN_PPC_PKEY : & [ u8 ; 6 ] = b"LINUX\0 " ;
455532pub const NT_PPC_PKEY : u32 = 272 ;
533+ pub const NN_PPC_DEXCR : & [ u8 ; 6 ] = b"LINUX\0 " ;
456534pub const NT_PPC_DEXCR : u32 = 273 ;
535+ pub const NN_PPC_HASHKEYR : & [ u8 ; 6 ] = b"LINUX\0 " ;
457536pub const NT_PPC_HASHKEYR : u32 = 274 ;
537+ pub const NN_386_TLS : & [ u8 ; 6 ] = b"LINUX\0 " ;
458538pub const NT_386_TLS : u32 = 512 ;
539+ pub const NN_386_IOPERM : & [ u8 ; 6 ] = b"LINUX\0 " ;
459540pub const NT_386_IOPERM : u32 = 513 ;
541+ pub const NN_X86_XSTATE : & [ u8 ; 6 ] = b"LINUX\0 " ;
460542pub const NT_X86_XSTATE : u32 = 514 ;
543+ pub const NN_X86_SHSTK : & [ u8 ; 6 ] = b"LINUX\0 " ;
461544pub const NT_X86_SHSTK : u32 = 516 ;
545+ pub const NN_X86_XSAVE_LAYOUT : & [ u8 ; 6 ] = b"LINUX\0 " ;
462546pub const NT_X86_XSAVE_LAYOUT : u32 = 517 ;
547+ pub const NN_S390_HIGH_GPRS : & [ u8 ; 6 ] = b"LINUX\0 " ;
463548pub const NT_S390_HIGH_GPRS : u32 = 768 ;
549+ pub const NN_S390_TIMER : & [ u8 ; 6 ] = b"LINUX\0 " ;
464550pub const NT_S390_TIMER : u32 = 769 ;
551+ pub const NN_S390_TODCMP : & [ u8 ; 6 ] = b"LINUX\0 " ;
465552pub const NT_S390_TODCMP : u32 = 770 ;
553+ pub const NN_S390_TODPREG : & [ u8 ; 6 ] = b"LINUX\0 " ;
466554pub const NT_S390_TODPREG : u32 = 771 ;
555+ pub const NN_S390_CTRS : & [ u8 ; 6 ] = b"LINUX\0 " ;
467556pub const NT_S390_CTRS : u32 = 772 ;
557+ pub const NN_S390_PREFIX : & [ u8 ; 6 ] = b"LINUX\0 " ;
468558pub const NT_S390_PREFIX : u32 = 773 ;
559+ pub const NN_S390_LAST_BREAK : & [ u8 ; 6 ] = b"LINUX\0 " ;
469560pub const NT_S390_LAST_BREAK : u32 = 774 ;
561+ pub const NN_S390_SYSTEM_CALL : & [ u8 ; 6 ] = b"LINUX\0 " ;
470562pub const NT_S390_SYSTEM_CALL : u32 = 775 ;
563+ pub const NN_S390_TDB : & [ u8 ; 6 ] = b"LINUX\0 " ;
471564pub const NT_S390_TDB : u32 = 776 ;
565+ pub const NN_S390_VXRS_LOW : & [ u8 ; 6 ] = b"LINUX\0 " ;
472566pub const NT_S390_VXRS_LOW : u32 = 777 ;
567+ pub const NN_S390_VXRS_HIGH : & [ u8 ; 6 ] = b"LINUX\0 " ;
473568pub const NT_S390_VXRS_HIGH : u32 = 778 ;
569+ pub const NN_S390_GS_CB : & [ u8 ; 6 ] = b"LINUX\0 " ;
474570pub const NT_S390_GS_CB : u32 = 779 ;
571+ pub const NN_S390_GS_BC : & [ u8 ; 6 ] = b"LINUX\0 " ;
475572pub const NT_S390_GS_BC : u32 = 780 ;
573+ pub const NN_S390_RI_CB : & [ u8 ; 6 ] = b"LINUX\0 " ;
476574pub const NT_S390_RI_CB : u32 = 781 ;
575+ pub const NN_S390_PV_CPU_DATA : & [ u8 ; 6 ] = b"LINUX\0 " ;
477576pub const NT_S390_PV_CPU_DATA : u32 = 782 ;
577+ pub const NN_ARM_VFP : & [ u8 ; 6 ] = b"LINUX\0 " ;
478578pub const NT_ARM_VFP : u32 = 1024 ;
579+ pub const NN_ARM_TLS : & [ u8 ; 6 ] = b"LINUX\0 " ;
479580pub const NT_ARM_TLS : u32 = 1025 ;
581+ pub const NN_ARM_HW_BREAK : & [ u8 ; 6 ] = b"LINUX\0 " ;
480582pub const NT_ARM_HW_BREAK : u32 = 1026 ;
583+ pub const NN_ARM_HW_WATCH : & [ u8 ; 6 ] = b"LINUX\0 " ;
481584pub const NT_ARM_HW_WATCH : u32 = 1027 ;
585+ pub const NN_ARM_SYSTEM_CALL : & [ u8 ; 6 ] = b"LINUX\0 " ;
482586pub const NT_ARM_SYSTEM_CALL : u32 = 1028 ;
587+ pub const NN_ARM_SVE : & [ u8 ; 6 ] = b"LINUX\0 " ;
483588pub const NT_ARM_SVE : u32 = 1029 ;
589+ pub const NN_ARM_PAC_MASK : & [ u8 ; 6 ] = b"LINUX\0 " ;
484590pub const NT_ARM_PAC_MASK : u32 = 1030 ;
591+ pub const NN_ARM_PACA_KEYS : & [ u8 ; 6 ] = b"LINUX\0 " ;
485592pub const NT_ARM_PACA_KEYS : u32 = 1031 ;
593+ pub const NN_ARM_PACG_KEYS : & [ u8 ; 6 ] = b"LINUX\0 " ;
486594pub const NT_ARM_PACG_KEYS : u32 = 1032 ;
595+ pub const NN_ARM_TAGGED_ADDR_CTRL : & [ u8 ; 6 ] = b"LINUX\0 " ;
487596pub const NT_ARM_TAGGED_ADDR_CTRL : u32 = 1033 ;
597+ pub const NN_ARM_PAC_ENABLED_KEYS : & [ u8 ; 6 ] = b"LINUX\0 " ;
488598pub const NT_ARM_PAC_ENABLED_KEYS : u32 = 1034 ;
599+ pub const NN_ARM_SSVE : & [ u8 ; 6 ] = b"LINUX\0 " ;
489600pub const NT_ARM_SSVE : u32 = 1035 ;
601+ pub const NN_ARM_ZA : & [ u8 ; 6 ] = b"LINUX\0 " ;
490602pub const NT_ARM_ZA : u32 = 1036 ;
603+ pub const NN_ARM_ZT : & [ u8 ; 6 ] = b"LINUX\0 " ;
491604pub const NT_ARM_ZT : u32 = 1037 ;
605+ pub const NN_ARM_FPMR : & [ u8 ; 6 ] = b"LINUX\0 " ;
492606pub const NT_ARM_FPMR : u32 = 1038 ;
607+ pub const NN_ARM_POE : & [ u8 ; 6 ] = b"LINUX\0 " ;
493608pub const NT_ARM_POE : u32 = 1039 ;
609+ pub const NN_ARM_GCS : & [ u8 ; 6 ] = b"LINUX\0 " ;
494610pub const NT_ARM_GCS : u32 = 1040 ;
611+ pub const NN_ARC_V2 : & [ u8 ; 6 ] = b"LINUX\0 " ;
495612pub const NT_ARC_V2 : u32 = 1536 ;
613+ pub const NN_VMCOREDD : & [ u8 ; 6 ] = b"LINUX\0 " ;
496614pub const NT_VMCOREDD : u32 = 1792 ;
615+ pub const NN_MIPS_DSP : & [ u8 ; 6 ] = b"LINUX\0 " ;
497616pub const NT_MIPS_DSP : u32 = 2048 ;
617+ pub const NN_MIPS_FP_MODE : & [ u8 ; 6 ] = b"LINUX\0 " ;
498618pub const NT_MIPS_FP_MODE : u32 = 2049 ;
619+ pub const NN_MIPS_MSA : & [ u8 ; 6 ] = b"LINUX\0 " ;
499620pub const NT_MIPS_MSA : u32 = 2050 ;
621+ pub const NN_RISCV_CSR : & [ u8 ; 6 ] = b"LINUX\0 " ;
500622pub const NT_RISCV_CSR : u32 = 2304 ;
623+ pub const NN_RISCV_VECTOR : & [ u8 ; 6 ] = b"LINUX\0 " ;
501624pub const NT_RISCV_VECTOR : u32 = 2305 ;
625+ pub const NN_RISCV_TAGGED_ADDR_CTRL : & [ u8 ; 6 ] = b"LINUX\0 " ;
502626pub const NT_RISCV_TAGGED_ADDR_CTRL : u32 = 2306 ;
627+ pub const NN_LOONGARCH_CPUCFG : & [ u8 ; 6 ] = b"LINUX\0 " ;
503628pub const NT_LOONGARCH_CPUCFG : u32 = 2560 ;
629+ pub const NN_LOONGARCH_CSR : & [ u8 ; 6 ] = b"LINUX\0 " ;
504630pub const NT_LOONGARCH_CSR : u32 = 2561 ;
631+ pub const NN_LOONGARCH_LSX : & [ u8 ; 6 ] = b"LINUX\0 " ;
505632pub const NT_LOONGARCH_LSX : u32 = 2562 ;
633+ pub const NN_LOONGARCH_LASX : & [ u8 ; 6 ] = b"LINUX\0 " ;
506634pub const NT_LOONGARCH_LASX : u32 = 2563 ;
635+ pub const NN_LOONGARCH_LBT : & [ u8 ; 6 ] = b"LINUX\0 " ;
507636pub const NT_LOONGARCH_LBT : u32 = 2564 ;
637+ pub const NN_LOONGARCH_HW_BREAK : & [ u8 ; 6 ] = b"LINUX\0 " ;
508638pub const NT_LOONGARCH_HW_BREAK : u32 = 2565 ;
639+ pub const NN_LOONGARCH_HW_WATCH : & [ u8 ; 6 ] = b"LINUX\0 " ;
509640pub const NT_LOONGARCH_HW_WATCH : u32 = 2566 ;
510- pub const NT_GNU_PROPERTY_TYPE_0 : u32 = 5 ;
511641pub const GNU_PROPERTY_AARCH64_FEATURE_1_AND : u32 = 3221225472 ;
512642pub const GNU_PROPERTY_AARCH64_FEATURE_1_BTI : u32 = 1 ;
513643#[ repr( C ) ]
0 commit comments