@@ -43,6 +43,7 @@ class MachODumper : public ObjDumper {
43
43
// MachO-specific.
44
44
void printMachODataInCode () override ;
45
45
void printMachOVersionMin () override ;
46
+ void printMachODysymtab () override ;
46
47
47
48
private:
48
49
template <class MachHeader >
@@ -663,3 +664,30 @@ void MachODumper::printMachOVersionMin() {
663
664
}
664
665
}
665
666
}
667
+
668
+ void MachODumper::printMachODysymtab () {
669
+ for (const auto &Load : Obj->load_commands ()) {
670
+ if (Load.C .cmd == MachO::LC_DYSYMTAB) {
671
+ MachO::dysymtab_command DLC = Obj->getDysymtabLoadCommand ();
672
+ DictScope Group (W, " Dysymtab" );
673
+ W.printNumber (" ilocalsym" , DLC.ilocalsym );
674
+ W.printNumber (" nlocalsym" , DLC.nlocalsym );
675
+ W.printNumber (" iextdefsym" , DLC.iextdefsym );
676
+ W.printNumber (" nextdefsym" , DLC.nextdefsym );
677
+ W.printNumber (" iundefsym" , DLC.iundefsym );
678
+ W.printNumber (" nundefsym" , DLC.nundefsym );
679
+ W.printNumber (" tocoff" , DLC.tocoff );
680
+ W.printNumber (" ntoc" , DLC.ntoc );
681
+ W.printNumber (" modtaboff" , DLC.modtaboff );
682
+ W.printNumber (" nmodtab" , DLC.nmodtab );
683
+ W.printNumber (" extrefsymoff" , DLC.extrefsymoff );
684
+ W.printNumber (" nextrefsyms" , DLC.nextrefsyms );
685
+ W.printNumber (" indirectsymoff" , DLC.indirectsymoff );
686
+ W.printNumber (" nindirectsyms" , DLC.nindirectsyms );
687
+ W.printNumber (" extreloff" , DLC.extreloff );
688
+ W.printNumber (" nextrel" , DLC.nextrel );
689
+ W.printNumber (" locreloff" , DLC.locreloff );
690
+ W.printNumber (" nlocrel" , DLC.nlocrel );
691
+ }
692
+ }
693
+ }
0 commit comments