[llvm] [llvm-objdump] Implement decoding auxiliary header for xcoff with llvm-objdump --private-headers (PR #105682)
James Henderson via llvm-commits
llvm-commits at lists.llvm.org
Wed Oct 30 02:14:22 PDT 2024
================
@@ -41,14 +42,34 @@ class XCOFFDumper : public objdump::Dumper {
private:
void printPrivateHeaders() override;
void printFileHeader();
- FormattedString formatName(StringRef Name);
+ void printAuxiliaryHeader();
+ void printAuxiliaryHeader(const XCOFFAuxiliaryHeader32 *AuxHeader);
+ void printAuxiliaryHeader(const XCOFFAuxiliaryHeader64 *AuxHeader);
+ template <typename MemberOfAuxiliaryHeader, typename XCOFFAuxiliaryHeader>
+ void printAuxMemberHelper(PrintStyle Style, const char *MemberName,
+ const MemberOfAuxiliaryHeader &Member,
+ const XCOFFAuxiliaryHeader *AuxHeader,
+ uint16_t AuxSize, uint16_t &PartialFieldOffset,
+ const char *&PartialFieldName);
+ template <typename XCOFFAuxiliaryHeader>
+ void checkAndPrintAuxHeaderParseError(const char *PartialFieldName,
+ uint16_t PartialFieldOffset,
+ uint16_t AuxSize,
+ XCOFFAuxiliaryHeader &AuxHeader);
+
+ void printBinary(StringRef Name, ArrayRef<uint8_t> B);
void printHex(StringRef Name, uint64_t Value);
void printNumber(StringRef Name, uint64_t Value);
+ FormattedString formatName(StringRef Name);
void printStrHex(StringRef Name, StringRef Str, uint64_t Value);
void setWidth(unsigned W) { Width = W; };
+ unsigned getWidth() { return Width; }
----------------
jh7370 wrote:
This getter is no longer needed, as the code can just access the `Width` member directly.
https://github.com/llvm/llvm-project/pull/105682
More information about the llvm-commits
mailing list