Lines Matching defs:Obj
246 bool initializeFlags(const SymbolicFile &Obj) {
250 error(SymFlagsOrErr.takeError(), Obj.getFileName());
292 static char getSymbolNMTypeChar(IRObjectFile &Obj, basic_symbol_iterator I);
299 static void darwinPrintSymbol(SymbolicFile &Obj, const NMSymbol &S,
312 MachOObjectFile *MachO = dyn_cast<MachOObjectFile>(&Obj);
313 if (Obj.isIR()) {
400 if (Obj.isIR() && (NType & MachO::N_TYPE) == MachO::N_TYPE)
436 if (Obj.isIR()) {
654 const auto *Obj = dyn_cast<ObjectFile>(S.Sym.getObject());
655 if (!Obj)
660 if (Sec != Obj->section_end())
670 for (const SectionRef RelocsSec : Obj->sections()) {
680 *Obj, {TextSec.getAddress() + R.getOffset(), SectionIndex});
682 error(ResOrErr.takeError(), Obj->getFileName());
700 Expected<DILineInfo> ResOrErr = Symbolizer.symbolizeCode(*Obj, Address);
702 error(ResOrErr.takeError(), Obj->getFileName());
712 Expected<DIGlobal> ResOrErr = Symbolizer.symbolizeData(*Obj, Address);
714 error(ResOrErr.takeError(), Obj->getFileName());
727 static void printSymbolList(SymbolicFile &Obj,
741 if (Obj.is64Bit())
751 if (Obj.is64Bit()) {
784 MachOObjectFile *MachO = dyn_cast<MachOObjectFile>(&Obj);
813 if (Obj.isIR())
828 if ((OutputFormat == darwin || FormatMachOasHex) && (MachO || Obj.isIR())) {
829 darwinPrintSymbol(Obj, S, SymbolAddrStr, printBlanks, printDashes,
867 static char getSymbolNMTypeChar(ELFObjectFileBase &Obj,
887 if (SecI != Obj.section_end()) {
911 static char getSymbolNMTypeChar(COFFObjectFile &Obj, symbol_iterator I) {
912 COFFSymbolRef Symb = Obj.getCOFFSymbol(*I);
938 const coff_section *Section = Obj.getCOFFSection(*SecI);
940 if (Expected<StringRef> NameOrErr = Obj.getSectionName(Section))
966 static char getSymbolNMTypeChar(XCOFFObjectFile &Obj, symbol_iterator I) {
969 warn(TypeOrErr.takeError(), Obj.getFileName(),
971 Twine(Obj.getSymbolIndex(I->getRawDataRefImpl().p)));
984 if (SecIter == Obj.section_end())
987 if (Obj.isDebugSection(SecIter->getRawDataRefImpl()))
1002 static char getSymbolNMTypeChar(COFFImportFile &Obj) {
1003 switch (Obj.getCOFFImportHeader()->getType()) {
1014 static char getSymbolNMTypeChar(MachOObjectFile &Obj, basic_symbol_iterator I) {
1016 uint8_t NType = Obj.is64Bit() ? Obj.getSymbol64TableEntry(Symb).n_type
1017 : Obj.getSymbolTableEntry(Symb).n_type;
1028 Expected<section_iterator> SecOrErr = Obj.getSymbolSection(Symb);
1034 if (Sec == Obj.section_end())
1038 if (Expected<StringRef> NameOrErr = Obj.getSectionName(Ref))
1040 StringRef SegmentName = Obj.getSectionFinalSegmentName(Ref);
1041 if (Obj.is64Bit() && Obj.getHeader64().filetype == MachO::MH_KEXT_BUNDLE &&
1057 static char getSymbolNMTypeChar(TapiFile &Obj, basic_symbol_iterator I) {
1058 auto Type = cantFail(Obj.getSymbolType(I->getRawDataRefImpl()));
1063 if (Obj.hasSegmentInfo())
1071 static char getSymbolNMTypeChar(WasmObjectFile &Obj, basic_symbol_iterator I) {
1078 static char getSymbolNMTypeChar(IRObjectFile &Obj, basic_symbol_iterator I) {
1084 else if (Triple(Obj.getTargetTriple()).isOSDarwin() &&
1091 static bool isObject(SymbolicFile &Obj, basic_symbol_iterator I) {
1092 return isa<ELFObjectFileBase>(&Obj) &&
1098 static StringRef getNMTypeName(SymbolicFile &Obj, basic_symbol_iterator I) {
1099 if (isa<ELFObjectFileBase>(&Obj)) {
1108 static char getNMSectionTagAndName(SymbolicFile &Obj, basic_symbol_iterator I,
1112 if (ELFObjectFileBase *ELFObj = dyn_cast<ELFObjectFileBase>(&Obj)) {
1140 if (isa<MachOObjectFile>(Obj) || !(Symflags & object::SymbolRef::SF_Weak))
1142 return isObject(Obj, I) ? 'v' : 'w';
1144 if (isa<ELFObjectFileBase>(&Obj))
1147 if (!isa<MachOObjectFile>(Obj) && (Symflags & object::SymbolRef::SF_Weak))
1148 return isObject(Obj, I) ? 'V' : 'W';
1156 else if (IRObjectFile *IR = dyn_cast<IRObjectFile>(&Obj))
1158 else if (COFFObjectFile *COFF = dyn_cast<COFFObjectFile>(&Obj))
1160 else if (XCOFFObjectFile *XCOFF = dyn_cast<XCOFFObjectFile>(&Obj))
1162 else if (COFFImportFile *COFFImport = dyn_cast<COFFImportFile>(&Obj))
1164 else if (MachOObjectFile *MachO = dyn_cast<MachOObjectFile>(&Obj))
1166 else if (WasmObjectFile *Wasm = dyn_cast<WasmObjectFile>(&Obj))
1168 else if (TapiFile *Tapi = dyn_cast<TapiFile>(&Obj))
1170 else if (ELFObjectFileBase *ELF = dyn_cast<ELFObjectFileBase>(&Obj)) {
1189 static unsigned getNsectForSegSect(MachOObjectFile *Obj) {
1191 for (auto &S : Obj->sections()) {
1194 if (Expected<StringRef> NameOrErr = Obj->getSectionName(Ref))
1196 StringRef SegmentName = Obj->getSectionFinalSegmentName(Ref);
1209 static unsigned getNsectInMachO(MachOObjectFile &Obj, BasicSymbolRef Sym) {
1211 if (Obj.is64Bit()) {
1212 MachO::nlist_64 STE = Obj.getSymbol64TableEntry(Symb);
1215 MachO::nlist STE = Obj.getSymbolTableEntry(Symb);
1687 static bool shouldDump(SymbolicFile &Obj) {
1691 if (!isa<XCOFFObjectFile>(Obj) && !isa<ELFObjectFileBase>(Obj) &&
1692 !isa<IRObjectFile>(Obj))
1695 return Obj.is64Bit() ? BitMode != BitModeTy::Bit32
1777 getDynamicSyms(SymbolicFile &Obj) {
1778 const auto *E = dyn_cast<ELFObjectFileBase>(&Obj);
1785 static bool getSymbolNamesFromObject(SymbolicFile &Obj,
1787 auto Symbols = Obj.symbols();
1792 getDynamicSyms(Obj);
1794 error(SymbolsOrErr.takeError(), Obj.getFileName());
1798 if (const auto *E = dyn_cast<ELFObjectFileBase>(&Obj)) {
1811 MachOObjectFile *MachO = dyn_cast<MachOObjectFile>(&Obj);
1825 error(SymFlagsOrErr.takeError(), Obj.getFileName());
1832 auto *ELFObj = dyn_cast<ELFObjectFileBase>(&Obj);
1850 if (isa<ELFObjectFileBase>(&Obj))
1854 dyn_cast<const XCOFFObjectFile>(&Obj))
1857 if (const WasmObjectFile *WasmObj = dyn_cast<WasmObjectFile>(&Obj))
1860 if (PrintAddress && isa<ObjectFile>(Obj)) {
1869 S.TypeName = getNMTypeName(Obj, Sym);
1870 S.TypeChar = getNMSectionTagAndName(Obj, Sym, S.SectionName);
1878 error(std::move(E), Obj.getFileName());
1885 if (S.initializeFlags(Obj))
1915 static Expected<bool> hasSymbols(SymbolicFile &Obj) {
1918 getDynamicSyms(Obj);
1923 return !Obj.symbols().empty();
1927 SymbolicFile &Obj, std::vector<NMSymbol> &SymbolList,
1934 ObjectName.empty() ? Obj.getFileName() : ObjectName);
1936 if (!getSymbolNamesFromObject(Obj, SymbolList) || ExportSymbols)
1941 if (!cantFail(hasSymbols(Obj)) && SymbolList.empty() && !Quiet) {
1947 printSymbolList(Obj, SymbolList, PrintSymbolObject, ArchiveName,
1952 MachOObjectFile *Obj, std::vector<NMSymbol> &SymbolList,
1954 auto Buf = Obj->getMemoryBufferRef();
1955 const auto *End = Obj->load_commands().end();
1956 for (const auto *It = Obj->load_commands().begin(); It != End; ++It) {
1962 Obj->getFilesetEntryLoadCommand(Command);
1983 SymbolicFile &Obj, std::vector<NMSymbol> &SymbolList,
1987 if (!shouldDump(Obj))
1990 if (ExportSymbols && Obj.isXCOFF()) {
1991 XCOFFObjectFile *XCOFFObj = cast<XCOFFObjectFile>(&Obj);
1996 CurrentFilename = Obj.getFileName();
1999 if (Obj.isMachO() && Obj.is64Bit() &&
2000 cast<MachOObjectFile>(&Obj)->getHeader64().filetype ==
2002 dumpSymbolsNameFromMachOFilesetEntry(cast<MachOObjectFile>(&Obj),
2008 printSymbolNamesFromObject(Obj, SymbolList, PrintSymbolObject,
2130 ObjectFile &Obj = *ObjOrErr.get();
2133 dumpSymbolNamesFromObject(Obj, SymbolList,
2202 ObjectFile &Obj = *ObjOrErr.get();
2203 dumpSymbolNamesFromObject(Obj, SymbolList, /*PrintSymbolObject=*/false,
2253 ObjectFile &Obj = *ObjOrErr.get();
2254 if (isa<MachOObjectFile>(Obj) && moreThanOneArch)
2256 dumpSymbolNamesFromObject(Obj, SymbolList, /*PrintSymbolObject=*/false,