LLVM: include/llvm/Object/GOFFObjectFile.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13
14#ifndef LLVM_OBJECT_GOFFOBJECTFILE_H
15#define LLVM_OBJECT_GOFFOBJECTFILE_H
16
27
28namespace llvm {
29
31
34
37
39 EsdNamesCache;
40
42
43
46
47public:
49
51 static inline bool classof(const Binary *V) { return V->isGOFF(); }
54
56
58
60
62
64
65 void moveSymbolNext(DataRefImpl &Symb) const override;
68
72
73 bool isSectionNoLoad(DataRefImpl Sec) const;
74 bool isSectionReadOnlyData(DataRefImpl Sec) const;
75 bool isSectionZeroInit(DataRefImpl Sec) const;
76
77private:
78
87
89 bool isSymbolUnresolved(DataRefImpl Symb) const;
90 bool isSymbolIndirect(DataRefImpl Symb) const;
91
92
93 void moveSectionNext(DataRefImpl &Sec) const override;
98 getSectionContents(DataRefImpl Sec) const override;
100 uint64_t getSectionAlignment(DataRefImpl Sec) const override;
101 bool isSectionCompressed(DataRefImpl Sec) const override { return false; }
102 bool isSectionText(DataRefImpl Sec) const override;
103 bool isSectionData(DataRefImpl Sec) const override;
104 bool isSectionBSS(DataRefImpl Sec) const override { return false; }
105 bool isSectionVirtual(DataRefImpl Sec) const override { return false; }
108 }
111 }
112
113 const uint8_t *getSectionEdEsdRecord(DataRefImpl &Sec) const;
114 const uint8_t *getSectionPrEsdRecord(DataRefImpl &Sec) const;
115 const uint8_t *getSectionEdEsdRecord(uint32_t SectionIndex) const;
116 const uint8_t *getSectionPrEsdRecord(uint32_t SectionIndex) const;
117 uint32_t getSectionDefEsdId(DataRefImpl &Sec) const;
118
119
120 void moveRelocationNext(DataRefImpl &Rel) const override {}
121 uint64_t getRelocationOffset(DataRefImpl Rel) const override { return 0; }
122 symbol_iterator getRelocationSymbol(DataRefImpl Rel) const override {
123 DataRefImpl Temp;
125 }
126 uint64_t getRelocationType(DataRefImpl Rel) const override { return 0; }
127 void getRelocationTypeName(DataRefImpl Rel,
128 SmallVectorImpl &Result) const override {}
129};
130
132public:
136
140
144
148
152};
153
154}
155
156}
157
158#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)
This file provides utility functions for converting between EBCDIC-1047 and UTF-8.
This file defines the DenseMap class.
This file implements an indexed map.
static std::unique_ptr< PDBSymbol > getSymbolType(const PDBSymbol &Symbol)
Lightweight error class with error context and mandatory checking.
Tagged union holding either a T or a Error.
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.
StringRef - Represent a constant reference to a string, i.e.
Manages the enabling and disabling of subtarget specific features.
const SymbolicFile * getObject() const
DataRefImpl getRawDataRefImpl() const
Definition GOFFObjectFile.h:32
Triple::ArchType getArch() const override
Definition GOFFObjectFile.h:59
Expected< SubtargetFeatures > getFeatures() const override
Definition GOFFObjectFile.h:61
uint8_t getBytesInAddress() const override
The number of bytes used to represent an address in this object file format.
Definition GOFFObjectFile.h:55
GOFFObjectFile(MemoryBufferRef Object, Error &Err)
static bool classof(const Binary *V)
Definition GOFFObjectFile.h:51
bool is64Bit() const override
Definition GOFFObjectFile.h:69
StringRef getFileFormatName() const override
Definition GOFFObjectFile.h:57
friend class GOFFSymbolRef
Definition GOFFObjectFile.h:33
bool isRelocatableObject() const override
True if this is a relocatable object (.o/.obj).
Definition GOFFObjectFile.h:63
GOFFSymbolRef(const SymbolRef &B)
Definition GOFFObjectFile.h:133
Expected< SymbolRef::Type > getSymbolGOFFType() const
Definition GOFFObjectFile.h:145
Expected< uint32_t > getSymbolGOFFFlags() const
Definition GOFFObjectFile.h:141
uint64_t getSize() const
Definition GOFFObjectFile.h:149
const GOFFObjectFile * getObject() const
Definition GOFFObjectFile.h:137
ObjectFile(unsigned int Type, MemoryBufferRef Source)
const ObjectFile * getObject() const
static constexpr const StringLiteral & getSectionName(DebugSectionKind SectionKind)
Return the name of the section.
content_iterator< SectionRef > section_iterator
content_iterator< BasicSymbolRef > basic_symbol_iterator
content_iterator< RelocationRef > relocation_iterator
This is an optimization pass for GlobalISel generic memory operations.
bool isa(const From &Val)
isa - Return true if the parameter to the template is an instance of one of the template type argu...
decltype(auto) cast(const From &Val)
cast - Return the argument parameter cast to the specified type.
struct llvm::object::DataRefImpl::@005117267142344013370254144343227032034000327225 d