|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
References
tools/llvm-readobj/COFFDumper.cpp 312 W.printSymbolOffset(Label, Symbol, Offset);
314 W.printHex(Label, RelocOffset);
321 W.printBinaryBlock(Label, Block);
329 W.flush();
331 ListScope D(W, "BlockRelocations");
607 W.printHex(FieldName + "RVA", Data->RelativeVirtualAddress);
608 W.printHex(FieldName + "Size", Data->Size);
617 DictScope D(W, "ImageFileHeader");
618 W.printEnum ("Machine", Obj->getMachine(),
620 W.printNumber("SectionCount", Obj->getNumberOfSections());
621 W.printHex ("TimeDateStamp", FormattedTime, Obj->getTimeDateStamp());
622 W.printHex ("PointerToSymbolTable", Obj->getPointerToSymbolTable());
623 W.printNumber("SymbolCount", Obj->getNumberOfSymbols());
624 W.printNumber("OptionalHeaderSize", Obj->getSizeOfOptionalHeader());
625 W.printFlags ("Characteristics", Obj->getCharacteristics(),
642 DictScope D(W, "DOSHeader");
643 W.printString("Magic", StringRef(DH->Magic, sizeof(DH->Magic)));
644 W.printNumber("UsedBytesInTheLastPage", DH->UsedBytesInTheLastPage);
645 W.printNumber("FileSizeInPages", DH->FileSizeInPages);
646 W.printNumber("NumberOfRelocationItems", DH->NumberOfRelocationItems);
647 W.printNumber("HeaderSizeInParagraphs", DH->HeaderSizeInParagraphs);
648 W.printNumber("MinimumExtraParagraphs", DH->MinimumExtraParagraphs);
649 W.printNumber("MaximumExtraParagraphs", DH->MaximumExtraParagraphs);
650 W.printNumber("InitialRelativeSS", DH->InitialRelativeSS);
651 W.printNumber("InitialSP", DH->InitialSP);
652 W.printNumber("Checksum", DH->Checksum);
653 W.printNumber("InitialIP", DH->InitialIP);
654 W.printNumber("InitialRelativeCS", DH->InitialRelativeCS);
655 W.printNumber("AddressOfRelocationTable", DH->AddressOfRelocationTable);
656 W.printNumber("OverlayNumber", DH->OverlayNumber);
657 W.printNumber("OEMid", DH->OEMid);
658 W.printNumber("OEMinfo", DH->OEMinfo);
659 W.printNumber("AddressOfNewExeHeader", DH->AddressOfNewExeHeader);
664 DictScope D(W, "ImageOptionalHeader");
665 W.printHex ("Magic", Hdr->Magic);
666 W.printNumber("MajorLinkerVersion", Hdr->MajorLinkerVersion);
667 W.printNumber("MinorLinkerVersion", Hdr->MinorLinkerVersion);
668 W.printNumber("SizeOfCode", Hdr->SizeOfCode);
669 W.printNumber("SizeOfInitializedData", Hdr->SizeOfInitializedData);
670 W.printNumber("SizeOfUninitializedData", Hdr->SizeOfUninitializedData);
671 W.printHex ("AddressOfEntryPoint", Hdr->AddressOfEntryPoint);
672 W.printHex ("BaseOfCode", Hdr->BaseOfCode);
674 W.printHex ("ImageBase", Hdr->ImageBase);
675 W.printNumber("SectionAlignment", Hdr->SectionAlignment);
676 W.printNumber("FileAlignment", Hdr->FileAlignment);
677 W.printNumber("MajorOperatingSystemVersion",
679 W.printNumber("MinorOperatingSystemVersion",
681 W.printNumber("MajorImageVersion", Hdr->MajorImageVersion);
682 W.printNumber("MinorImageVersion", Hdr->MinorImageVersion);
683 W.printNumber("MajorSubsystemVersion", Hdr->MajorSubsystemVersion);
684 W.printNumber("MinorSubsystemVersion", Hdr->MinorSubsystemVersion);
685 W.printNumber("SizeOfImage", Hdr->SizeOfImage);
686 W.printNumber("SizeOfHeaders", Hdr->SizeOfHeaders);
687 W.printEnum ("Subsystem", Hdr->Subsystem, makeArrayRef(PEWindowsSubsystem));
688 W.printFlags ("Characteristics", Hdr->DLLCharacteristics,
690 W.printNumber("SizeOfStackReserve", Hdr->SizeOfStackReserve);
691 W.printNumber("SizeOfStackCommit", Hdr->SizeOfStackCommit);
692 W.printNumber("SizeOfHeapReserve", Hdr->SizeOfHeapReserve);
693 W.printNumber("SizeOfHeapCommit", Hdr->SizeOfHeapCommit);
694 W.printNumber("NumberOfRvaAndSize", Hdr->NumberOfRvaAndSize);
697 DictScope D(W, "DataDirectory");
711 ListScope LS(W, "DebugDirectory");
716 DictScope S(W, "DebugEntry");
717 W.printHex("Characteristics", D.Characteristics);
718 W.printHex("TimeDateStamp", FormattedTime, D.TimeDateStamp);
719 W.printHex("MajorVersion", D.MajorVersion);
720 W.printHex("MinorVersion", D.MinorVersion);
721 W.printEnum("Type", D.Type, makeArrayRef(ImageDebugType));
722 W.printHex("SizeOfData", D.SizeOfData);
723 W.printHex("AddressOfRawData", D.AddressOfRawData);
724 W.printHex("PointerToRawData", D.PointerToRawData);
731 DictScope PDBScope(W, "PDBInfo");
732 W.printHex("PDBSignature", DebugInfo->Signature.CVSignature);
734 W.printBinary("PDBGUID", makeArrayRef(DebugInfo->PDB70.Signature));
735 W.printNumber("PDBAge", DebugInfo->PDB70.Age);
736 W.printString("PDBFileName", PDBFileName);
745 W.printBinaryBlock("RawData", RawData);
761 raw_ostream &OS = W.startLine();
762 OS << W.hex(Obj->getImageBase() + RVA);
777 ListScope LS(W, "SEHTable");
782 ListScope LS(W, "GuardFidTable");
797 ListScope LS(W, "GuardLJmpTable");
807 ListScope LS(W, "LoadConfig");
811 W.printHex("Size", Conf->Size);
817 W.printHex("TimeDateStamp", FormattedTime, TDS);
818 W.printHex("MajorVersion", Conf->MajorVersion);
819 W.printHex("MinorVersion", Conf->MinorVersion);
820 W.printHex("GlobalFlagsClear", Conf->GlobalFlagsClear);
821 W.printHex("GlobalFlagsSet", Conf->GlobalFlagsSet);
822 W.printHex("CriticalSectionDefaultTimeout",
824 W.printHex("DeCommitFreeBlockThreshold", Conf->DeCommitFreeBlockThreshold);
825 W.printHex("DeCommitTotalFreeThreshold", Conf->DeCommitTotalFreeThreshold);
826 W.printHex("LockPrefixTable", Conf->LockPrefixTable);
827 W.printHex("MaximumAllocationSize", Conf->MaximumAllocationSize);
828 W.printHex("VirtualMemoryThreshold", Conf->VirtualMemoryThreshold);
829 W.printHex("ProcessHeapFlags", Conf->ProcessHeapFlags);
830 W.printHex("ProcessAffinityMask", Conf->ProcessAffinityMask);
831 W.printHex("CSDVersion", Conf->CSDVersion);
832 W.printHex("DependentLoadFlags", Conf->DependentLoadFlags);
833 W.printHex("EditList", Conf->EditList);
834 W.printHex("SecurityCookie", Conf->SecurityCookie);
839 W.printHex("SEHandlerTable", Conf->SEHandlerTable);
840 W.printNumber("SEHandlerCount", Conf->SEHandlerCount);
848 W.printHex("GuardCFCheckFunction", Conf->GuardCFCheckFunction);
849 W.printHex("GuardCFCheckDispatch", Conf->GuardCFCheckDispatch);
850 W.printHex("GuardCFFunctionTable", Conf->GuardCFFunctionTable);
851 W.printNumber("GuardCFFunctionCount", Conf->GuardCFFunctionCount);
852 W.printHex("GuardFlags", Conf->GuardFlags);
861 W.printHex("GuardAddressTakenIatEntryTable",
863 W.printNumber("GuardAddressTakenIatEntryCount",
865 W.printHex("GuardLongJumpTargetTable", Conf->GuardLongJumpTargetTable);
866 W.printNumber("GuardLongJumpTargetCount", Conf->GuardLongJumpTargetCount);
867 W.printHex("DynamicValueRelocTable", Conf->DynamicValueRelocTable);
868 W.printHex("CHPEMetadataPointer", Conf->CHPEMetadataPointer);
869 W.printHex("GuardRFFailureRoutine", Conf->GuardRFFailureRoutine);
870 W.printHex("GuardRFFailureRoutineFunctionPointer",
872 W.printHex("DynamicValueRelocTableOffset",
874 W.printNumber("DynamicValueRelocTableSection",
876 W.printHex("GuardRFVerifyStackPointerFunctionPointer",
878 W.printHex("HotPatchTableOffset", Conf->HotPatchTableOffset);
885 W.printHex("BaseOfData", Hdr->BaseOfData);
951 ListScope D(W, "CodeViewDebugInfo");
953 W.printNumber("Section", SectionName, Obj->getSectionID(Section));
959 W.printHex("Magic", Magic);
977 ListScope S(W, "Subsection");
980 W.printHex("IgnoredSubsectionKind", SubType);
983 W.printEnum("SubSectionType", SubType, makeArrayRef(SubSectionTypes));
984 W.printHex("SubSectionSize", SubSectionSize);
1039 W.printString("LinkageName", LinkageName);
1064 W.printString("LinkageName", LinkageName);
1072 DictScope S(W, "FrameData");
1073 W.printHex("RvaStart", FD.RvaStart);
1074 W.printHex("CodeSize", FD.CodeSize);
1075 W.printHex("LocalSize", FD.LocalSize);
1076 W.printHex("ParamsSize", FD.ParamsSize);
1077 W.printHex("MaxStackSize", FD.MaxStackSize);
1078 W.printHex("PrologSize", FD.PrologSize);
1079 W.printHex("SavedRegsSize", FD.SavedRegsSize);
1080 W.printFlags("Flags", FD.Flags, makeArrayRef(FrameDataFlags));
1088 ListScope FFS(W, "FrameFunc");
1096 W.printString(Stmt);
1108 W.flush();
1115 ListScope S(W, "FunctionLineTable");
1116 W.printString("LinkageName", Name);
1124 W.printHex("Flags", LineInfo.header()->Flags);
1125 W.printHex("CodeSize", LineInfo.header()->CodeSize);
1128 ListScope S(W, "FilenameSegment");
1139 ListScope PCScope(W, PC);
1143 W.printString("StepInto", StringRef("Always"));
1145 W.printString("StepInto", StringRef("Never"));
1147 W.printNumber("LineNumberStart", LI.getStartLine());
1148 W.printNumber("LineNumberEndDelta", LI.getLineDelta());
1149 W.printBoolean("IsStatement", LI.isStatement());
1151 W.printNumber("ColStart", Entry.Columns[ColumnIndex].StartColumn);
1152 W.printNumber("ColEnd", Entry.Columns[ColumnIndex].EndColumn);
1167 CVSymbolDumper CVSD(W, Types, CodeViewContainer::ObjectFile, std::move(CODD),
1172 W.flush();
1177 W.flush();
1181 W.flush();
1191 DictScope S(W, "FileChecksum");
1195 W.printHex("Filename", Filename, FC.FileNameOffset);
1196 W.printHex("ChecksumSize", FC.Checksum.size());
1197 W.printEnum("ChecksumKind", uint8_t(FC.Kind),
1200 W.printBinary("ChecksumBytes", FC.Checksum);
1211 DictScope S(W, "InlineeSourceLine");
1214 W.printNumber("SourceLineNum", Line.Header->SourceLineNum);
1217 W.printNumber("ExtraFileCount", Line.ExtraFiles.size());
1218 ListScope ExtraFiles(W, "ExtraFiles");
1244 W.printHex(Label, getFileNameForFileOffset(FileOffset), FileOffset);
1268 W.flush();
1292 ListScope D(W, "CodeViewTypes");
1293 W.printNumber("Section", SectionName, Obj->getSectionID(Section));
1297 W.printBinaryBlock("Data", Data);
1303 W.printHex("Magic", Magic);
1310 TypeDumpVisitor TDV(Types, &W, opts::CodeViewSubsectionBytes);
1314 W.flush();
1318 ListScope SectionsD(W, "Sections");
1326 DictScope D(W, "Section");
1327 W.printNumber("Number", SectionNumber);
1328 W.printBinary("Name", Name, Section->Name);
1329 W.printHex ("VirtualSize", Section->VirtualSize);
1330 W.printHex ("VirtualAddress", Section->VirtualAddress);
1331 W.printNumber("RawDataSize", Section->SizeOfRawData);
1332 W.printHex ("PointerToRawData", Section->PointerToRawData);
1333 W.printHex ("PointerToRelocations", Section->PointerToRelocations);
1334 W.printHex ("PointerToLineNumbers", Section->PointerToLinenumbers);
1335 W.printNumber("RelocationCount", Section->NumberOfRelocations);
1336 W.printNumber("LineNumberCount", Section->NumberOfLinenumbers);
1337 W.printFlags ("Characteristics", Section->Characteristics,
1342 ListScope D(W, "Relocations");
1348 ListScope D(W, "Symbols");
1360 W.printBinaryBlock("SectionData", Data);
1366 ListScope D(W, "Relocations");
1376 W.startLine() << "Section (" << SectionNumber << ") " << Name << " {\n";
1377 W.indent();
1385 W.unindent();
1386 W.startLine() << "}\n";
1410 DictScope Group(W, "Relocation");
1411 W.printHex("Offset", Offset);
1412 W.printNumber("Type", RelocName, RelocType);
1413 W.printString("Symbol", SymbolName.empty() ? "-" : SymbolName);
1414 W.printNumber("SymbolIndex", SymbolIndex);
1416 raw_ostream& OS = W.startLine();
1417 OS << W.hex(Offset)
1426 ListScope Group(W, "Symbols");
1432 void COFFDumper::printDynamicSymbols() { ListScope Group(W, "DynamicSymbols"); }
1449 DictScope D(W, "Symbol");
1454 W.startLine() << "Invalid section number: " << EC.message() << "\n";
1455 W.flush();
1468 W.printString("Name", SymbolName);
1469 W.printNumber("Value", Symbol.getValue());
1470 W.printNumber("Section", SectionName, Symbol.getSectionNumber());
1471 W.printEnum ("BaseType", Symbol.getBaseType(), makeArrayRef(ImageSymType));
1472 W.printEnum ("ComplexType", Symbol.getComplexType(),
1474 W.printEnum ("StorageClass", Symbol.getStorageClass(),
1476 W.printNumber("AuxSymbolCount", Symbol.getNumberOfAuxSymbols());
1484 DictScope AS(W, "AuxFunctionDef");
1485 W.printNumber("TagIndex", Aux->TagIndex);
1486 W.printNumber("TotalSize", Aux->TotalSize);
1487 W.printHex("PointerToLineNumber", Aux->PointerToLinenumber);
1488 W.printHex("PointerToNextFunction", Aux->PointerToNextFunction);
1503 DictScope AS(W, "AuxWeakExternal");
1504 W.printNumber("Linked", LinkedName, Aux->TagIndex);
1505 W.printEnum ("Search", Aux->Characteristics,
1512 DictScope AS(W, "AuxFileRecord");
1516 W.printString("FileName", Name.rtrim(StringRef("\0", 1)));
1525 DictScope AS(W, "AuxSectionDef");
1526 W.printNumber("Length", Aux->Length);
1527 W.printNumber("RelocationCount", Aux->NumberOfRelocations);
1528 W.printNumber("LineNumberCount", Aux->NumberOfLinenumbers);
1529 W.printHex("Checksum", Aux->CheckSum);
1530 W.printNumber("Number", AuxNumber);
1531 W.printEnum("Selection", Aux->Selection, makeArrayRef(ImageCOMDATSelect));
1544 W.printNumber("AssocSection", AssocName, AuxNumber);
1560 DictScope AS(W, "AuxCLRToken");
1561 W.printNumber("AuxType", Aux->AuxType);
1562 W.printNumber("Reserved", Aux->Reserved);
1563 W.printNumber("SymbolTableIndex", ReferredName, Aux->SymbolTableIndex);
1566 W.startLine() << "<unhandled auxiliary record>\n";
1572 ListScope D(W, "UnwindInformation");
1575 Win64EH::Dumper Dumper(W);
1588 ARM::WinEH::Decoder Decoder(W, Obj->getMachine() ==
1595 W.printEnum("unsupported Image Machine", Obj->getMachine(),
1602 ListScope D(W, "NeededLibraries");
1616 W.startLine() << L << "\n";
1629 W.printNumber("Symbol", Sym, Ordinal);
1638 DictScope Import(W, "Import");
1646 W.printNumber("Symbol", Sym, Ordinal);
1651 W.printHex("Address", Addr);
1658 DictScope Import(W, "Import");
1662 W.printString("Name", Name);
1666 W.printHex("ImportLookupTableRVA", ILTAddr);
1670 W.printHex("ImportAddressTableRVA", IATAddr);
1681 DictScope Import(W, "DelayImport");
1685 W.printString("Name", Name);
1689 W.printHex("Attributes", Table->Attributes);
1690 W.printHex("ModuleHandle", Table->ModuleHandle);
1691 W.printHex("ImportAddressTable", Table->DelayImportAddressTable);
1692 W.printHex("ImportNameTable", Table->DelayImportNameTable);
1693 W.printHex("BoundDelayImportTable", Table->BoundDelayImportTable);
1694 W.printHex("UnloadDelayImportTable", Table->UnloadDelayImportTable);
1701 DictScope Export(W, "Export");
1713 W.printNumber("Ordinal", Ordinal);
1714 W.printString("Name", Name);
1715 W.printHex("RVA", RVA);
1727 W.printString("Directive(s)", Contents);
1745 ListScope D(W, "BaseReloc");
1753 DictScope Import(W, "Entry");
1754 W.printString("Type", getBaseRelocTypeName(Type));
1755 W.printHex("Address", RVA);
1760 ListScope ResourcesD(W, "Resources");
1774 W.printNumber("Total Number of Resources",
1776 W.printHex("Base Table Address",
1778 W.startLine() << "\n";
1782 W.printBinaryBlock(Name.str() + " Data", Ref);
1814 W.printNumber("Number of String Entries", Table.NumberOfNameEntries);
1815 W.printNumber("Number of ID Entries", Table.NumberOfIDEntries);
1850 ListScope ResourceType(W, Level.str() + Name.str());
1852 W.printHex("Table Offset", Entry.Offset.value());
1862 W.printHex("Entry Offset", Entry.Offset.value());
1866 W.printHex("Time/Date Stamp", FormattedTime, Table.TimeDateStamp);
1867 W.printNumber("Major Version", Table.MajorVersion);
1868 W.printNumber("Minor Version", Table.MinorVersion);
1869 W.printNumber("Characteristics", Table.Characteristics);
1870 ListScope DataScope(W, "Data");
1873 W.printHex("DataRVA", DataEntry.DataRVA);
1874 W.printNumber("DataSize", DataEntry.DataSize);
1875 W.printNumber("Codepage", DataEntry.Codepage);
1876 W.printNumber("Reserved", DataEntry.Reserved);
1879 W.printBinaryBlock("Data", Contents);
1909 W, StackMapParser<support::little>(StackMapContentsArray));
1912 W, StackMapParser<support::big>(StackMapContentsArray));
1938 ListScope L(W, "Addrsig");
1956 W.printNumber("Sym", SymName, SymIndex);
tools/llvm-readobj/ELFDumper.cpp 2152 DwarfCFIEH::PrinterContext<ELFT> Ctx(W, ObjF);
2162 ARM::EHABI::PrinterContext<ELF32LE> Ctx(W, Obj, ObjF->getFileName(),
2166 DwarfCFIEH::PrinterContext<ELF32LE> Ctx(W, ObjF);
2177 ListScope D(W, "NeededLibraries");
2187 W.startLine() << L << "\n";
2191 DictScope D(W, "HashTable");
2194 W.printNumber("Num Buckets", HashTable->nbucket);
2195 W.printNumber("Num Chains", HashTable->nchain);
2196 W.printList("Buckets", HashTable->buckets());
2197 W.printList("Chains", HashTable->chains());
2201 DictScope D(W, "GnuHashTable");
2204 W.printNumber("Num Buckets", GnuHashTable->nbuckets);
2205 W.printNumber("First Hashed Symbol Index", GnuHashTable->symndx);
2206 W.printNumber("Num Mask Words", GnuHashTable->maskwords);
2207 W.printNumber("Shift Count", GnuHashTable->shift2);
2208 W.printHexList("Bloom Filter", GnuHashTable->filter());
2209 W.printList("Buckets", GnuHashTable->buckets());
2214 W.printHexList("Values", GnuHashTable->values(NumSyms));
2218 W.printString("LoadName", SOName);
2246 W.startLine() << "Attributes not implemented.\n";
2254 W.startLine() << "Attributes not implemented.\n";
2258 DictScope BA(W, "BuildAttributes");
2272 W.printHex("FormatVersion", Contents[0]);
2276 ARMAttributeParser(&W).Parse(Contents, true);
2640 W.startLine() << "There is no .reginfo section in the file.\n";
2646 W.startLine() << "The .reginfo section has a wrong size.\n";
2650 DictScope GS(W, "MIPS RegInfo");
2652 printMipsReginfoData(W, *Reginfo);
2660 W.startLine() << "There is no .MIPS.options section in the file.\n";
2664 DictScope GS(W, "MIPS Options");
2670 W.startLine() << "The .MIPS.options section has a wrong size.\n";
2674 DictScope GS(W, getElfMipsOptionsOdkType(O->kind));
2677 printMipsReginfoData(W, O->getRegInfo());
2680 W.startLine() << "Unsupported MIPS options tag.\n";
2706 W, StackMapParser<ELFT::TargetEndianness>(StackMapContentsArray));
tools/llvm-readobj/MachODumper.cpp 413 DictScope H(W, "MachHeader");
418 W.printHex("Reserved", Obj->getHeader64().reserved);
424 W.printEnum("Magic", Header.magic, makeArrayRef(MachOMagics));
425 W.printEnum("CpuType", Header.cputype, makeArrayRef(MachOHeaderCpuTypes));
429 W.printEnum("CpuSubType", subtype, makeArrayRef(MachOHeaderCpuSubtypesX86));
432 W.printEnum("CpuSubType", subtype, makeArrayRef(MachOHeaderCpuSubtypesX64));
435 W.printEnum("CpuSubType", subtype, makeArrayRef(MachOHeaderCpuSubtypesARM));
438 W.printEnum("CpuSubType", subtype, makeArrayRef(MachOHeaderCpuSubtypesPPC));
441 W.printEnum("CpuSubType", subtype, makeArrayRef(MachOHeaderCpuSubtypesSPARC));
444 W.printEnum("CpuSubType", subtype, makeArrayRef(MachOHeaderCpuSubtypesARM64));
448 W.printHex("CpuSubtype", subtype);
450 W.printEnum("FileType", Header.filetype, makeArrayRef(MachOHeaderFileTypes));
451 W.printNumber("NumOfLoadCommands", Header.ncmds);
452 W.printNumber("SizeOfLoadCommands", Header.sizeofcmds);
453 W.printFlags("Flags", Header.flags, makeArrayRef(MachOHeaderFlags));
459 ListScope Group(W, "Sections");
473 DictScope SectionD(W, "Section");
474 W.printNumber("Index", SectionIndex);
475 W.printBinary("Name", Name, RawName);
476 W.printBinary("Segment", SegmentName, RawSegmentName);
477 W.printHex("Address", MOSection.Address);
478 W.printHex("Size", MOSection.Size);
479 W.printNumber("Offset", MOSection.Offset);
480 W.printNumber("Alignment", MOSection.Alignment);
481 W.printHex("RelocationOffset", MOSection.RelocationTableOffset);
482 W.printNumber("RelocationCount", MOSection.NumRelocationTableEntries);
483 W.printEnum("Type", MOSection.Flags & 0xFF,
485 W.printFlags("Attributes", MOSection.Flags >> 8,
487 W.printHex("Reserved1", MOSection.Reserved1);
488 W.printHex("Reserved2", MOSection.Reserved2);
490 W.printHex("Reserved3", MOSection.Reserved3);
493 ListScope D(W, "Relocations");
499 ListScope D(W, "Symbols");
509 W.printBinaryBlock("SectionData", unwrapOrError(Obj->getFileName(),
515 ListScope D(W, "Relocations");
523 W.startLine() << "Section " << Name << " {\n";
524 W.indent();
532 W.unindent();
533 W.startLine() << "}\n";
571 DictScope Group(W, "Relocation");
572 W.printHex("Offset", Offset);
573 W.printNumber("PCRel", Obj->getAnyRelocationPCRel(RE));
574 W.printNumber("Length", Obj->getAnyRelocationLength(RE));
575 W.printNumber("Type", RelocName, Obj->getAnyRelocationType(RE));
577 W.printHex("Value", Obj->getScatteredRelocationValue(RE));
580 W.printNumber(Kind, TargetName, Obj->getPlainRelocationSymbolNum(RE));
592 raw_ostream& OS = W.startLine();
593 OS << W.hex(Offset)
608 ListScope Group(W, "Symbols");
616 ListScope Group(W, "DynamicSymbols");
640 DictScope D(W, "Symbol");
641 W.printNumber("Name", SymbolName, MOSymbol.StringIndex);
643 W.printHex("Type", "SymDebugTable", MOSymbol.Type);
646 W.startLine() << "PrivateExtern\n";
648 W.startLine() << "Extern\n";
649 W.printEnum("Type", uint8_t(MOSymbol.Type & MachO::N_TYPE),
652 W.printHex("Section", SectionName, MOSymbol.SectionIndex);
653 W.printEnum("RefType", static_cast<uint16_t>(MOSymbol.Flags & 0xF),
655 W.printFlags("Flags", static_cast<uint16_t>(MOSymbol.Flags & ~0xF),
657 W.printHex("Value", MOSymbol.Value);
661 W.startLine() << "UnwindInfo not implemented.\n";
689 W, StackMapParser<support::little>(StackMapContentsArray));
692 W, StackMapParser<support::big>(StackMapContentsArray));
696 ListScope D(W, "NeededLibraries");
719 W.startLine() << L << "\n";
727 DictScope Group(W, "DataInCode");
728 W.printNumber("Data offset", LLC.dataoff);
729 W.printNumber("Data size", LLC.datasize);
730 ListScope D(W, "Data entries");
735 DictScope Group(W, "Entry");
736 W.printNumber("Index", i);
737 W.printNumber("Offset", DICE.offset);
738 W.printNumber("Length", DICE.length);
739 W.printNumber("Kind", DICE.kind);
768 DictScope Group(W, "MinVersion");
772 W.printString("Cmd", Cmd);
773 W.printNumber("Size", BVC.cmdsize);
774 W.printString("Platform",
776 W.printString("Version", MachOObjectFile::getVersionString(BVC.minos));
778 W.printString("SDK", MachOObjectFile::getVersionString(BVC.sdk));
780 W.printString("SDK", StringRef("n/a"));
785 W.printString("Cmd", Cmd);
786 W.printNumber("Size", VMC.cmdsize);
793 W.printString("Version", Version);
804 W.printString("SDK", SDK);
812 DictScope Group(W, "Dysymtab");
813 W.printNumber("ilocalsym", DLC.ilocalsym);
814 W.printNumber("nlocalsym", DLC.nlocalsym);
815 W.printNumber("iextdefsym", DLC.iextdefsym);
816 W.printNumber("nextdefsym", DLC.nextdefsym);
817 W.printNumber("iundefsym", DLC.iundefsym);
818 W.printNumber("nundefsym", DLC.nundefsym);
819 W.printNumber("tocoff", DLC.tocoff);
820 W.printNumber("ntoc", DLC.ntoc);
821 W.printNumber("modtaboff", DLC.modtaboff);
822 W.printNumber("nmodtab", DLC.nmodtab);
823 W.printNumber("extrefsymoff", DLC.extrefsymoff);
824 W.printNumber("nextrefsyms", DLC.nextrefsyms);
825 W.printNumber("indirectsymoff", DLC.indirectsymoff);
826 W.printNumber("nindirectsyms", DLC.nindirectsyms);
827 W.printNumber("extreloff", DLC.extreloff);
828 W.printNumber("nextrel", DLC.nextrel);
829 W.printNumber("locreloff", DLC.locreloff);
830 W.printNumber("nlocrel", DLC.nlocrel);
840 DictScope Group(W, "Segment");
841 W.printString("Cmd", MOSegment.CmdName);
842 W.printString("Name", MOSegment.SegName);
843 W.printNumber("Size", MOSegment.cmdsize);
844 W.printHex("vmaddr", MOSegment.vmaddr);
845 W.printHex("vmsize", MOSegment.vmsize);
846 W.printNumber("fileoff", MOSegment.fileoff);
847 W.printNumber("filesize", MOSegment.filesize);
848 W.printString("maxprot", getMask(MOSegment.maxprot));
849 W.printString("initprot", getMask(MOSegment.initprot));
850 W.printNumber("nsects", MOSegment.nsects);
851 W.printHex("flags", MOSegment.flags);
860 DictScope Group(W, "Indirect Symbols");
861 W.printNumber("Number", DLC.nindirectsyms);
862 ListScope D(W, "Symbols");
864 DictScope Group(W, "Entry");
865 W.printNumber("Entry Index", i);
866 W.printHex("Symbol Index", Obj->getIndirectSymbolTableEntry(DLC, i));
876 DictScope Group(W, "Linker Options");
877 W.printNumber("Size", LOLC.cmdsize);
878 ListScope D(W, "Strings");
884 W.printString("Value", Split.first);
tools/llvm-readobj/ObjDumper.cpp 92 W.startLine() << '\n';
94 W.startLine() << "String dump of section '" << SectionName << "':\n";
110 W.startLine() << format("[%6tx] ", CurrentWord - SecContent);
111 printAsPrintable(W.startLine(), CurrentWord, WordSize);
112 W.startLine() << '\n';
127 W.startLine() << '\n';
129 W.startLine() << "Hex dump of section '" << SectionName << "':\n";
141 W.startLine() << format_hex(Section.getAddress() + (SecPtr - SecContent),
143 W.startLine() << ' ';
147 W.startLine() << format_hex_no_prefix(Val, 2);
149 W.startLine() << ' ';
158 W.startLine() << format("%*c", (4 - i) * 8 + (4 - i) + (8 - (k * 2)),
163 W.startLine() << (isPrint(TmpSecPtr[i])
167 W.startLine() << '\n';
tools/llvm-readobj/WasmDumper.cpp 81 W.printHex("Version", Obj->getHeader().Version);
109 DictScope Group(W, "Relocation");
110 W.printNumber("Type", RelocTypeName, RelocType);
111 W.printHex("Offset", Reloc.getOffset());
113 W.printString("Symbol", SymName);
115 W.printHex("Index", WasmReloc.Index);
117 W.printNumber("Addend", WasmReloc.Addend);
119 raw_ostream &OS = W.startLine();
120 OS << W.hex(Reloc.getOffset()) << " " << RelocTypeName << " ";
132 ListScope D(W, "Relocations");
143 W.startLine() << "Section (" << SectionNumber << ") " << Name << " {\n";
144 W.indent();
152 W.unindent();
153 W.startLine() << "}\n";
159 ListScope Group(W, "Symbols");
166 ListScope Group(W, "Sections");
169 DictScope SectionD(W, "Section");
170 W.printEnum("Type", WasmSec.Type, makeArrayRef(WasmSectionTypes));
171 W.printNumber("Size", static_cast<uint64_t>(WasmSec.Content.size()));
172 W.printNumber("Offset", WasmSec.Offset);
175 W.printString("Name", WasmSec.Name);
179 ListScope Group(W, "InitFunctions");
181 W.startLine() << F.Symbol << " (priority=" << F.Priority << ")\n";
186 ListScope Group(W, "Segments");
189 DictScope Group(W, "Segment");
191 W.printString("Name", Seg.Name);
192 W.printNumber("Size", static_cast<uint64_t>(Seg.Content.size()));
194 W.printNumber("Offset", Seg.Offset.Value.Int32);
199 ListScope Group(W, "Memories");
201 DictScope Group(W, "Memory");
202 W.printNumber("InitialPages", Memory.Initial);
204 W.printNumber("MaxPages", WasmSec.Offset);
211 ListScope D(W, "Relocations");
217 W.printBinaryBlock("SectionData", WasmSec.Content);
223 DictScope D(W, "Symbol");
225 W.printString("Name", Symbol.Info.Name);
226 W.printEnum("Type", Symbol.Info.Kind, makeArrayRef(WasmSymbolTypes));
227 W.printFlags("Flags", Symbol.Info.Flags, makeArrayRef(WasmSymbolFlags));
230 W.printString("ImportName", Symbol.Info.ImportName);
231 W.printString("ImportModule", Symbol.Info.ImportModule);
234 W.printHex("ElementIndex", Symbol.Info.ElementIndex);
236 W.printHex("Offset", Symbol.Info.DataRef.Offset);
237 W.printHex("Segment", Symbol.Info.DataRef.Segment);
238 W.printHex("Size", Symbol.Info.DataRef.Size);
tools/llvm-readobj/XCOFFDumper.cpp 65 DictScope DS(W, "FileHeader");
66 W.printHex("Magic", Obj.getMagic());
67 W.printNumber("NumberOfSections", Obj.getNumberOfSections());
81 W.printHex("TimeStamp", FormattedTime, TimeStamp);
83 W.printHex("Timestamp", TimeStamp);
85 W.printHex("TimeStamp", TimeStamp == 0 ? "None" : "Reserved Value",
93 W.printHex("SymbolTableOffset", Obj.getSymbolTableOffset64());
94 W.printNumber("SymbolTableEntries", Obj.getNumberOfSymbolTableEntries64());
96 W.printHex("SymbolTableOffset", Obj.getSymbolTableOffset32());
99 W.printNumber("SymbolTableEntries", SymTabEntries);
101 W.printHex("SymbolTableEntries", "Reserved Value", SymTabEntries);
104 W.printHex("OptionalHeaderSize", Obj.getOptionalHeaderSize());
105 W.printHex("Flags", Obj.getFlags());
141 ListScope LS(W, "Relocations");
153 W.startLine() << "Section (index: " << Index << ") " << Sec.getName()
159 DictScope RelocScope(W, "Relocation");
160 W.printHex("Virtual Address", Reloc.VirtualAddress);
161 W.printNumber("Symbol", SymbolName, Reloc.SymbolIndex);
162 W.printString("IsSigned", Reloc.isRelocationSigned() ? "Yes" : "No");
163 W.printNumber("FixupBitValue", Reloc.isFixupIndicated() ? 1 : 0);
164 W.printNumber("Length", Reloc.getRelocatedLength());
165 W.printEnum("Type", (uint8_t)Reloc.Type,
168 W.unindent();
169 W.startLine() << "}\n";
186 DictScope SymDs(W, "File Auxiliary Entry");
187 W.printNumber("Index",
189 W.printString("Name", FileName);
190 W.printEnum("Type", static_cast<uint8_t>(AuxEntPtr->Type),
218 DictScope SymDs(W, "CSECT Auxiliary Entry");
219 W.printNumber("Index",
222 W.printNumber("ContainingCsectSymbolIndex", AuxEntPtr->SectionOrLength);
224 W.printNumber("SectionLen", AuxEntPtr->SectionOrLength);
225 W.printHex("ParameterHashIndex", AuxEntPtr->ParameterHashIndex);
226 W.printHex("TypeChkSectNum", AuxEntPtr->TypeChkSectNum);
228 W.printNumber("SymbolAlignmentLog2",
231 W.printEnum("SymbolType", AuxEntPtr->SymbolAlignmentAndType & SymbolTypeMask,
233 W.printEnum("StorageMappingClass",
236 W.printHex("StabInfoIndex", AuxEntPtr->StabInfoIndex);
237 W.printHex("StabSectNum", AuxEntPtr->StabSectNum);
244 DictScope SymDs(W, "Sect Auxiliary Entry For Stat");
245 W.printNumber("Index",
247 W.printNumber("SectionLength", AuxEntPtr->SectionLength);
251 W.printNumber("NumberOfRelocEnt", AuxEntPtr->NumberOfRelocEnt);
252 W.printNumber("NumberOfLineNum", AuxEntPtr->NumberOfLineNum);
328 DictScope SymDs(W, "Symbol");
333 W.printNumber("Index",
335 W.printString("Name", SymbolName);
336 W.printHex(GetSymbolValueName(SymbolEntPtr->StorageClass),
342 W.printString("Section", SectionName);
344 W.printEnum("Source Language ID",
347 W.printEnum("CPU Version ID",
351 W.printHex("Type", SymbolEntPtr->SymbolType);
353 W.printEnum("StorageClass", static_cast<uint8_t>(SymbolEntPtr->StorageClass),
355 W.printNumber("NumberOfAuxEntries", SymbolEntPtr->NumberOfAuxEntries);
385 W.startLine() << "!Unexpected raw auxiliary entry data:\n";
386 W.startLine() << format_bytes(
415 W.startLine() << "!Unexpected raw auxiliary entry data:\n";
416 W.startLine() << format_bytes(
425 ListScope Group(W, "Symbols");
466 W.printString("Name", Sec.getName());
467 W.printNumber("NumberOfRelocations", Sec.PhysicalAddress);
468 W.printNumber("NumberOfLineNumbers", Sec.VirtualAddress);
469 W.printHex("Size", Sec.SectionSize);
470 W.printHex("RawDataOffset", Sec.FileOffsetToRawData);
471 W.printHex("RelocationPointer", Sec.FileOffsetToRelocationInfo);
472 W.printHex("LineNumberPointer", Sec.FileOffsetToLineNumberInfo);
473 W.printNumber("IndexOfSectionOverflowed", Sec.NumberOfRelocations);
474 W.printNumber("IndexOfSectionOverflowed", Sec.NumberOfLineNumbers);
479 W.printString("Name", Sec.getName());
480 W.printHex("PhysicalAddress", Sec.PhysicalAddress);
481 W.printHex("VirtualAddress", Sec.VirtualAddress);
482 W.printHex("Size", Sec.SectionSize);
483 W.printHex("RawDataOffset", Sec.FileOffsetToRawData);
484 W.printHex("RelocationPointer", Sec.FileOffsetToRelocationInfo);
485 W.printHex("LineNumberPointer", Sec.FileOffsetToLineNumberInfo);
486 W.printNumber("NumberOfRelocations", Sec.NumberOfRelocations);
487 W.printNumber("NumberOfLineNumbers", Sec.NumberOfLineNumbers);
492 ListScope Group(W, "Sections");
496 DictScope SecDS(W, "Section");
498 W.printNumber("Index", Index++);
518 W.printHex("Flags", "Reserved", SectionType);
520 W.printEnum("Type", SectionType, makeArrayRef(SectionTypeFlagsNames));