Index: llvm/include/llvm/Object/XCOFFObjectFile.h =================================================================== --- llvm/include/llvm/Object/XCOFFObjectFile.h +++ llvm/include/llvm/Object/XCOFFObjectFile.h @@ -175,7 +175,7 @@ // Return sanitized value, useable as an index into the symbol table. uint32_t getLogicalNumberOfSymbolTableEntries() const; uint16_t getOptionalHeaderSize() const; - uint16_t getFlags() const; + uint16_t getFlags() const { return FileHdrPtr->Flags; }; }; // XCOFFObjectFile } // namespace object Index: llvm/lib/Object/XCOFFObjectFile.cpp =================================================================== --- llvm/lib/Object/XCOFFObjectFile.cpp +++ llvm/lib/Object/XCOFFObjectFile.cpp @@ -92,9 +92,7 @@ return sizeof(XCOFFSectionHeader); } -uint16_t XCOFFObjectFile::getMagic() const { - return FileHdrPtr->Magic; -} +uint16_t XCOFFObjectFile::getMagic() const { return FileHdrPtr->Magic; } void XCOFFObjectFile::moveSymbolNext(DataRefImpl &Symb) const { const XCOFFSymbolEntry *SymEntPtr = toSymbolEntry(Symb); @@ -110,16 +108,11 @@ if (SymEntPtr->NameInStrTbl.Magic != 0) return generateStringRef(SymEntPtr->SymbolName, XCOFF::SymbolNameSize); - int16_t SectNum = SymEntPtr->SectionNumber; + if (SymEntPtr->SectionNumber == XCOFF::N_DEBUG) { + llvm_unreachable("Not yet implemented!"); + return StringRef(nullptr, 0); + } - if (!isReservedSectionNumber(SectNum)) { - const XCOFFSectionHeader *Sec; - if (std::error_code EC = getSectionByNum(SectNum, Sec)) - return errorCodeToError(EC); - if (Sec->Flags == XCOFF::STYP_DEBUG) { - llvm_unreachable("Not yet implemented!"); - } - } uint32_t Offset = SymEntPtr->NameInStrTbl.Offset; // The byte offset is relative to the start of the string table // or .debug section. @@ -311,7 +304,7 @@ uint8_t XCOFFObjectFile::getBytesInAddress() const { // Only support 32-bit object files for now ... - assert(getFileHeaderSize() == XCOFF32FileHeaderSize); + assert(getFileHeaderSize() == XCOFF32FileHeaderSize); return 4; } @@ -383,9 +376,7 @@ return FileHdrPtr->NumberOfSections; } -int32_t XCOFFObjectFile::getTimeStamp() const { - return FileHdrPtr->TimeStamp; -} +int32_t XCOFFObjectFile::getTimeStamp() const { return FileHdrPtr->TimeStamp; } uint32_t XCOFFObjectFile::getSymbolTableOffset() const { return FileHdrPtr->SymbolTableOffset; @@ -405,10 +396,6 @@ return FileHdrPtr->AuxHeaderSize; } -uint16_t XCOFFObjectFile::getFlags() const { - return FileHdrPtr->Flags; -} - XCOFFObjectFile::XCOFFObjectFile(MemoryBufferRef Object, std::error_code &EC) : ObjectFile(Binary::ID_XCOFF32, Object) {