--- /dev/null
+Index: llvm/include/llvm/Object/XCOFFObjectFile.h
+===================================================================
+--- llvm/include/llvm/Object/XCOFFObjectFile.h
++++ llvm/include/llvm/Object/XCOFFObjectFile.h
+@@ -113,7 +113,12 @@
+ };
+
+ struct XCOFFCsectAuxEnt32 {
+- support::ubig32_t SectionLen;
++ support::ubig32_t
++ SectionOrLength; // If the symbol type is XTY_SD or XTY_CM, the csect
++ // length.
++ // If the symbol type is XTY_LD, the symbol table
++ // index of the containing csect.
++ // If the symbol type is XTY_ER, 0.
+ support::ubig32_t ParameterHashIndex;
+ support::ubig16_t TypeChkSectNum;
+ uint8_t SymbolAlignmentAndType;
+Index: llvm/tools/llvm-readobj/XCOFFDumper.cpp
+===================================================================
+--- llvm/tools/llvm-readobj/XCOFFDumper.cpp
++++ llvm/tools/llvm-readobj/XCOFFDumper.cpp
+@@ -213,9 +213,9 @@
+ W.printNumber("Index",
+ Obj.getSymbolIndex(reinterpret_cast<uintptr_t>(AuxEntPtr)));
+ if ((AuxEntPtr->SymbolAlignmentAndType & SymbolTypeMask) == XCOFF::XTY_LD)
+- W.printNumber("ContainingCsectSymbolIndex", AuxEntPtr->SectionLen);
++ W.printNumber("ContainingCsectSymbolIndex", AuxEntPtr->SectionOrLength);
+ else
+- W.printNumber("SectionLen", AuxEntPtr->SectionLen);
++ W.printNumber("SectionLen", AuxEntPtr->SectionOrLength);
+ W.printHex("ParameterHashIndex", AuxEntPtr->ParameterHashIndex);
+ W.printHex("TypeChkSectNum", AuxEntPtr->TypeChkSectNum);
+ // Print out symbol alignment and type.
};
struct XCOFFCsectAuxEnt32 {
- support::ubig32_t SectionLen;
+ support::ubig32_t
+ SectionOrLength; // If the symbol type is XTY_SD or XTY_CM, the csect
+ // length.
+ // If the symbol type is XTY_LD, the symbol table
+ // index of the containing csect.
+ // If the symbol type is XTY_ER, 0.
support::ubig32_t ParameterHashIndex;
support::ubig16_t TypeChkSectNum;
uint8_t SymbolAlignmentAndType;
W.printNumber("Index",
Obj.getSymbolIndex(reinterpret_cast<uintptr_t>(AuxEntPtr)));
if ((AuxEntPtr->SymbolAlignmentAndType & SymbolTypeMask) == XCOFF::XTY_LD)
- W.printNumber("ContainingCsectSymbolIndex", AuxEntPtr->SectionLen);
+ W.printNumber("ContainingCsectSymbolIndex", AuxEntPtr->SectionOrLength);
else
- W.printNumber("SectionLen", AuxEntPtr->SectionLen);
+ W.printNumber("SectionLen", AuxEntPtr->SectionOrLength);
W.printHex("ParameterHashIndex", AuxEntPtr->ParameterHashIndex);
W.printHex("TypeChkSectNum", AuxEntPtr->TypeChkSectNum);
// Print out symbol alignment and type.