[PATCH] D61532: implement of the parsing symbol table for xcoffobjfile and output as yaml format
Digger via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue May 14 13:21:04 PDT 2019
DiggerLin updated this revision to Diff 199502.
DiggerLin marked 10 inline comments as done.
DiggerLin added a comment.
changed code based on the comment
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D61532/new/
https://reviews.llvm.org/D61532
Files:
llvm/include/llvm/Object/XCOFFObjectFile.h
llvm/lib/Object/XCOFFObjectFile.cpp
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) {
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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D61532.199502.patch
Type: text/x-patch
Size: 2706 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190514/a96187e4/attachment.bin>
More information about the llvm-commits
mailing list