@@ -567,3 +567,83 @@ StringRef ELF::convertEMachineToArchName(uint16_t EMachine) {
567
567
return " None" ;
568
568
}
569
569
}
570
+
571
+ uint8_t ELF::convertOSToOSAbi (StringRef OS) {
572
+ std::string LowerOS = OS.lower ();
573
+ return StringSwitch<uint16_t >(LowerOS)
574
+ .StartsWith (" hpux" , ELFOSABI_HPUX)
575
+ .StartsWith (" netbsd" , ELFOSABI_NETBSD)
576
+ .StartsWith (" linux" , ELFOSABI_LINUX)
577
+ .StartsWith (" hurd" , ELFOSABI_HURD)
578
+ .StartsWith (" solaris" , ELFOSABI_SOLARIS)
579
+ .StartsWith (" aix" , ELFOSABI_AIX)
580
+ .StartsWith (" irix" , ELFOSABI_IRIX)
581
+ .StartsWith (" freebsd" , ELFOSABI_FREEBSD)
582
+ .StartsWith (" tru64" , ELFOSABI_TRU64)
583
+ .StartsWith (" modesto" , ELFOSABI_MODESTO)
584
+ .StartsWith (" openbsd" , ELFOSABI_OPENBSD)
585
+ .StartsWith (" openvms" , ELFOSABI_OPENVMS)
586
+ .StartsWith (" nsk" , ELFOSABI_NSK)
587
+ .StartsWith (" aros" , ELFOSABI_AROS)
588
+ .StartsWith (" fenixos" , ELFOSABI_FENIXOS)
589
+ .StartsWith (" cloudabi" , ELFOSABI_CLOUDABI)
590
+ .StartsWith (" cuda" , ELFOSABI_CUDA)
591
+ .StartsWith (" amdhsa" , ELFOSABI_AMDGPU_HSA)
592
+ .StartsWith (" amdpal" , ELFOSABI_AMDGPU_PAL)
593
+ .StartsWith (" mesa3d" , ELFOSABI_AMDGPU_MESA3D)
594
+ .StartsWith (" arm" , ELFOSABI_ARM)
595
+ .StartsWith (" standalone" , ELFOSABI_STANDALONE)
596
+ .StartsWith (" none" , ELFOSABI_NONE)
597
+ .Default (ELFOSABI_NONE);
598
+ }
599
+
600
+ StringRef ELF::convertOSAbiToOS (uint8_t OSAbi) {
601
+ switch (OSAbi) {
602
+ case ELFOSABI_HPUX:
603
+ return " hpux" ;
604
+ case ELFOSABI_NETBSD:
605
+ return " netbsd" ;
606
+ case ELFOSABI_LINUX:
607
+ return " linux" ;
608
+ case ELFOSABI_HURD:
609
+ return " hurd" ;
610
+ case ELFOSABI_SOLARIS:
611
+ return " solaris" ;
612
+ case ELFOSABI_AIX:
613
+ return " aix" ;
614
+ case ELFOSABI_IRIX:
615
+ return " irix" ;
616
+ case ELFOSABI_FREEBSD:
617
+ return " freebsd" ;
618
+ case ELFOSABI_TRU64:
619
+ return " tru64" ;
620
+ case ELFOSABI_MODESTO:
621
+ return " modesto" ;
622
+ case ELFOSABI_OPENBSD:
623
+ return " openbsd" ;
624
+ case ELFOSABI_OPENVMS:
625
+ return " openvms" ;
626
+ case ELFOSABI_NSK:
627
+ return " nsk" ;
628
+ case ELFOSABI_AROS:
629
+ return " aros" ;
630
+ case ELFOSABI_FENIXOS:
631
+ return " fenixos" ;
632
+ case ELFOSABI_CLOUDABI:
633
+ return " cloudabi" ;
634
+ case ELFOSABI_CUDA:
635
+ return " cuda" ;
636
+ case ELFOSABI_AMDGPU_HSA:
637
+ return " amdhsa" ;
638
+ case ELFOSABI_AMDGPU_PAL:
639
+ return " amdpal" ;
640
+ case ELFOSABI_AMDGPU_MESA3D:
641
+ return " mesa3d" ;
642
+ case ELFOSABI_ARM:
643
+ return " arm" ;
644
+ case ELFOSABI_STANDALONE:
645
+ return " standalone" ;
646
+ default :
647
+ return " none" ;
648
+ }
649
+ }
0 commit comments