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