LLVM: include/llvm/Object/XCOFFObjectFile.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13#ifndef LLVM_OBJECT_XCOFFOBJECTFILE_H
14#define LLVM_OBJECT_XCOFFOBJECTFILE_H
15
23#include
24
25namespace llvm {
27
29
43
57
61
62public:
64 return static_cast<const T *>(this)->FlagAndTDataAlignment &
66 }
67
69 return static_cast<const T *>(this)->FlagAndTDataAlignment &
71 }
72
75 return static_cast<const T *>(this)->EntryPointAddr;
76 }
77};
78
125
158
160
161
163
164
165
166
168
169public:
174};
175
176
183
196
210
230
243
250
257
280
296
298 union {
301 };
304
306 assert(Reason == 0 && "Get symbol table index of the function only when "
307 "the e_reason field is 0.");
309 }
310
312 assert(Reason != 0 && "Zero is not a valid trap exception reason code.");
314 }
317};
318
321
322
327
332
342
353
355public:
359
362
363
364
365
366
367
371
373 assert(Entry32 && "32-bit interface called on 64-bit object file.");
374 return Entry32->SectionOrLength;
375 }
376
378 assert(Entry64 && "64-bit interface called on 32-bit object file.");
379 return (static_cast<uint64_t>(Entry64->SectionOrLengthHighByte) << 32) |
380 Entry64->SectionOrLengthLowByte;
381 }
382
383#define GETVALUE(X) Entry32 ? Entry32->X : Entry64->X
384
386 return GETVALUE(ParameterHashIndex);
387 }
388
390
394
396 return Entry32 ? reinterpret_cast<uintptr_t>(Entry32)
397 : reinterpret_cast<uintptr_t>(Entry64);
398 }
399
404
408
410
412 assert(Entry32 && "32-bit interface called on 64-bit object file.");
413 return Entry32->StabInfoIndex;
414 }
415
417 assert(Entry32 && "32-bit interface called on 64-bit object file.");
418 return Entry32->StabSectNum;
419 }
420
422 assert(Entry64 && "64-bit interface called on 32-bit object file.");
423 return Entry64->AuxType;
424 }
425
427 return GETVALUE(SymbolAlignmentAndType);
428 }
429
430#undef GETVALUE
431
432private:
435};
436
451
458
466
474
482
489
495
502
509
511public:
514
515
517
519
520public:
523
524
526};
527
532
535
537
539private:
540 const void *FileHeader = nullptr;
541 const void *AuxiliaryHeader = nullptr;
542 const void *SectionHeaderTable = nullptr;
543
544 const void *SymbolTblPtr = nullptr;
546
549 template const T *sectionHeaderTable() const;
550
551 size_t getFileHeaderSize() const;
552 size_t getSectionHeaderSize() const;
553
556 uintptr_t getSectionHeaderTableAddress() const;
557 uintptr_t getEndOfSymbolTableAddress() const;
558
561
562
563
564
565 const char *getSectionNameInternal(DataRefImpl Sec) const;
566
567 static bool isReservedSectionNumber(int16_t SectionNumber);
568
569
570
571
575
576
577
580
581
584
585 void checkSectionAddress(uintptr_t Addr, uintptr_t TableAddr) const;
586
587public:
589 std::numeric_limits<uint64_t>::max();
590
591
596
599
600 bool is64Bit() const override;
608
622
626
628
629
630
631
637
647
648
649
652
655
657
661
662
666 uint16_t getNumberOfSections() const;
667 int32_t getTimeStamp() const;
668
669
670
671 uint32_t getSymbolTableOffset32() const;
672 uint64_t getSymbolTableOffset64() const;
673
674
675
676 int32_t getRawNumberOfSymbolTableEntries32() const;
677
678
679 uint32_t getLogicalNumberOfSymbolTableEntries32() const;
680
681 uint32_t getNumberOfSymbolTableEntries64() const;
682
683
684
685 uint32_t getNumberOfSymbolTableEntries() const;
686
687 uint32_t getSymbolIndex(uintptr_t SymEntPtr) const;
690 return reinterpret_cast<uintptr_t>(SymbolTblPtr) +
692 }
693 uintptr_t getSymbolEntryAddressByIndex(uint32_t SymbolTableIndex) const;
695
697 uint16_t getOptionalHeaderSize() const;
699
700
703
706
709
710 void checkSymbolEntryPointer(uintptr_t SymbolEntPtr) const;
711
712
713 template
716
717 template <typename Shdr, typename Reloc>
719
720
722
723
724 template
726
727
729
730
731 StringRef getStringTable() const;
732
733 const XCOFF::SymbolAuxType *getSymbolAuxType(uintptr_t AuxEntryAddress) const;
734
735 static uintptr_t getAdvancedSymbolEntryAddress(uintptr_t CurrentAddress,
737
739
740 std::optional tryGetCPUName() const override;
741};
742
747
753
754 union {
757 };
758
761
762 union {
765 };
766
769};
770
775
776 union {
779 };
780
783};
784
791
793public:
795
798 : SymbolRef(SymEntDataRef, OwningObjectPtr) {
799 assert(OwningObjectPtr && "OwningObjectPtr cannot be nullptr!");
800 assert(SymEntDataRef.p != 0 &&
801 "Symbol table entry pointer cannot be nullptr!");
802 }
803
807
811
815
820
825
829
830#define GETVALUE(X) \
831 getObject()->is64Bit() \
832 ? reinterpret_cast<const XCOFFSymbolEntry64 *>(getRawDataRefImpl().p)->X \
833 : reinterpret_cast<const XCOFFSymbolEntry32 *>(getRawDataRefImpl().p)->X
834
836
838
841 "This interface is for C_FILE only.");
842 return GETVALUE(CFileLanguageIdAndTypeId.LanguageId);
843 }
844
847 "This interface is for C_FILE only.");
848 return GETVALUE(CFileLanguageIdAndTypeId.CpuTypeId);
849 }
850
852
854
855#undef GETVALUE
856
860
865
866private:
869 }
870};
871
873public:
876
879
883
887};
888
889class TBVectorExt {
892
894
895public:
903};
904
905
906
907
908class XCOFFTracebackTable {
909 const uint8_t *const TBPtr;
910 bool Is64BitObj;
911 std::optional<SmallString<32>> ParmsType;
912 std::optional<uint32_t> TraceBackTableOffset;
913 std::optional<uint32_t> HandlerMask;
914 std::optional<uint32_t> NumOfCtlAnchors;
915 std::optional<SmallVector<uint32_t, 8>> ControlledStorageInfoDisp;
916 std::optional FunctionName;
917 std::optional<uint8_t> AllocaRegister;
918 std::optional VecExt;
919 std::optional<uint8_t> ExtensionTable;
920 std::optional<uint64_t> EhInfoDisp;
921
923 bool Is64Bit = false);
924
925public:
926
927
928
929
930
931
932
933
934
935
936
937
938
943
952
959
963
967
969
972
973 const std::optional<SmallString<32>> &getParmsType() const {
974 return ParmsType;
975 }
977 return TraceBackTableOffset;
978 }
979 const std::optional<uint32_t> &getHandlerMask() const { return HandlerMask; }
981 return NumOfCtlAnchors;
982 }
983 const std::optional<SmallVector<uint32_t, 8>> &
985 return ControlledStorageInfoDisp;
986 }
988 return FunctionName;
989 }
991 return AllocaRegister;
992 }
993 const std::optional &getVectorExt() const { return VecExt; }
995 return ExtensionTable;
996 }
997 const std::optional<uint64_t> &getEhInfoDisp() const { return EhInfoDisp; }
998};
999
1001}
1002}
1003
1004#endif
assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")
static GCRegistry::Add< OcamlGC > B("ocaml", "ocaml 3.10-compatible GC")
static StringRef getSymbolName(SymbolKind SymKind)
#define LLVM_TEMPLATE_ABI
static bool isDebugSection(const SectionBase &Sec)
static FeatureBitset getFeatures(MCSubtargetInfo &STI, StringRef CPU, StringRef TuneCPU, StringRef FS, ArrayRef< StringRef > ProcNames, ArrayRef< SubtargetSubTypeKV > ProcDesc, ArrayRef< SubtargetFeatureKV > ProcFeatures)
static uint32_t getSectionFlags(const MachOObjectFile &O, DataRefImpl Sec)
This file defines the SmallString class.
This file defines the SmallVector class.
static unsigned getSymbolSectionID(const ObjectFile &O, SymbolRef Sym)
static uint32_t getFlags(const Symbol *Sym)
static std::unique_ptr< PDBSymbol > getSymbolType(const PDBSymbol &Symbol)
static bool is64Bit(const char *name)
#define GETVALUE(X)
Definition XCOFFObjectFile.h:383
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...
Lightweight error class with error context and mandatory checking.
Tagged union holding either a T or a Error.
SmallString - A SmallString is just a SmallVector with methods and accessors that make it work better...
This class consists of common code factored out of the SmallVector class to reduce code duplication b...
StringRef - Represent a constant reference to a string, i.e.
The instances of the Type class are immutable: once they are created, they are never changed.
LLVM Value Representation.
A range adaptor for a pair of iterators.
const SymbolicFile * getObject() const
DataRefImpl getRawDataRefImpl() const
static Expected< std::unique_ptr< ObjectFile > > createXCOFFObjectFile(MemoryBufferRef Object, unsigned FileType)
ObjectFile(unsigned int Type, MemoryBufferRef Source)
This is a value type class that represents a single symbol in the list of symbols in the object file.
const ObjectFile * getObject() const
virtual bool is64Bit() const =0
SmallString< 32 > getVectorParmsInfo() const
Definition XCOFFObjectFile.h:902
LLVM_ABI uint8_t getNumberOfVectorParms() const
static LLVM_ABI Expected< TBVectorExt > create(StringRef TBvectorStrRef)
LLVM_ABI bool isVRSavedOnStack() const
LLVM_ABI uint8_t getNumberOfVRSaved() const
LLVM_ABI bool hasVarArgs() const
LLVM_ABI bool hasVMXInstruction() const
XCOFF::StorageMappingClass getStorageMappingClass() const
Definition XCOFFObjectFile.h:391
bool isLabel() const
Definition XCOFFObjectFile.h:409
XCOFFCsectAuxRef(const XCOFFCsectAuxEnt32 *Entry32)
Definition XCOFFObjectFile.h:360
uint32_t getSectionOrLength32() const
Definition XCOFFObjectFile.h:372
uint16_t getStabSectNum32() const
Definition XCOFFObjectFile.h:416
uint32_t getParameterHashIndex() const
Definition XCOFFObjectFile.h:385
uint8_t getSymbolType() const
Definition XCOFFObjectFile.h:405
static constexpr uint8_t SymbolTypeMask
Definition XCOFFObjectFile.h:356
uintptr_t getEntryAddress() const
Definition XCOFFObjectFile.h:395
uint64_t getSectionOrLength() const
Definition XCOFFObjectFile.h:368
uint16_t getAlignmentLog2() const
Definition XCOFFObjectFile.h:400
XCOFFCsectAuxRef(const XCOFFCsectAuxEnt64 *Entry64)
Definition XCOFFObjectFile.h:361
uint32_t getStabInfoIndex32() const
Definition XCOFFObjectFile.h:411
static constexpr size_t SymbolAlignmentBitOffset
Definition XCOFFObjectFile.h:358
uint64_t getSectionOrLength64() const
Definition XCOFFObjectFile.h:377
static constexpr uint8_t SymbolAlignmentMask
Definition XCOFFObjectFile.h:357
XCOFF::SymbolAuxType getAuxType64() const
Definition XCOFFObjectFile.h:421
uint16_t getTypeChkSectNum() const
Definition XCOFFObjectFile.h:389
uint8_t getSymbolAlignmentAndType() const
Definition XCOFFObjectFile.h:426
Definition XCOFFObjectFile.h:538
uint8_t getBytesInAddress() const override
The number of bytes used to represent an address in this object file format.
const void * getPointerToSymbolTable() const
Definition XCOFFObjectFile.h:656
section_iterator section_begin() const override
relocation_iterator section_rel_end(DataRefImpl Sec) const override
const XCOFFAuxiliaryHeader32 * auxiliaryHeader32() const
void getRelocationTypeName(DataRefImpl Rel, SmallVectorImpl< char > &Result) const override
Expected< uint64_t > getStartAddress() const override
Expected< uint32_t > getSymbolFlags(DataRefImpl Symb) const override
bool isSectionVirtual(DataRefImpl Sec) const override
bool isSectionBSS(DataRefImpl Sec) const override
static bool classof(const Binary *B)
Definition XCOFFObjectFile.h:738
bool isSectionData(DataRefImpl Sec) const override
uint64_t getRelocationOffset(DataRefImpl Rel) const override
uint64_t getSectionSize(DataRefImpl Sec) const override
symbol_iterator getRelocationSymbol(DataRefImpl Rel) const override
iterator_range< xcoff_symbol_iterator > xcoff_symbol_iterator_range
Definition XCOFFObjectFile.h:597
const XCOFFAuxiliaryHeader64 * auxiliaryHeader64() const
uint64_t getCommonSymbolSizeImpl(DataRefImpl Symb) const override
basic_symbol_iterator symbol_begin() const override
uint64_t getSymbolValueImpl(DataRefImpl Symb) const override
void moveRelocationNext(DataRefImpl &Rel) const override
StringRef getFileFormatName() const override
bool isSectionCompressed(DataRefImpl Sec) const override
static constexpr uint64_t InvalidRelocOffset
Definition XCOFFObjectFile.h:588
uintptr_t getSymbolByIndex(uint32_t Idx) const
Definition XCOFFObjectFile.h:689
uint64_t getSectionAddress(DataRefImpl Sec) const override
Expected< ArrayRef< uint8_t > > getSectionContents(DataRefImpl Sec) const override
relocation_iterator section_rel_begin(DataRefImpl Sec) const override
uint64_t getSectionAlignment(DataRefImpl Sec) const override
StringRef mapDebugSectionName(StringRef Name) const override
Maps a debug section name to a standard DWARF section name.
basic_symbol_iterator symbol_end() const override
Triple::ArchType getArch() const override
uint64_t getRelocationType(DataRefImpl Rel) const override
bool isSectionText(DataRefImpl Sec) const override
Expected< StringRef > getRawData(const char *Start, uint64_t Size, StringRef Name) const
void moveSymbolNext(DataRefImpl &Symb) const override
Expected< ArrayRef< Reloc > > relocations(const Shdr &Sec) const
uint64_t getSectionIndex(DataRefImpl Sec) const override
bool isRelocatableObject() const override
True if this is a relocatable object (.o/.obj).
void moveSectionNext(DataRefImpl &Sec) const override
Expected< section_iterator > getSymbolSection(DataRefImpl Symb) const override
section_iterator section_end() const override
xcoff_symbol_iterator_range symbols() const
uint32_t getSymbolAlignment(DataRefImpl Symb) const override
Expected< uint64_t > getSymbolAddress(DataRefImpl Symb) const override
Definition XCOFFObjectFile.h:792
LLVM_ABI Expected< XCOFFCsectAuxRef > getXCOFFCsectAuxRef() const
LLVM_ABI Expected< bool > isFunction() const
int16_t getSectionNumber() const
Definition XCOFFObjectFile.h:835
LLVM_ABI bool isCsectSymbol() const
uint64_t getSize() const
Definition XCOFFObjectFile.h:826
const XCOFFSymbolEntry64 * getSymbol64() const
Definition XCOFFObjectFile.h:808
XCOFFSymbolRef(DataRefImpl SymEntDataRef, const XCOFFObjectFile *OwningObjectPtr)
Definition XCOFFObjectFile.h:796
const XCOFFSymbolEntry32 * getSymbol32() const
Definition XCOFFObjectFile.h:804
uint16_t getSymbolType() const
Definition XCOFFObjectFile.h:837
uint32_t getValue32() const
Definition XCOFFObjectFile.h:816
uint64_t getValue() const
Definition XCOFFObjectFile.h:812
LLVM_ABI Expected< StringRef > getName() const
uint8_t getCPUTypeIddForCFile() const
Definition XCOFFObjectFile.h:845
uint64_t getValue64() const
Definition XCOFFObjectFile.h:821
@ NAME_IN_STR_TBL_MAGIC
Definition XCOFFObjectFile.h:794
uint8_t getNumberOfAuxEntries() const
Definition XCOFFObjectFile.h:853
uintptr_t getEntryAddress() const
Definition XCOFFObjectFile.h:857
XCOFF::StorageClass getStorageClass() const
Definition XCOFFObjectFile.h:851
uint8_t getLanguageIdForCFile() const
Definition XCOFFObjectFile.h:839
LLVM_ABI bool isOutOfLineEpilogOrPrologue() const
const std::optional< StringRef > & getFunctionName() const
Definition XCOFFObjectFile.h:987
const std::optional< uint64_t > & getEhInfoDisp() const
Definition XCOFFObjectFile.h:997
const std::optional< uint32_t > & getTraceBackTableOffset() const
Definition XCOFFObjectFile.h:976
LLVM_ABI uint8_t getNumOfGPRsSaved() const
LLVM_ABI bool hasTraceBackTableOffset() const
LLVM_ABI bool hasParmsOnStack() const
LLVM_ABI bool hasExtensionTable() const
const std::optional< SmallVector< uint32_t, 8 > > & getControlledStorageInfoDisp()
Definition XCOFFObjectFile.h:984
const std::optional< uint8_t > & getExtensionTable() const
Definition XCOFFObjectFile.h:994
const std::optional< SmallString< 32 > > & getParmsType() const
Definition XCOFFObjectFile.h:973
LLVM_ABI uint8_t getOnConditionDirective() const
LLVM_ABI uint8_t getLanguageID() const
LLVM_ABI uint8_t getNumOfFPRsSaved() const
LLVM_ABI bool isFloatingPointOperationLogOrAbortEnabled() const
LLVM_ABI bool isLRSaved() const
LLVM_ABI uint8_t getNumberOfFPParms() const
LLVM_ABI bool isFuncNamePresent() const
const std::optional< uint32_t > & getNumOfCtlAnchors()
Definition XCOFFObjectFile.h:980
LLVM_ABI bool isAllocaUsed() const
LLVM_ABI bool isGlobalLinkage() const
const std::optional< uint32_t > & getHandlerMask() const
Definition XCOFFObjectFile.h:979
LLVM_ABI bool isInternalProcedure() const
LLVM_ABI bool hasControlledStorage() const
LLVM_ABI bool isInterruptHandler() const
const std::optional< TBVectorExt > & getVectorExt() const
Definition XCOFFObjectFile.h:993
LLVM_ABI bool isFixup() const
LLVM_ABI bool isFloatingPointPresent() const
LLVM_ABI uint8_t getVersion() const
static LLVM_ABI Expected< XCOFFTracebackTable > create(const uint8_t *Ptr, uint64_t &Size, bool Is64Bits=false)
Parse an XCOFF Traceback Table from Ptr with Size bytes.
LLVM_ABI bool isBackChainStored() const
const std::optional< uint8_t > & getAllocaRegister() const
Definition XCOFFObjectFile.h:990
LLVM_ABI uint8_t getNumberOfFixedParms() const
LLVM_ABI bool isCRSaved() const
LLVM_ABI bool isTOCless() const
LLVM_ABI bool hasVectorInfo() const
const SymbolRef * operator->() const
const SymbolRef & operator*() const
symbol_iterator(SymbolRef Sym)
Definition XCOFFObjectFile.h:872
const XCOFFSymbolRef * operator->() const
Definition XCOFFObjectFile.h:880
const XCOFFSymbolRef & operator*() const
Definition XCOFFObjectFile.h:884
xcoff_symbol_iterator(const XCOFFSymbolRef *Symbol)
Definition XCOFFObjectFile.h:877
xcoff_symbol_iterator(const basic_symbol_iterator &B)
Definition XCOFFObjectFile.h:874
This provides a very simple, boring adaptor for a begin and end iterator into a range type.
constexpr size_t NameSize
StorageMappingClass
Storage Mapping Class definitions.
constexpr size_t SymbolTableEntrySize
constexpr size_t FileNamePadSize
@ XTY_LD
Label definition.
static constexpr const StringLiteral & getSectionName(DebugSectionKind SectionKind)
Return the name of the section.
LLVM_ABI bool doesXCOFFTracebackTableBegin(ArrayRef< uint8_t > Bytes)
content_iterator< SectionRef > section_iterator
content_iterator< BasicSymbolRef > basic_symbol_iterator
ExceptionSectionEntry< support::ubig64_t > ExceptionSectionEntry64
Definition XCOFFObjectFile.h:320
content_iterator< RelocationRef > relocation_iterator
ExceptionSectionEntry< support::ubig32_t > ExceptionSectionEntry32
Definition XCOFFObjectFile.h:319
detail::packed_endian_specific_integral< uint64_t, llvm::endianness::big, unaligned > ubig64_t
detail::packed_endian_specific_integral< int32_t, llvm::endianness::big, unaligned > big32_t
detail::packed_endian_specific_integral< uint16_t, llvm::endianness::big, unaligned > ubig16_t
detail::packed_endian_specific_integral< int16_t, llvm::endianness::big, unaligned > big16_t
detail::packed_endian_specific_integral< uint32_t, llvm::endianness::big, unaligned > ubig32_t
detail::packed_endian_specific_integral< int64_t, llvm::endianness::big, unaligned > big64_t
This is an optimization pass for GlobalISel generic memory operations.
FunctionAddr VTableAddr uintptr_t uintptr_t Version
@ Ref
The access may reference the value stored in memory.
decltype(auto) cast(const From &Val)
cast - Return the argument parameter cast to the specified type.
Definition XCOFFObjectFile.h:743
uint8_t CpuTypeId
Definition XCOFFObjectFile.h:745
uint8_t LanguageId
Definition XCOFFObjectFile.h:744
Definition XCOFFObjectFile.h:297
support::ubig32_t SymbolIdx
Definition XCOFFObjectFile.h:299
uint8_t Reason
Definition XCOFFObjectFile.h:303
uint8_t LangId
Definition XCOFFObjectFile.h:302
support::ubig32_t TrapInstAddr
Definition XCOFFObjectFile.h:300
uint8_t getReason() const
Definition XCOFFObjectFile.h:316
uint64_t getTrapInstAddr() const
Definition XCOFFObjectFile.h:311
uint8_t getLangID() const
Definition XCOFFObjectFile.h:315
uint32_t getSymbolIndex() const
Definition XCOFFObjectFile.h:305
Definition XCOFFObjectFile.h:244
support::big32_t SymbolIndex
Definition XCOFFObjectFile.h:246
support::ubig16_t Type
Definition XCOFFObjectFile.h:247
support::ubig32_t VirtualAddr
Definition XCOFFObjectFile.h:245
support::big16_t SectionNum
Definition XCOFFObjectFile.h:248
Definition XCOFFObjectFile.h:251
support::ubig64_t VirtualAddr
Definition XCOFFObjectFile.h:252
support::big16_t SectionNum
Definition XCOFFObjectFile.h:254
support::big32_t SymbolIndex
Definition XCOFFObjectFile.h:255
support::ubig16_t Type
Definition XCOFFObjectFile.h:253
Definition XCOFFObjectFile.h:214
support::ubig32_t Offset
Definition XCOFFObjectFile.h:216
support::big32_t IsNameInStrTbl
Definition XCOFFObjectFile.h:215
Definition XCOFFObjectFile.h:213
XCOFF::StorageClass StorageClass
Definition XCOFFObjectFile.h:223
support::ubig32_t Value
Definition XCOFFObjectFile.h:220
support::big16_t SectionNumber
Definition XCOFFObjectFile.h:221
char SymbolName[XCOFF::NameSize]
Definition XCOFFObjectFile.h:219
support::ubig32_t ParameterTypeCheck
Definition XCOFFObjectFile.h:225
support::ubig32_t ImportFileID
Definition XCOFFObjectFile.h:224
uint8_t SymbolType
Definition XCOFFObjectFile.h:222
Definition XCOFFObjectFile.h:231
uint8_t SymbolType
Definition XCOFFObjectFile.h:235
support::ubig32_t ParameterTypeCheck
Definition XCOFFObjectFile.h:238
XCOFF::StorageClass StorageClass
Definition XCOFFObjectFile.h:236
support::big16_t SectionNumber
Definition XCOFFObjectFile.h:234
support::ubig64_t Value
Definition XCOFFObjectFile.h:232
support::ubig32_t Offset
Definition XCOFFObjectFile.h:233
support::ubig32_t ImportFileID
Definition XCOFFObjectFile.h:237
Definition XCOFFObjectFile.h:483
uint8_t ReservedZeros1[2]
Definition XCOFFObjectFile.h:484
support::ubig16_t LineNumLo
Definition XCOFFObjectFile.h:486
support::ubig16_t LineNumHi
Definition XCOFFObjectFile.h:485
uint8_t ReservedZeros2[12]
Definition XCOFFObjectFile.h:487
Definition XCOFFObjectFile.h:490
XCOFF::SymbolAuxType AuxType
Definition XCOFFObjectFile.h:493
uint8_t Pad[13]
Definition XCOFFObjectFile.h:492
support::ubig32_t LineNum
Definition XCOFFObjectFile.h:491
Definition XCOFFObjectFile.h:333
support::ubig16_t TypeChkSectNum
Definition XCOFFObjectFile.h:336
support::ubig16_t StabSectNum
Definition XCOFFObjectFile.h:340
support::ubig32_t ParameterHashIndex
Definition XCOFFObjectFile.h:335
support::ubig32_t SectionOrLength
Definition XCOFFObjectFile.h:334
support::ubig32_t StabInfoIndex
Definition XCOFFObjectFile.h:339
XCOFF::StorageMappingClass StorageMappingClass
Definition XCOFFObjectFile.h:338
uint8_t SymbolAlignmentAndType
Definition XCOFFObjectFile.h:337
Definition XCOFFObjectFile.h:343
XCOFF::StorageMappingClass StorageMappingClass
Definition XCOFFObjectFile.h:348
support::ubig32_t SectionOrLengthLowByte
Definition XCOFFObjectFile.h:344
support::ubig16_t TypeChkSectNum
Definition XCOFFObjectFile.h:346
support::ubig32_t SectionOrLengthHighByte
Definition XCOFFObjectFile.h:349
support::ubig32_t ParameterHashIndex
Definition XCOFFObjectFile.h:345
uint8_t SymbolAlignmentAndType
Definition XCOFFObjectFile.h:347
uint8_t Pad
Definition XCOFFObjectFile.h:350
XCOFF::SymbolAuxType AuxType
Definition XCOFFObjectFile.h:351
Definition XCOFFObjectFile.h:475
uint8_t Pad
Definition XCOFFObjectFile.h:479
support::ubig32_t SizeOfFunction
Definition XCOFFObjectFile.h:477
support::big32_t SymIdxOfNextBeyond
Definition XCOFFObjectFile.h:478
support::ubig64_t OffsetToExceptionTbl
Definition XCOFFObjectFile.h:476
XCOFF::SymbolAuxType AuxType
Definition XCOFFObjectFile.h:480
Definition XCOFFObjectFile.h:438
support::big32_t Magic
Definition XCOFFObjectFile.h:439
char NamePad[XCOFF::FileNamePadSize]
Definition XCOFFObjectFile.h:441
support::ubig32_t Offset
Definition XCOFFObjectFile.h:440
Definition XCOFFObjectFile.h:437
uint8_t ReservedZeros[2]
Definition XCOFFObjectFile.h:448
NameInStrTblType NameInStrTbl
Definition XCOFFObjectFile.h:445
XCOFF::SymbolAuxType AuxType
Definition XCOFFObjectFile.h:449
XCOFF::CFileStringType Type
Definition XCOFFObjectFile.h:447
char Name[XCOFF::NameSize+XCOFF::FileNamePadSize]
Definition XCOFFObjectFile.h:444
Definition XCOFFObjectFile.h:459
uint8_t Pad[2]
Definition XCOFFObjectFile.h:464
support::ubig32_t SizeOfFunction
Definition XCOFFObjectFile.h:461
support::ubig32_t PtrToLineNum
Definition XCOFFObjectFile.h:462
support::ubig32_t OffsetToExceptionTbl
Definition XCOFFObjectFile.h:460
support::big32_t SymIdxOfNextBeyond
Definition XCOFFObjectFile.h:463
Definition XCOFFObjectFile.h:467
uint8_t Pad
Definition XCOFFObjectFile.h:471
support::big32_t SymIdxOfNextBeyond
Definition XCOFFObjectFile.h:470
support::ubig64_t PtrToLineNum
Definition XCOFFObjectFile.h:468
XCOFF::SymbolAuxType AuxType
Definition XCOFFObjectFile.h:472
support::ubig32_t SizeOfFunction
Definition XCOFFObjectFile.h:469
Definition XCOFFObjectFile.h:533
Definition XCOFFObjectFile.h:534
Definition XCOFFObjectFile.h:510
XCOFF::RelocationType Type
Definition XCOFFObjectFile.h:518
AddressType VirtualAddress
Definition XCOFFObjectFile.h:512
bool isFixupIndicated() const
support::ubig32_t SymbolIndex
Definition XCOFFObjectFile.h:513
uint8_t getRelocatedLength() const
bool isRelocationSigned() const
uint8_t Info
Definition XCOFFObjectFile.h:516
Definition XCOFFObjectFile.h:496
uint8_t Pad1[4]
Definition XCOFFObjectFile.h:498
support::ubig32_t LengthOfSectionPortion
Definition XCOFFObjectFile.h:497
support::ubig32_t NumberOfRelocEnt
Definition XCOFFObjectFile.h:499
uint8_t Pad2[6]
Definition XCOFFObjectFile.h:500
Definition XCOFFObjectFile.h:503
uint8_t Pad
Definition XCOFFObjectFile.h:506
XCOFF::SymbolAuxType AuxType
Definition XCOFFObjectFile.h:507
support::ubig64_t LengthOfSectionPortion
Definition XCOFFObjectFile.h:504
support::ubig64_t NumberOfRelocEnt
Definition XCOFFObjectFile.h:505
Definition XCOFFObjectFile.h:452
uint8_t Pad[10]
Definition XCOFFObjectFile.h:456
support::ubig32_t SectionLength
Definition XCOFFObjectFile.h:453
support::ubig16_t NumberOfLineNum
Definition XCOFFObjectFile.h:455
support::ubig16_t NumberOfRelocEnt
Definition XCOFFObjectFile.h:454
Definition XCOFFObjectFile.h:328
const char * Data
Definition XCOFFObjectFile.h:330
uint32_t Size
Definition XCOFFObjectFile.h:329
Definition XCOFFObjectFile.h:749
support::big32_t Magic
Definition XCOFFObjectFile.h:750
support::ubig32_t Offset
Definition XCOFFObjectFile.h:751
Definition XCOFFObjectFile.h:748
uint8_t NumberOfAuxEntries
Definition XCOFFObjectFile.h:768
support::ubig16_t SymbolType
Definition XCOFFObjectFile.h:763
support::ubig32_t Value
Definition XCOFFObjectFile.h:759
CFileLanguageIdAndTypeIdType CFileLanguageIdAndTypeId
Definition XCOFFObjectFile.h:764
XCOFF::StorageClass StorageClass
Definition XCOFFObjectFile.h:767
NameInStrTblType NameInStrTbl
Definition XCOFFObjectFile.h:756
char SymbolName[XCOFF::NameSize]
Definition XCOFFObjectFile.h:755
support::big16_t SectionNumber
Definition XCOFFObjectFile.h:760
Definition XCOFFObjectFile.h:771
support::big16_t SectionNumber
Definition XCOFFObjectFile.h:774
support::ubig32_t Offset
Definition XCOFFObjectFile.h:773
support::ubig64_t Value
Definition XCOFFObjectFile.h:772
uint8_t NumberOfAuxEntries
Definition XCOFFObjectFile.h:782
support::ubig16_t SymbolType
Definition XCOFFObjectFile.h:777
CFileLanguageIdAndTypeIdType CFileLanguageIdAndTypeId
Definition XCOFFObjectFile.h:778
XCOFF::StorageClass StorageClass
Definition XCOFFObjectFile.h:781