@@ -55,6 +55,7 @@ pub type Elf32_Half = __u16;
55
55
pub type Elf32_Off = __u32 ;
56
56
pub type Elf32_Sword = __s32 ;
57
57
pub type Elf32_Word = __u32 ;
58
+ pub type Elf32_Versym = __u16 ;
58
59
pub type Elf64_Addr = __u64 ;
59
60
pub type Elf64_Half = __u16 ;
60
61
pub type Elf64_SHalf = __s16 ;
@@ -63,6 +64,7 @@ pub type Elf64_Sword = __s32;
63
64
pub type Elf64_Word = __u32 ;
64
65
pub type Elf64_Xword = __u64 ;
65
66
pub type Elf64_Sxword = __s64 ;
67
+ pub type Elf64_Versym = __u16 ;
66
68
pub type Elf32_Rel = elf32_rel ;
67
69
pub type Elf64_Rel = elf64_rel ;
68
70
pub type Elf32_Rela = elf32_rela ;
@@ -237,6 +239,40 @@ pub n_namesz: Elf64_Word,
237
239
pub n_descsz : Elf64_Word ,
238
240
pub n_type : Elf64_Word ,
239
241
}
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
+ }
240
276
pub const __BITS_PER_LONG_LONG: u32 = 64 ;
241
277
pub const EM_NONE : u32 = 0 ;
242
278
pub const EM_M32 : u32 = 1 ;
@@ -343,6 +379,7 @@ pub const DT_HIOS: u32 = 1879044096;
343
379
pub const DT_VALRNGLO : u32 = 1879047424 ;
344
380
pub const DT_VALRNGHI : u32 = 1879047679 ;
345
381
pub const DT_ADDRRNGLO : u32 = 1879047680 ;
382
+ pub const DT_GNU_HASH : u32 = 1879047925 ;
346
383
pub const DT_ADDRRNGHI : u32 = 1879047935 ;
347
384
pub const DT_VERSYM : u32 = 1879048176 ;
348
385
pub const DT_RELACOUNT : u32 = 1879048185 ;
@@ -358,13 +395,16 @@ pub const DT_HIPROC: u32 = 2147483647;
358
395
pub const STB_LOCAL : u32 = 0 ;
359
396
pub const STB_GLOBAL : u32 = 1 ;
360
397
pub const STB_WEAK : u32 = 2 ;
398
+ pub const STN_UNDEF : u32 = 0 ;
361
399
pub const STT_NOTYPE : u32 = 0 ;
362
400
pub const STT_OBJECT : u32 = 1 ;
363
401
pub const STT_FUNC : u32 = 2 ;
364
402
pub const STT_SECTION : u32 = 3 ;
365
403
pub const STT_FILE : u32 = 4 ;
366
404
pub const STT_COMMON : u32 = 5 ;
367
405
pub const STT_TLS : u32 = 6 ;
406
+ pub const VER_FLG_BASE : u32 = 1 ;
407
+ pub const VER_FLG_WEAK : u32 = 2 ;
368
408
pub const EI_NIDENT : u32 = 16 ;
369
409
pub const PF_R : u32 = 4 ;
370
410
pub const PF_W : u32 = 2 ;
@@ -389,8 +429,18 @@ pub const SHT_HIUSER: u32 = 4294967295;
389
429
pub const SHF_WRITE : u32 = 1 ;
390
430
pub const SHF_ALLOC : u32 = 2 ;
391
431
pub 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 ;
392
439
pub const SHF_RELA_LIVEPATCH : u32 = 1048576 ;
393
440
pub 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 ;
394
444
pub const SHF_MASKPROC : u32 = 4026531840 ;
395
445
pub const SHN_UNDEF : u32 = 0 ;
396
446
pub const SHN_LORESERVE : u32 = 65280 ;
@@ -428,86 +478,166 @@ pub const EV_NUM: u32 = 2;
428
478
pub const ELFOSABI_NONE : u32 = 0 ;
429
479
pub const ELFOSABI_LINUX : u32 = 3 ;
430
480
pub 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 " ;
431
484
pub const NT_PRSTATUS : u32 = 1 ;
485
+ pub const NN_PRFPREG : & [ u8 ; 5 ] = b"CORE\0 " ;
432
486
pub const NT_PRFPREG : u32 = 2 ;
487
+ pub const NN_PRPSINFO : & [ u8 ; 5 ] = b"CORE\0 " ;
433
488
pub const NT_PRPSINFO : u32 = 3 ;
489
+ pub const NN_TASKSTRUCT : & [ u8 ; 5 ] = b"CORE\0 " ;
434
490
pub const NT_TASKSTRUCT : u32 = 4 ;
491
+ pub const NN_AUXV : & [ u8 ; 5 ] = b"CORE\0 " ;
435
492
pub const NT_AUXV : u32 = 6 ;
493
+ pub const NN_SIGINFO : & [ u8 ; 5 ] = b"CORE\0 " ;
436
494
pub const NT_SIGINFO : u32 = 1397311305 ;
495
+ pub const NN_FILE : & [ u8 ; 5 ] = b"CORE\0 " ;
437
496
pub const NT_FILE : u32 = 1179208773 ;
497
+ pub const NN_PRXFPREG : & [ u8 ; 6 ] = b"LINUX\0 " ;
438
498
pub const NT_PRXFPREG : u32 = 1189489535 ;
499
+ pub const NN_PPC_VMX : & [ u8 ; 6 ] = b"LINUX\0 " ;
439
500
pub const NT_PPC_VMX : u32 = 256 ;
501
+ pub const NN_PPC_SPE : & [ u8 ; 6 ] = b"LINUX\0 " ;
440
502
pub const NT_PPC_SPE : u32 = 257 ;
503
+ pub const NN_PPC_VSX : & [ u8 ; 6 ] = b"LINUX\0 " ;
441
504
pub const NT_PPC_VSX : u32 = 258 ;
505
+ pub const NN_PPC_TAR : & [ u8 ; 6 ] = b"LINUX\0 " ;
442
506
pub const NT_PPC_TAR : u32 = 259 ;
507
+ pub const NN_PPC_PPR : & [ u8 ; 6 ] = b"LINUX\0 " ;
443
508
pub const NT_PPC_PPR : u32 = 260 ;
509
+ pub const NN_PPC_DSCR : & [ u8 ; 6 ] = b"LINUX\0 " ;
444
510
pub const NT_PPC_DSCR : u32 = 261 ;
511
+ pub const NN_PPC_EBB : & [ u8 ; 6 ] = b"LINUX\0 " ;
445
512
pub const NT_PPC_EBB : u32 = 262 ;
513
+ pub const NN_PPC_PMU : & [ u8 ; 6 ] = b"LINUX\0 " ;
446
514
pub const NT_PPC_PMU : u32 = 263 ;
515
+ pub const NN_PPC_TM_CGPR : & [ u8 ; 6 ] = b"LINUX\0 " ;
447
516
pub const NT_PPC_TM_CGPR : u32 = 264 ;
517
+ pub const NN_PPC_TM_CFPR : & [ u8 ; 6 ] = b"LINUX\0 " ;
448
518
pub const NT_PPC_TM_CFPR : u32 = 265 ;
519
+ pub const NN_PPC_TM_CVMX : & [ u8 ; 6 ] = b"LINUX\0 " ;
449
520
pub const NT_PPC_TM_CVMX : u32 = 266 ;
521
+ pub const NN_PPC_TM_CVSX : & [ u8 ; 6 ] = b"LINUX\0 " ;
450
522
pub const NT_PPC_TM_CVSX : u32 = 267 ;
523
+ pub const NN_PPC_TM_SPR : & [ u8 ; 6 ] = b"LINUX\0 " ;
451
524
pub const NT_PPC_TM_SPR : u32 = 268 ;
525
+ pub const NN_PPC_TM_CTAR : & [ u8 ; 6 ] = b"LINUX\0 " ;
452
526
pub const NT_PPC_TM_CTAR : u32 = 269 ;
527
+ pub const NN_PPC_TM_CPPR : & [ u8 ; 6 ] = b"LINUX\0 " ;
453
528
pub const NT_PPC_TM_CPPR : u32 = 270 ;
529
+ pub const NN_PPC_TM_CDSCR : & [ u8 ; 6 ] = b"LINUX\0 " ;
454
530
pub const NT_PPC_TM_CDSCR : u32 = 271 ;
531
+ pub const NN_PPC_PKEY : & [ u8 ; 6 ] = b"LINUX\0 " ;
455
532
pub const NT_PPC_PKEY : u32 = 272 ;
533
+ pub const NN_PPC_DEXCR : & [ u8 ; 6 ] = b"LINUX\0 " ;
456
534
pub const NT_PPC_DEXCR : u32 = 273 ;
535
+ pub const NN_PPC_HASHKEYR : & [ u8 ; 6 ] = b"LINUX\0 " ;
457
536
pub const NT_PPC_HASHKEYR : u32 = 274 ;
537
+ pub const NN_386_TLS : & [ u8 ; 6 ] = b"LINUX\0 " ;
458
538
pub const NT_386_TLS : u32 = 512 ;
539
+ pub const NN_386_IOPERM : & [ u8 ; 6 ] = b"LINUX\0 " ;
459
540
pub const NT_386_IOPERM : u32 = 513 ;
541
+ pub const NN_X86_XSTATE : & [ u8 ; 6 ] = b"LINUX\0 " ;
460
542
pub const NT_X86_XSTATE : u32 = 514 ;
543
+ pub const NN_X86_SHSTK : & [ u8 ; 6 ] = b"LINUX\0 " ;
461
544
pub const NT_X86_SHSTK : u32 = 516 ;
545
+ pub const NN_X86_XSAVE_LAYOUT : & [ u8 ; 6 ] = b"LINUX\0 " ;
462
546
pub const NT_X86_XSAVE_LAYOUT : u32 = 517 ;
547
+ pub const NN_S390_HIGH_GPRS : & [ u8 ; 6 ] = b"LINUX\0 " ;
463
548
pub const NT_S390_HIGH_GPRS : u32 = 768 ;
549
+ pub const NN_S390_TIMER : & [ u8 ; 6 ] = b"LINUX\0 " ;
464
550
pub const NT_S390_TIMER : u32 = 769 ;
551
+ pub const NN_S390_TODCMP : & [ u8 ; 6 ] = b"LINUX\0 " ;
465
552
pub const NT_S390_TODCMP : u32 = 770 ;
553
+ pub const NN_S390_TODPREG : & [ u8 ; 6 ] = b"LINUX\0 " ;
466
554
pub const NT_S390_TODPREG : u32 = 771 ;
555
+ pub const NN_S390_CTRS : & [ u8 ; 6 ] = b"LINUX\0 " ;
467
556
pub const NT_S390_CTRS : u32 = 772 ;
557
+ pub const NN_S390_PREFIX : & [ u8 ; 6 ] = b"LINUX\0 " ;
468
558
pub const NT_S390_PREFIX : u32 = 773 ;
559
+ pub const NN_S390_LAST_BREAK : & [ u8 ; 6 ] = b"LINUX\0 " ;
469
560
pub const NT_S390_LAST_BREAK : u32 = 774 ;
561
+ pub const NN_S390_SYSTEM_CALL : & [ u8 ; 6 ] = b"LINUX\0 " ;
470
562
pub const NT_S390_SYSTEM_CALL : u32 = 775 ;
563
+ pub const NN_S390_TDB : & [ u8 ; 6 ] = b"LINUX\0 " ;
471
564
pub const NT_S390_TDB : u32 = 776 ;
565
+ pub const NN_S390_VXRS_LOW : & [ u8 ; 6 ] = b"LINUX\0 " ;
472
566
pub const NT_S390_VXRS_LOW : u32 = 777 ;
567
+ pub const NN_S390_VXRS_HIGH : & [ u8 ; 6 ] = b"LINUX\0 " ;
473
568
pub const NT_S390_VXRS_HIGH : u32 = 778 ;
569
+ pub const NN_S390_GS_CB : & [ u8 ; 6 ] = b"LINUX\0 " ;
474
570
pub const NT_S390_GS_CB : u32 = 779 ;
571
+ pub const NN_S390_GS_BC : & [ u8 ; 6 ] = b"LINUX\0 " ;
475
572
pub const NT_S390_GS_BC : u32 = 780 ;
573
+ pub const NN_S390_RI_CB : & [ u8 ; 6 ] = b"LINUX\0 " ;
476
574
pub const NT_S390_RI_CB : u32 = 781 ;
575
+ pub const NN_S390_PV_CPU_DATA : & [ u8 ; 6 ] = b"LINUX\0 " ;
477
576
pub const NT_S390_PV_CPU_DATA : u32 = 782 ;
577
+ pub const NN_ARM_VFP : & [ u8 ; 6 ] = b"LINUX\0 " ;
478
578
pub const NT_ARM_VFP : u32 = 1024 ;
579
+ pub const NN_ARM_TLS : & [ u8 ; 6 ] = b"LINUX\0 " ;
479
580
pub const NT_ARM_TLS : u32 = 1025 ;
581
+ pub const NN_ARM_HW_BREAK : & [ u8 ; 6 ] = b"LINUX\0 " ;
480
582
pub const NT_ARM_HW_BREAK : u32 = 1026 ;
583
+ pub const NN_ARM_HW_WATCH : & [ u8 ; 6 ] = b"LINUX\0 " ;
481
584
pub const NT_ARM_HW_WATCH : u32 = 1027 ;
585
+ pub const NN_ARM_SYSTEM_CALL : & [ u8 ; 6 ] = b"LINUX\0 " ;
482
586
pub const NT_ARM_SYSTEM_CALL : u32 = 1028 ;
587
+ pub const NN_ARM_SVE : & [ u8 ; 6 ] = b"LINUX\0 " ;
483
588
pub const NT_ARM_SVE : u32 = 1029 ;
589
+ pub const NN_ARM_PAC_MASK : & [ u8 ; 6 ] = b"LINUX\0 " ;
484
590
pub const NT_ARM_PAC_MASK : u32 = 1030 ;
591
+ pub const NN_ARM_PACA_KEYS : & [ u8 ; 6 ] = b"LINUX\0 " ;
485
592
pub const NT_ARM_PACA_KEYS : u32 = 1031 ;
593
+ pub const NN_ARM_PACG_KEYS : & [ u8 ; 6 ] = b"LINUX\0 " ;
486
594
pub const NT_ARM_PACG_KEYS : u32 = 1032 ;
595
+ pub const NN_ARM_TAGGED_ADDR_CTRL : & [ u8 ; 6 ] = b"LINUX\0 " ;
487
596
pub const NT_ARM_TAGGED_ADDR_CTRL : u32 = 1033 ;
597
+ pub const NN_ARM_PAC_ENABLED_KEYS : & [ u8 ; 6 ] = b"LINUX\0 " ;
488
598
pub const NT_ARM_PAC_ENABLED_KEYS : u32 = 1034 ;
599
+ pub const NN_ARM_SSVE : & [ u8 ; 6 ] = b"LINUX\0 " ;
489
600
pub const NT_ARM_SSVE : u32 = 1035 ;
601
+ pub const NN_ARM_ZA : & [ u8 ; 6 ] = b"LINUX\0 " ;
490
602
pub const NT_ARM_ZA : u32 = 1036 ;
603
+ pub const NN_ARM_ZT : & [ u8 ; 6 ] = b"LINUX\0 " ;
491
604
pub const NT_ARM_ZT : u32 = 1037 ;
605
+ pub const NN_ARM_FPMR : & [ u8 ; 6 ] = b"LINUX\0 " ;
492
606
pub const NT_ARM_FPMR : u32 = 1038 ;
607
+ pub const NN_ARM_POE : & [ u8 ; 6 ] = b"LINUX\0 " ;
493
608
pub const NT_ARM_POE : u32 = 1039 ;
609
+ pub const NN_ARM_GCS : & [ u8 ; 6 ] = b"LINUX\0 " ;
494
610
pub const NT_ARM_GCS : u32 = 1040 ;
611
+ pub const NN_ARC_V2 : & [ u8 ; 6 ] = b"LINUX\0 " ;
495
612
pub const NT_ARC_V2 : u32 = 1536 ;
613
+ pub const NN_VMCOREDD : & [ u8 ; 6 ] = b"LINUX\0 " ;
496
614
pub const NT_VMCOREDD : u32 = 1792 ;
615
+ pub const NN_MIPS_DSP : & [ u8 ; 6 ] = b"LINUX\0 " ;
497
616
pub const NT_MIPS_DSP : u32 = 2048 ;
617
+ pub const NN_MIPS_FP_MODE : & [ u8 ; 6 ] = b"LINUX\0 " ;
498
618
pub const NT_MIPS_FP_MODE : u32 = 2049 ;
619
+ pub const NN_MIPS_MSA : & [ u8 ; 6 ] = b"LINUX\0 " ;
499
620
pub const NT_MIPS_MSA : u32 = 2050 ;
621
+ pub const NN_RISCV_CSR : & [ u8 ; 6 ] = b"LINUX\0 " ;
500
622
pub const NT_RISCV_CSR : u32 = 2304 ;
623
+ pub const NN_RISCV_VECTOR : & [ u8 ; 6 ] = b"LINUX\0 " ;
501
624
pub const NT_RISCV_VECTOR : u32 = 2305 ;
625
+ pub const NN_RISCV_TAGGED_ADDR_CTRL : & [ u8 ; 6 ] = b"LINUX\0 " ;
502
626
pub const NT_RISCV_TAGGED_ADDR_CTRL : u32 = 2306 ;
627
+ pub const NN_LOONGARCH_CPUCFG : & [ u8 ; 6 ] = b"LINUX\0 " ;
503
628
pub const NT_LOONGARCH_CPUCFG : u32 = 2560 ;
629
+ pub const NN_LOONGARCH_CSR : & [ u8 ; 6 ] = b"LINUX\0 " ;
504
630
pub const NT_LOONGARCH_CSR : u32 = 2561 ;
631
+ pub const NN_LOONGARCH_LSX : & [ u8 ; 6 ] = b"LINUX\0 " ;
505
632
pub const NT_LOONGARCH_LSX : u32 = 2562 ;
633
+ pub const NN_LOONGARCH_LASX : & [ u8 ; 6 ] = b"LINUX\0 " ;
506
634
pub const NT_LOONGARCH_LASX : u32 = 2563 ;
635
+ pub const NN_LOONGARCH_LBT : & [ u8 ; 6 ] = b"LINUX\0 " ;
507
636
pub const NT_LOONGARCH_LBT : u32 = 2564 ;
637
+ pub const NN_LOONGARCH_HW_BREAK : & [ u8 ; 6 ] = b"LINUX\0 " ;
508
638
pub const NT_LOONGARCH_HW_BREAK : u32 = 2565 ;
639
+ pub const NN_LOONGARCH_HW_WATCH : & [ u8 ; 6 ] = b"LINUX\0 " ;
509
640
pub const NT_LOONGARCH_HW_WATCH : u32 = 2566 ;
510
- pub const NT_GNU_PROPERTY_TYPE_0 : u32 = 5 ;
511
641
pub const GNU_PROPERTY_AARCH64_FEATURE_1_AND : u32 = 3221225472 ;
512
642
pub const GNU_PROPERTY_AARCH64_FEATURE_1_BTI : u32 = 1 ;
513
643
#[ repr( C ) ]
0 commit comments