[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);
----------------
jh7370 wrote:
```suggestion
void printBinary(StringRef Name, ArrayRef<uint8_t> Data);
```
It's not obvious what is meant by `B` in general, since single-letter variable names are largely meaningless. Let's give it a concrete name.
https://github.com/llvm/llvm-project/pull/105682
More information about the llvm-commits
mailing list