|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
Derived Classes
tools/lld/ELF/Symbols.h 286 class Defined : public Symbol {
321 class CommonSymbol : public Symbol {
334 class Undefined : public Symbol {
347 class SharedSymbol : public Symbol {
398 class LazyArchive : public Symbol {
414 class LazyObject : public Symbol {
Declarations
tools/lld/ELF/InputFiles.h 45 class Symbol;
tools/lld/ELF/InputSection.h 24 class Symbol;
tools/lld/ELF/LinkerScript.h 36 class Symbol;
tools/lld/ELF/Relocations.h 19 class Symbol;
tools/lld/ELF/Symbols.h 38 class Symbol;
tools/lld/ELF/Target.h 24 class Symbol;
tools/lld/ELF/Thunks.h 17 class Symbol;
References
include/llvm/ADT/ArrayRef.h 108 const ArrayRef<U *> &A,
110 std::is_convertible<U *const *, T const *>::value>::type * = nullptr)
127 ArrayRef(const std::vector<U *, A> &Vec,
129 std::is_convertible<U *const *, T const *>::value>::type* = 0)
include/llvm/ADT/DenseMapInfo.h 39 static inline T* getEmptyKey() {
41 Val <<= PointerLikeTypeTraits<T*>::NumLowBitsAvailable;
45 static inline T* getTombstoneKey() {
47 Val <<= PointerLikeTypeTraits<T*>::NumLowBitsAvailable;
51 static unsigned getHashValue(const T *PtrVal) {
56 static bool isEqual(const T *LHS, const T *RHS) { return LHS == RHS; }
56 static bool isEqual(const T *LHS, const T *RHS) { return LHS == RHS; }
include/llvm/Support/Casting.h 34 using SimpleType = From; // The real type this represents...
37 static SimpleType &getSimplifiedValue(From &Val) { return Val; }
41 using NonConstSimpleType = typename simplify_type<From>::SimpleType;
47 static RetType getSimplifiedValue(const From& Val) {
57 static inline bool doit(const From &Val) {
76 static inline bool doit(const From &Val) {
77 return isa_impl<To, From>::doit(Val);
104 static inline bool doit(const From *Val) {
106 return isa_impl<To, From>::doit(*Val);
141 template <class X, class Y> LLVM_NODISCARD inline bool isa(const Y &Val) {
142 return isa_impl_wrap<X, const Y,
143 typename simplify_type<const Y>::SimpleType>::doit(Val);
204 using ret_type = typename cast_retty_impl<To,FromTy>::ret_type;
210 To, From, typename simplify_type<From>::SimpleType>::ret_type;
210 To, From, typename simplify_type<From>::SimpleType>::ret_type;
227 static typename cast_retty<To, FromTy>::ret_type doit(const FromTy &Val) {
227 static typename cast_retty<To, FromTy>::ret_type doit(const FromTy &Val) {
228 typename cast_retty<To, FromTy>::ret_type Res2
236 std::is_same<X, typename simplify_type<X>::SimpleType>::value;
236 std::is_same<X, typename simplify_type<X>::SimpleType>::value;
256 inline typename cast_retty<X, Y>::ret_type cast(Y &Val) {
256 inline typename cast_retty<X, Y>::ret_type cast(Y &Val) {
258 return cast_convert_val<X, Y,
259 typename simplify_type<Y>::SimpleType>::doit(Val);
263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
265 return cast_convert_val<X, Y*,
266 typename simplify_type<Y*>::SimpleType>::doit(Val);
342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
366 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
367 dyn_cast_or_null(Y *Val) {
include/llvm/Support/PointerLikeTypeTraits.h 56 static inline void *getAsVoidPointer(T *P) { return P; }
57 static inline T *getFromVoidPointer(void *P) { return static_cast<T *>(P); }
59 enum { NumLowBitsAvailable = detail::ConstantLog2<alignof(T)>::value };
include/llvm/Support/type_traits.h 55 struct add_const_past_pointer { using type = const T; };
tools/lld/ELF/AArch64ErrataFix.cpp 389 Symbol *patchSym;
444 for (Symbol *b : f->getLocalSymbols()) {
tools/lld/ELF/ARMErrataFix.cpp 90 Symbol *patchSym;
320 for (Symbol *s : f->getLocalSymbols()) {
tools/lld/ELF/Arch/AArch64.cpp 35 RelExpr getRelExpr(RelType type, const Symbol &s,
38 void writeGotPlt(uint8_t *buf, const Symbol &s) const override;
43 uint64_t branchAddr, const Symbol &s) const override;
77 RelExpr AArch64::getRelExpr(RelType type, const Symbol &s,
190 void AArch64::writeGotPlt(uint8_t *buf, const Symbol &) const {
233 uint64_t branchAddr, const Symbol &s) const {
tools/lld/ELF/Arch/AMDGPU.cpp 30 RelExpr getRelExpr(RelType type, const Symbol &s,
83 RelExpr AMDGPU::getRelExpr(RelType type, const Symbol &s,
tools/lld/ELF/Arch/ARM.cpp 30 RelExpr getRelExpr(RelType type, const Symbol &s,
34 void writeGotPlt(uint8_t *buf, const Symbol &s) const override;
35 void writeIgotPlt(uint8_t *buf, const Symbol &s) const override;
42 uint64_t branchAddr, const Symbol &s) const override;
83 RelExpr ARM::getRelExpr(RelType type, const Symbol &s,
153 void ARM::writeGotPlt(uint8_t *buf, const Symbol &) const {
157 void ARM::writeIgotPlt(uint8_t *buf, const Symbol &s) const {
265 uint64_t branchAddr, const Symbol &s) const {
tools/lld/ELF/Arch/AVR.cpp 47 RelExpr getRelExpr(RelType type, const Symbol &s,
55 RelExpr AVR::getRelExpr(RelType type, const Symbol &s,
tools/lld/ELF/Arch/Hexagon.cpp 31 RelExpr getRelExpr(RelType type, const Symbol &s,
88 RelExpr Hexagon::getRelExpr(RelType type, const Symbol &s,
tools/lld/ELF/Arch/MSP430.cpp 37 RelExpr getRelExpr(RelType type, const Symbol &s,
48 RelExpr MSP430::getRelExpr(RelType type, const Symbol &s,
tools/lld/ELF/Arch/Mips.cpp 29 RelExpr getRelExpr(RelType type, const Symbol &s,
33 void writeGotPlt(uint8_t *buf, const Symbol &s) const override;
38 uint64_t branchAddr, const Symbol &s) const override;
78 RelExpr MIPS<ELFT>::getRelExpr(RelType type, const Symbol &s,
196 void MIPS<ELFT>::writeGotPlt(uint8_t *buf, const Symbol &) const {
348 uint64_t branchAddr, const Symbol &s) const {
tools/lld/ELF/Arch/PPC.cpp 27 RelExpr getRelExpr(RelType type, const Symbol &s,
38 void writeGotPlt(uint8_t *buf, const Symbol &s) const override;
40 uint64_t branchAddr, const Symbol &s) const override;
166 void PPC::writeGotPlt(uint8_t *buf, const Symbol &s) const {
172 uint64_t branchAddr, const Symbol &s) const {
191 RelExpr PPC::getRelExpr(RelType type, const Symbol &s,
tools/lld/ELF/Arch/PPC64.cpp 127 Symbol &sym = tocSec->getFile<ELFT>()->getRelocTargetSym(relas[index]);
199 RelExpr getRelExpr(RelType type, const Symbol &s,
208 uint64_t branchAddr, const Symbol &s) const override;
537 RelExpr PPC64::getRelExpr(RelType type, const Symbol &s,
901 uint64_t branchAddr, const Symbol &s) const {
tools/lld/ELF/Arch/SPARCV9.cpp 27 RelExpr getRelExpr(RelType type, const Symbol &s,
50 RelExpr SPARCV9::getRelExpr(RelType type, const Symbol &s,
tools/lld/ELF/Arch/X86.cpp 28 RelExpr getRelExpr(RelType type, const Symbol &s,
33 void writeGotPlt(uint8_t *buf, const Symbol &s) const override;
34 void writeIgotPlt(uint8_t *buf, const Symbol &s) const override;
73 RelExpr X86::getRelExpr(RelType type, const Symbol &s,
175 void X86::writeGotPlt(uint8_t *buf, const Symbol &s) const {
181 void X86::writeIgotPlt(uint8_t *buf, const Symbol &s) const {
416 void writeGotPlt(uint8_t *buf, const Symbol &s) const override;
425 void writeGotPlt(uint8_t *buf, const Symbol &s) const override;
437 void RetpolinePic::writeGotPlt(uint8_t *buf, const Symbol &s) const {
490 void RetpolineNoPic::writeGotPlt(uint8_t *buf, const Symbol &s) const {
tools/lld/ELF/Arch/X86_64.cpp 30 RelExpr getRelExpr(RelType type, const Symbol &s,
34 void writeGotPlt(uint8_t *buf, const Symbol &s) const override;
75 RelExpr X86_64::getRelExpr(RelType type, const Symbol &s,
140 void X86_64::writeGotPlt(uint8_t *buf, const Symbol &s) const {
584 void writeGotPlt(uint8_t *buf, const Symbol &s) const override;
593 void writeGotPlt(uint8_t *buf, const Symbol &s) const override {}
605 void Retpoline::writeGotPlt(uint8_t *buf, const Symbol &s) const {
tools/lld/ELF/CallGraphSort.cpp 249 for (Symbol *sym : sections[i]->file->getSymbols())
tools/lld/ELF/DWARF.cpp 100 Symbol &s = file->getRelocTargetSym(rel);
tools/lld/ELF/Driver.cpp 711 DenseMap<StringRef, Symbol *> map;
713 for (Symbol *sym : file->getSymbols())
717 Symbol *sym = map.lookup(name);
1351 for (Symbol *sym : file->getSymbols())
1364 static void handleUndefined(Symbol *sym) {
1383 std::vector<Symbol *> syms;
1392 for (Symbol *sym : syms)
1397 Symbol *sym = symtab->find(name);
1448 static void markAddrsig(Symbol *s) {
1488 ArrayRef<Symbol *> syms = obj->getSymbols();
1505 for (Symbol *s : syms)
1517 Symbol *sym;
1560 static Symbol *addUndefined(StringRef name) {
1581 for (Symbol *sym : obj->getGlobalSymbols())
1596 Symbol *sym;
1597 Symbol *real;
1598 Symbol *wrap;
1615 Symbol *sym = symtab->find(name);
1619 Symbol *real = addUndefined(saver.save("__real_" + name));
1620 Symbol *wrap = addUndefined(saver.save("__wrap_" + name));
1641 DenseMap<Symbol *, Symbol *> map;
1641 DenseMap<Symbol *, Symbol *> map;
1649 MutableArrayRef<Symbol *> syms = file->getMutableSymbols();
1651 if (Symbol *s = map.lookup(syms[i]))
1757 if (Symbol *sym = symtab->find(arg))
1761 if (Symbol *sym = symtab->find(config->entry))
tools/lld/ELF/ICF.cpp 246 Symbol &sa = secA->template getFile<ELFT>()->getRelocTargetSym(ra[i]);
247 Symbol &sb = secB->template getFile<ELFT>()->getRelocTargetSym(rb[i]);
329 Symbol &sa = secA->template getFile<ELFT>()->getRelocTargetSym(ra[i]);
330 Symbol &sb = secB->template getFile<ELFT>()->getRelocTargetSym(rb[i]);
432 Symbol &s = isec->template getFile<ELFT>()->getRelocTargetSym(rel);
tools/lld/ELF/InputFiles.cpp 232 static std::string getSrcMsgAux(ObjFile<ELFT> &file, const Symbol &sym,
248 std::string InputFile::getSrcMsg(const Symbol &sym, InputSectionBase &sec,
372 template <class ELFT> ArrayRef<Symbol *> ObjFile<ELFT>::getLocalSymbols() {
378 template <class ELFT> ArrayRef<Symbol *> ObjFile<ELFT>::getGlobalSymbols() {
1271 Symbol *s = symtab->addSymbol(
1400 static Symbol *createBitcodeSymbol(const std::vector<bool> &keptComdats,
1414 Symbol *ret = symtab->addSymbol(newSym);
1545 for (Symbol *sym : this->symbols) {
tools/lld/ELF/InputFiles.h 88 ArrayRef<Symbol *> getSymbols() { return getMutableSymbols(); }
90 MutableArrayRef<Symbol *> getMutableSymbols() {
111 std::string getSrcMsg(const Symbol &sym, InputSectionBase &sec,
143 std::vector<Symbol *> symbols;
198 ArrayRef<Symbol *> getLocalSymbols();
199 ArrayRef<Symbol *> getGlobalSymbols();
210 Symbol &getSymbol(uint32_t symbolIndex) const {
218 template <typename RelT> Symbol &getRelocTargetSym(const RelT &rel) const {
tools/lld/ELF/InputSection.cpp 285 for (Symbol *b : file->getSymbols())
327 std::string InputSectionBase::getSrcMsg(const Symbol &sym, uint64_t offset) {
348 for (Symbol *b : file->getSymbols())
415 Symbol &sym = file->getRelocTargetSym(rel);
557 static uint64_t getARMStaticBase(const Symbol &sym) {
570 static Relocation *getRISCVPCRelHi20(const Symbol *sym, uint64_t addend) {
605 static int64_t getTlsTpOffset(const Symbol &s) {
649 uint64_t p, const Symbol &sym, RelExpr expr) {
851 Symbol &sym = getFile<ELFT>()->getRelocTargetSym(rel);
997 Symbol *moreStackNonSplit = symtab->find("__morestack_non_split");
tools/lld/ELF/InputSection.h 174 std::string getSrcMsg(const Symbol &sym, uint64_t offset);
tools/lld/ELF/LTO.cpp 165 ArrayRef<Symbol *> syms = f.getSymbols();
171 Symbol *sym = syms[i];
tools/lld/ELF/LinkerScript.cpp 152 Symbol *b = symtab->find(cmd->name);
185 Symbol *sym = symtab->insert(cmd->name);
202 Symbol *sym = symtab->insert(cmd->name);
1170 if (Symbol *sym = symtab->find(name)) {
tools/lld/ELF/MapFile.cpp 57 for (Symbol *b : file->getSymbols())
84 static DenseMap<Symbol *, std::string>
96 DenseMap<Symbol *, std::string> ret;
156 DenseMap<Symbol *, std::string> symStr = getSymbolStrings(syms);
190 for (Symbol *sym : sectionSyms[isec])
235 MapVector<Symbol *, SetVector<InputFile *>> map;
237 for (Symbol *sym : file->getSymbols()) {
252 Symbol *sym = kv.first;
tools/lld/ELF/MarkLive.cpp 55 void markSymbol(Symbol *sym);
93 Symbol &sym = sec.getFile<ELFT>()->getRelocTargetSym(rel);
206 template <class ELFT> void MarkLive<ELFT>::markSymbol(Symbol *sym) {
300 for (Symbol *s : file->getSymbols())
tools/lld/ELF/OutputSections.cpp 350 ArrayRef<Symbol *> symbols = section->file->getSymbols();
tools/lld/ELF/Relocations.cpp 67 static Optional<std::string> getLinkerScriptLocation(const Symbol &sym) {
80 static std::string getLocation(InputSectionBase &s, const Symbol &sym,
133 static unsigned handleMipsTlsRelocation(RelType type, Symbol &sym,
158 handleTlsRelocation(RelType type, Symbol &sym, InputSectionBase &c,
325 static bool isAbsolute(const Symbol &sym) {
333 static bool isAbsoluteValue(const Symbol &sym) {
368 static bool isStaticLinkTimeConstant(RelExpr e, RelType type, const Symbol &sym,
489 Symbol *sym = symtab->find(name);
501 static void replaceWithDefined(Symbol &sym, SectionBase *sec, uint64_t value,
503 Symbol old = sym;
688 Symbol *sym;
702 static const Symbol *getAlternativeSpelling(const Undefined &sym) {
704 DenseMap<StringRef, const Symbol *> map;
706 for (const Symbol *s : sym.file->getSymbols())
713 if (const Symbol *s = map.lookup(newName))
717 if (const Symbol *s = symtab->find(newName))
733 if (const Symbol *s = suggest(newName))
743 if (const Symbol *s = suggest(newName))
752 if (const Symbol *s = suggest(newName))
758 if (const Symbol *s = suggest(newName))
768 Symbol &sym = *undef.sym;
808 if (const Symbol *corrected =
828 DenseMap<Symbol *, UndefinedDiag *> firstRef;
847 static bool maybeReportUndefined(Symbol &sym, InputSectionBase &sec,
934 Symbol *sym, int64_t addend, RelExpr expr,
955 RelocationBaseSection *rel, RelType type, Symbol &sym) {
962 static void addGotEntry(Symbol &sym) {
996 static bool canDefineSymbolInExecutable(Symbol &sym) {
1028 uint64_t offset, Symbol &sym, const RelTy &rel,
1169 Symbol &sym = sec.getFile<ELFT>()->getSymbol(symIndex);
tools/lld/ELF/Relocations.h 108 Symbol *sym;
156 llvm::DenseMap<Symbol *, std::vector<Thunk *>> thunkedSymbols;
160 llvm::DenseMap<Symbol *, Thunk *> thunks;
tools/lld/ELF/SymbolTable.cpp 34 void SymbolTable::wrap(Symbol *sym, Symbol *real, Symbol *wrap) {
34 void SymbolTable::wrap(Symbol *sym, Symbol *real, Symbol *wrap) {
34 void SymbolTable::wrap(Symbol *sym, Symbol *real, Symbol *wrap) {
52 Symbol *SymbolTable::insert(StringRef name) {
70 Symbol *sym = reinterpret_cast<Symbol *>(make<SymbolUnion>());
76 sym->symbolKind = Symbol::PlaceholderKind;
90 Symbol *SymbolTable::addSymbol(const Symbol &newSym) {
90 Symbol *SymbolTable::addSymbol(const Symbol &newSym) {
91 Symbol *sym = symtab->insert(newSym.getName());
96 Symbol *SymbolTable::find(StringRef name) {
100 Symbol *sym = symVector[it->second];
119 StringMap<std::vector<Symbol *>> &SymbolTable::getDemangledSyms() {
122 for (Symbol *sym : symVector) {
131 std::vector<Symbol *> SymbolTable::findByVersion(SymbolVersion ver) {
134 if (Symbol *b = find(ver.name))
140 std::vector<Symbol *> SymbolTable::findAllByVersion(SymbolVersion ver) {
141 std::vector<Symbol *> res;
151 for (Symbol *sym : symVector)
160 std::vector<Symbol *> syms;
166 for (Symbol *sym : syms)
179 std::vector<Symbol *> syms = findByVersion(ver);
196 for (Symbol *sym : syms) {
221 for (Symbol *sym : findAllByVersion(ver))
258 for (Symbol *sym : symVector)
tools/lld/ELF/SymbolTable.h 36 void wrap(Symbol *sym, Symbol *real, Symbol *wrap);
36 void wrap(Symbol *sym, Symbol *real, Symbol *wrap);
36 void wrap(Symbol *sym, Symbol *real, Symbol *wrap);
38 void forEachSymbol(llvm::function_ref<void(Symbol *)> fn) {
39 for (Symbol *sym : symVector)
44 Symbol *insert(StringRef name);
46 Symbol *addSymbol(const Symbol &newSym);
46 Symbol *addSymbol(const Symbol &newSym);
50 Symbol *find(StringRef name);
63 std::vector<Symbol *> findByVersion(SymbolVersion ver);
64 std::vector<Symbol *> findAllByVersion(SymbolVersion ver);
66 llvm::StringMap<std::vector<Symbol *>> &getDemangledSyms();
79 std::vector<Symbol *> symVector;
85 llvm::Optional<llvm::StringMap<std::vector<Symbol *>>> demangledSyms;
tools/lld/ELF/Symbols.cpp 34 std::string toString(const elf::Symbol &b) { return demangle(b.getName()); }
56 static uint64_t getSymVA(const Symbol &sym, int64_t &addend) {
58 case Symbol::DefinedKind: {
125 case Symbol::SharedKind:
126 case Symbol::UndefinedKind:
128 case Symbol::LazyArchiveKind:
129 case Symbol::LazyObjectKind:
132 case Symbol::CommonKind:
134 case Symbol::PlaceholderKind:
299 void printTraceSymbol(const Symbol *sym) {
315 void maybeWarnUnorderableSymbol(const Symbol *sym) {
358 void Symbol::mergeProperties(const Symbol &other) {
369 void Symbol::resolve(const Symbol &other) {
378 case Symbol::UndefinedKind:
381 case Symbol::CommonKind:
384 case Symbol::DefinedKind:
387 case Symbol::LazyArchiveKind:
390 case Symbol::LazyObjectKind:
393 case Symbol::SharedKind:
396 case Symbol::PlaceholderKind:
519 int Symbol::compare(const Symbol *other) const {
565 static void reportDuplicate(Symbol *sym, InputFile *newFile,
tools/lld/ELF/Symbols.h 24 std::string toString(const elf::Symbol &);
144 inline void replace(const Symbol &newSym);
211 void mergeProperties(const Symbol &other);
212 void resolve(const Symbol &other);
232 int compare(const Symbol *other) const;
286 class Defined : public Symbol {
293 static bool classof(const Symbol *s) { return s->isDefined(); }
321 class CommonSymbol : public Symbol {
328 static bool classof(const Symbol *s) { return s->isCommon(); }
334 class Undefined : public Symbol {
341 static bool classof(const Symbol *s) { return s->kind() == UndefinedKind; }
347 class SharedSymbol : public Symbol {
349 static bool classof(const Symbol *s) { return s->kind() == SharedKind; }
398 class LazyArchive : public Symbol {
405 static bool classof(const Symbol *s) { return s->kind() == LazyArchiveKind; }
414 class LazyObject : public Symbol {
420 static bool classof(const Symbol *s) { return s->kind() == LazyObjectKind; }
496 void printTraceSymbol(const Symbol *sym);
513 return sizeof(Symbol);
521 void Symbol::replace(const Symbol &newSym) {
534 Symbol old = *this;
562 void maybeWarnUnorderableSymbol(const Symbol *sym);
tools/lld/ELF/SyntheticSections.cpp 353 Symbol *personality = nullptr;
387 Symbol &b = sec->template getFile<ELFT>()->getRelocTargetSym(rel);
609 void GotSection::addEntry(Symbol &sym) {
614 bool GotSection::addDynTlsEntry(Symbol &sym) {
633 uint64_t GotSection::getGlobalDynAddr(const Symbol &b) const {
637 uint64_t GotSection::getGlobalDynOffset(const Symbol &b) const {
671 void MipsGotSection::addEntry(InputFile &file, Symbol &sym, int64_t addend,
691 void MipsGotSection::addDynTlsEntry(InputFile &file, Symbol &sym) {
731 const Symbol &sym,
745 uint64_t MipsGotSection::getSymEntryOffset(const InputFile *f, const Symbol &s,
748 Symbol *sym = const_cast<Symbol *>(&s);
762 const Symbol &s) const {
764 Symbol *sym = const_cast<Symbol *>(&s);
768 const Symbol *MipsGotSection::getFirstGlobalEntry() const {
941 for (std::pair<Symbol *, size_t> &p : got.tls) {
942 Symbol *s = p.first;
947 for (std::pair<Symbol *, size_t> &p : got.dynTlsSymbols) {
948 Symbol *s = p.first;
977 for (const std::pair<Symbol *, size_t> &p : got.global) {
1058 for (const std::pair<const Symbol *, size_t> &p : g.global)
1060 for (const std::pair<Symbol *, size_t> &p : g.relocs)
1062 for (const std::pair<Symbol *, size_t> &p : g.tls)
1064 for (const std::pair<Symbol *, size_t> &p : g.dynTlsSymbols) {
1094 void GotPltSection::addEntry(Symbol &sym) {
1106 for (const Symbol *b : entries) {
1138 void IgotPltSection::addEntry(Symbol &sym) {
1148 for (const Symbol *b : entries) {
1239 void DynamicSection<ELFT>::addSym(int32_t tag, Symbol *sym) {
1432 if (Symbol *b = symtab->find(config->init))
1435 if (Symbol *b = symtab->find(config->fini))
1464 if (const Symbol *b = in.mipsGot->getFirstGlobalEntry())
1535 uint64_t offsetInSec, Symbol *sym) {
1541 uint64_t offsetInSec, Symbol *sym,
2054 void SymbolTableBaseSection::addSymbol(Symbol *b) {
2062 size_t SymbolTableBaseSection::getSymbolIndex(Symbol *sym) {
2092 static BssSection *getCommonSec(Symbol *sym) {
2099 static uint32_t getSymSectionIndex(Symbol *sym) {
2119 Symbol *sym = ent.sym;
2173 Symbol *sym = ent.sym;
2387 Symbol *b = ent.sym;
2437 Symbol *sym = s.sym;
2480 const Symbol *b = entries[i];
2489 template <class ELFT> void PltSection::addEntry(Symbol &sym) {
2942 void addVerneed(Symbol *ss) {
3431 void PPC64LongBranchTargetSection::addEntry(Symbol &sym) {
3448 for (const Symbol *sym : entries) {
tools/lld/ELF/SyntheticSections.h 115 llvm::DenseMap<std::pair<ArrayRef<uint8_t>, Symbol *>, CieRecord *> cieMap;
126 void addEntry(Symbol &sym);
127 bool addDynTlsEntry(Symbol &sym);
129 uint64_t getGlobalDynAddr(const Symbol &b) const;
130 uint64_t getGlobalDynOffset(const Symbol &b) const;
207 void addEntry(InputFile &file, Symbol &sym, int64_t addend, RelExpr expr);
208 void addDynTlsEntry(InputFile &file, Symbol &sym);
211 uint64_t getPageEntryOffset(const InputFile *f, const Symbol &s,
213 uint64_t getSymEntryOffset(const InputFile *f, const Symbol &s,
215 uint64_t getGlobalDynOffset(const InputFile *f, const Symbol &s) const;
222 const Symbol *getFirstGlobalEntry() const;
324 using GotEntry = std::pair<Symbol *, int64_t>;
343 llvm::MapVector<Symbol *, size_t> global;
344 llvm::MapVector<Symbol *, size_t> relocs;
345 llvm::MapVector<Symbol *, size_t> tls;
347 llvm::MapVector<Symbol *, size_t> dynTlsSymbols;
374 void addEntry(Symbol &sym);
384 std::vector<const Symbol *> entries;
394 void addEntry(Symbol &sym);
400 std::vector<const Symbol *> entries;
423 uint64_t offsetInSec, bool useSymVA, Symbol *sym, int64_t addend)
445 Symbol *sym;
481 void addSym(int32_t tag, Symbol *sym);
491 Symbol *sym);
495 uint64_t offsetInSec, Symbol *sym, int64_t addend, RelExpr expr,
575 Symbol *sym;
584 void addSymbol(Symbol *sym);
586 size_t getSymbolIndex(Symbol *sym);
598 llvm::DenseMap<Symbol *, size_t> symbolIndexMap;
642 Symbol *sym;
676 template <class ELFT> void addEntry(Symbol &sym);
681 std::vector<const Symbol *> entries;
1065 void addEntry(Symbol &sym);
1072 std::vector<const Symbol *> entries;
1112 void addVerneed(Symbol *ss);
tools/lld/ELF/Target.cpp 133 uint64_t branchAddr, const Symbol &s) const {
146 void TargetInfo::writeIgotPlt(uint8_t *buf, const Symbol &s) const {
tools/lld/ELF/Target.h 29 virtual RelExpr getRelExpr(RelType type, const Symbol &s,
34 virtual void writeGotPlt(uint8_t *buf, const Symbol &s) const {};
35 virtual void writeIgotPlt(uint8_t *buf, const Symbol &s) const;
61 const Symbol &s) const;
tools/lld/ELF/Thunks.cpp 52 AArch64ABSLongThunk(Symbol &dest) : Thunk(dest) {}
60 AArch64ADRPThunk(Symbol &dest) : Thunk(dest) {}
76 ARMThunk(Symbol &dest) : Thunk(dest) {}
106 ThumbThunk(Symbol &dest) : Thunk(dest) { alignment = 2; }
129 ARMV7ABSLongThunk(Symbol &dest) : ARMThunk(dest) {}
138 ARMV7PILongThunk(Symbol &dest) : ARMThunk(dest) {}
147 ThumbV7ABSLongThunk(Symbol &dest) : ThumbThunk(dest) {}
156 ThumbV7PILongThunk(Symbol &dest) : ThumbThunk(dest) {}
170 ARMV5ABSLongThunk(Symbol &dest) : ARMThunk(dest) {}
181 ARMV5PILongThunk(Symbol &dest) : ARMThunk(dest) {}
193 ThumbV6MABSLongThunk(Symbol &dest) : ThumbThunk(dest) {}
202 ThumbV6MPILongThunk(Symbol &dest) : ThumbThunk(dest) {}
212 MipsThunk(Symbol &dest) : Thunk(dest) {}
223 MicroMipsThunk(Symbol &dest) : Thunk(dest) {}
234 MicroMipsR6Thunk(Symbol &dest) : Thunk(dest) {}
244 PPC32PltCallStub(const InputSection &isec, const Relocation &rel, Symbol &dest)
271 PPC64PltCallStub(Symbol &dest) : Thunk(dest) {}
292 PPC64LongBranchThunk(Symbol &dest) : Thunk(dest) {}
297 PPC64PILongBranchThunk(Symbol &dest) : PPC64LongBranchThunk(dest) {
312 PPC64PDLongBranchThunk(Symbol &dest) : PPC64LongBranchThunk(dest) {
335 static uint64_t getAArch64ThunkDestVA(const Symbol &s) {
385 static uint64_t getARMThunkDestVA(const Symbol &s) {
798 Thunk::Thunk(Symbol &d) : destination(d), offset(0) {}
802 static Thunk *addThunkAArch64(RelType type, Symbol &s) {
815 static Thunk *addThunkPreArmv7(RelType reloc, Symbol &s) {
835 static Thunk *addThunkV6M(RelType reloc, Symbol &s) {
849 static Thunk *addThunkArm(RelType reloc, Symbol &s) {
890 static Thunk *addThunkMips(RelType type, Symbol &s) {
898 static Thunk *addThunkPPC32(const InputSection &isec, const Relocation &rel, Symbol &s) {
904 static Thunk *addThunkPPC64(RelType type, Symbol &s) {
916 Symbol &s = *rel.sym;
tools/lld/ELF/Thunks.h 30 Thunk(Symbol &destination);
60 Symbol &destination;
tools/lld/ELF/Writer.cpp 201 Symbol *s = symtab->find(name);
211 Symbol *sym = symtab->addSymbol(Defined{nullptr, name, STB_GLOBAL, STV_HIDDEN,
255 if (Symbol *s = symtab->find(gotSymName)) {
652 static bool includeInSymtab(const Symbol &b) {
682 for (Symbol *b : f->getLocalSymbols()) {
1247 for (Symbol *sym : file->getSymbols())
1642 static bool computeIsPreemptible(const Symbol &b) {
1722 Symbol *s = symtab->find("_TLS_MODULE_BASE_");
1799 DenseSet<Symbol *> syms;
2517 if (Symbol *b = symtab->find(config->entry))
tools/lld/include/lld/Common/Memory.h 52 template <typename T, typename... U> T *make(U &&... args) {
usr/include/c++/7.4.0/bits/move.h 72 constexpr _Tp&&
83 constexpr _Tp&&
usr/include/c++/7.4.0/type_traits 381 : public __is_pointer_helper<typename remove_cv<_Tp>::type>::type
1554 { typedef _Tp type; };
1558 { typedef _Tp type; };
1563 { typedef _Tp type; };
1574 remove_const<typename remove_volatile<_Tp>::type>::type type;
1633 { typedef _Tp type; };
1983 { typedef _Up type; };