/frameworks/compile/mclinker/lib/Target/AArch64/ |
D | AArch64Relocator.cpp | 34 typedef Relocator::Result (*ApplyFunctionType)(Relocation& pReloc, 149 void AArch64Relocator::scanLocalReloc(Relocation& pReloc, in scanLocalReloc() argument 152 ResolveInfo* rsym = pReloc.symInfo(); in scanLocalReloc() 153 switch (pReloc.type()) { in scanLocalReloc() 164 *pReloc.targetRef().frag(), in scanLocalReloc() 165 pReloc.targetRef().offset(), in scanLocalReloc() 168 getRelRelMap().record(pReloc, reloc); in scanLocalReloc() 180 *pReloc.targetRef().frag(), in scanLocalReloc() 181 pReloc.targetRef().offset(), in scanLocalReloc() 182 pReloc.type(), in scanLocalReloc() [all …]
|
D | AArch64Relocator.h | 93 void scanRelocation(Relocation& pReloc, 101 uint32_t getDebugStringOffset(Relocation& pReloc) const; 105 void applyDebugStringOffset(Relocation& pReloc, uint32_t pOffset); 108 void scanLocalReloc(Relocation& pReloc, const LDSection& pSection); 110 void scanGlobalReloc(Relocation& pReloc,
|
D | AArch64RelocationHelpers.h | 92 static inline AArch64PLT1& helper_PLT_init(Relocation& pReloc, in helper_PLT_init() argument 95 ResolveInfo* rsym = pReloc.symInfo(); in helper_PLT_init() 157 static inline AArch64GOTEntry& helper_GOT_init(Relocation& pReloc, in helper_GOT_init() argument 161 ResolveInfo* rsym = pReloc.symInfo(); in helper_GOT_init() 179 pParent.getRelRelMap().record(pReloc, rel_entry); in helper_GOT_init()
|
/frameworks/compile/mclinker/lib/Target/ARM/ |
D | ARMRelocator.cpp | 29 static Relocator::DWord getThumbBit(const Relocation& pReloc) { in getThumbBit() argument 33 ((!pReloc.symInfo()->isUndef() || pReloc.symInfo()->isDyn()) && in getThumbBit() 34 (pReloc.symInfo()->type() == ResolveInfo::Function) && in getThumbBit() 35 ((pReloc.symValue() & 0x1) != 0)) in getThumbBit() 81 static ARMGOTEntry& helper_GOT_init(Relocation& pReloc, in helper_GOT_init() argument 85 ResolveInfo* rsym = pReloc.symInfo(); in helper_GOT_init() 125 static ARMPLT1& helper_PLT_init(Relocation& pReloc, ARMRelocator& pParent) { in helper_PLT_init() argument 127 ResolveInfo* rsym = pReloc.symInfo(); in helper_PLT_init() 151 static void helper_DynRel_init(Relocation& pReloc, in helper_DynRel_init() argument 155 ResolveInfo* rsym = pReloc.symInfo(); in helper_DynRel_init() [all …]
|
D | ARMRelocator.h | 89 void scanRelocation(Relocation& pReloc, 97 virtual bool mayHaveFunctionPointerAccess(const Relocation& pReloc) const; 101 uint32_t getDebugStringOffset(Relocation& pReloc) const; 105 void applyDebugStringOffset(Relocation& pReloc, uint32_t pOffset); 108 void scanLocalReloc(Relocation& pReloc, const LDSection& pSection); 110 void scanGlobalReloc(Relocation& pReloc, 114 void checkValidReloc(Relocation& pReloc) const;
|
D | ARMToARMStub.cpp | 61 bool ARMToARMStub::isMyDuty(const class Relocation& pReloc, in isMyDuty() argument 67 switch (pReloc.type()) { in isMyDuty() 73 uint64_t dest = pTargetSymValue + pReloc.addend() + 8u; in isMyDuty()
|
D | ARMToTHMStub.cpp | 63 bool ARMToTHMStub::isMyDuty(const class Relocation& pReloc, in isMyDuty() argument 69 switch (pReloc.type()) { in isMyDuty() 73 uint64_t dest = pTargetSymValue + pReloc.addend() + 8u; in isMyDuty()
|
D | THMToARMStub.cpp | 70 bool THMToARMStub::isMyDuty(const class Relocation& pReloc, in isMyDuty() argument 76 switch (pReloc.type()) { in isMyDuty() 80 uint64_t dest = pTargetSymValue + pReloc.addend() + 4u; in isMyDuty()
|
D | THMToTHMStub.cpp | 72 bool THMToTHMStub::isMyDuty(const class Relocation& pReloc, in isMyDuty() argument 78 switch (pReloc.type()) { in isMyDuty() 82 uint64_t dest = pTargetSymValue + pReloc.addend() + 4u; in isMyDuty()
|
/frameworks/compile/mclinker/lib/Target/X86/ |
D | X86Relocator.cpp | 59 static X86_32GOTEntry& helper_GOT_init(Relocation& pReloc, in helper_GOT_init() argument 63 ResolveInfo* rsym = pReloc.symInfo(); in helper_GOT_init() 92 static Relocator::Address helper_get_GOT_address(Relocation& pReloc, in helper_get_GOT_address() argument 94 X86_32GOTEntry* got_entry = pParent.getSymGOTMap().lookUp(*pReloc.symInfo()); in helper_get_GOT_address() 99 static PLTEntryBase& helper_PLT_init(Relocation& pReloc, in helper_PLT_init() argument 102 ResolveInfo* rsym = pReloc.symInfo(); in helper_PLT_init() 136 typedef Relocator::Result (*X86_32ApplyFunctionType)(Relocation& pReloc, 160 void X86Relocator::scanRelocation(Relocation& pReloc, in scanRelocation() argument 168 ResolveInfo* rsym = pReloc.symInfo(); in scanRelocation() 179 scanLocalReloc(pReloc, pLinker, pModule, pSection); in scanRelocation() [all …]
|
D | X86Relocator.h | 80 void scanRelocation(Relocation& pReloc, 99 virtual void scanLocalReloc(Relocation& pReloc, 104 virtual void scanGlobalReloc(Relocation& pReloc, 149 virtual bool mayHaveFunctionPointerAccess(const Relocation& pReloc) const; 153 uint32_t getDebugStringOffset(Relocation& pReloc) const; 157 void applyDebugStringOffset(Relocation& pReloc, uint32_t pOffset); 160 void scanLocalReloc(Relocation& pReloc, 165 void scanGlobalReloc(Relocation& pReloc, 172 void convertTLSIEtoLE(Relocation& pReloc, LDSection& pSection); 214 virtual bool mayHaveFunctionPointerAccess(const Relocation& pReloc) const; [all …]
|
/frameworks/compile/mclinker/lib/Target/Mips/ |
D | MipsRelocator.cpp | 146 Relocator::Result MipsRelocator::applyRelocation(Relocation& pReloc) { in applyRelocation() argument 150 if (m_CurrentLo16Reloc == NULL && isPostponed(pReloc)) { in applyRelocation() 151 postponeRelocation(pReloc); in applyRelocation() 155 for (MipsRelocationInfo info(pReloc, isRel()); !info.isNone(); in applyRelocation() 168 pReloc.target() &= ~mask; in applyRelocation() 169 pReloc.target() |= info.result() & mask; in applyRelocation() 184 void MipsRelocator::scanRelocation(Relocation& pReloc, in scanRelocation() argument 190 ResolveInfo* rsym = pReloc.symInfo(); in scanRelocation() 203 for (MipsRelocationInfo info(pReloc, isRel()); !info.isNone(); in scanRelocation() 214 getTarget().addNonPICBranchSym(pReloc.symInfo()); in scanRelocation() [all …]
|
D | MipsRelocator.h | 40 void scanRelocation(Relocation& pReloc, 62 Result applyRelocation(Relocation& pReloc); 66 uint32_t getDebugStringOffset(Relocation& pReloc) const; 70 void applyDebugStringOffset(Relocation& pReloc, uint32_t pOffset); 80 void postponeRelocation(Relocation& pReloc); 87 bool isGpDisp(const Relocation& pReloc) const; 98 Fragment& getLocalGOTEntry(MipsRelocationInfo& pReloc, 103 Fragment& getGlobalGOTEntry(MipsRelocationInfo& pReloc); 106 Address getGOTOffset(MipsRelocationInfo& pReloc); 109 void createDynRel(MipsRelocationInfo& pReloc); [all …]
|
D | MipsLA25Stub.cpp | 57 bool MipsLA25Stub::isMyDuty(const Relocation& pReloc, in isMyDuty() argument 60 if (llvm::ELF::R_MIPS_26 != pReloc.type()) in isMyDuty() 63 const ResolveInfo* rsym = pReloc.symInfo(); in isMyDuty()
|
/frameworks/compile/mclinker/lib/Target/Hexagon/ |
D | HexagonRelocator.cpp | 55 static HexagonGOTEntry& helper_GOT_init(Relocation& pReloc, in helper_GOT_init() argument 59 ResolveInfo* rsym = pReloc.symInfo(); in helper_GOT_init() 91 static PLTEntryBase& helper_PLT_init(Relocation& pReloc, in helper_PLT_init() argument 94 ResolveInfo* rsym = pReloc.symInfo(); in helper_PLT_init() 127 typedef Relocator::Result (*ApplyFunctionType)(Relocation& pReloc, 195 void HexagonRelocator::scanRelocation(Relocation& pReloc, in scanRelocation() argument 204 ResolveInfo* rsym = pReloc.symInfo(); in scanRelocation() 216 scanLocalReloc(pReloc, pLinker, pModule, pSection); in scanRelocation() 218 scanGlobalReloc(pReloc, pLinker, pModule, pSection); in scanRelocation() 223 issueUndefRef(pReloc, pSection, pInput); in scanRelocation() [all …]
|
D | HexagonRelocator.h | 78 void scanRelocation(Relocation& pReloc, 85 void partialScanRelocation(Relocation& pReloc, 110 uint32_t getDebugStringOffset(Relocation& pReloc) const { return 0; } in getDebugStringOffset() argument 114 void applyDebugStringOffset(Relocation& pReloc, uint32_t pOffset) {} in applyDebugStringOffset() argument 129 virtual void scanLocalReloc(Relocation& pReloc, 134 virtual void scanGlobalReloc(Relocation& pReloc,
|
D | HexagonAbsoluteStub.cpp | 60 bool HexagonAbsoluteStub::isMyDuty(const class Relocation& pReloc, in isMyDuty() argument 64 switch (pReloc.type()) { in isMyDuty()
|
/frameworks/compile/mclinker/lib/LD/ |
D | StubFactory.cpp | 39 Stub* StubFactory::create(Relocation& pReloc, in create() argument 45 Stub* prototype = findPrototype(pReloc, pReloc.place(), pTargetSymValue); in create() 47 const Fragment* frag = pReloc.targetRef().frag(); in create() 58 stub = islands.second->findStub(prototype, pReloc); in create() 63 pReloc.setSymInfo(stub->symInfo()); in create() 66 stub = islands.first->findStub(prototype, pReloc); in create() 69 pReloc.setSymInfo(stub->symInfo()); in create() 76 name.append(pReloc.symInfo()->name()) in create() 105 reloc->setSymInfo(pReloc.symInfo()); in create() 110 islands.first->addStub(prototype, pReloc, *stub); in create() [all …]
|
D | Relocator.cpp | 31 void Relocator::partialScanRelocation(Relocation& pReloc, in partialScanRelocation() argument 34 if (pReloc.symInfo()->type() == ResolveInfo::Section) { in partialScanRelocation() 35 LDSymbol* input_sym = pReloc.symInfo()->outSymbol(); in partialScanRelocation() 40 pReloc.target() += offset; in partialScanRelocation() 49 pReloc.setSymInfo(sym_info); in partialScanRelocation() 53 void Relocator::issueUndefRef(Relocation& pReloc, in issueUndefRef() argument 56 FragmentRef::Offset undef_sym_pos = pReloc.targetRef().offset(); in issueUndefRef() 61 std::string reloc_sym(pReloc.symInfo()->name()); in issueUndefRef()
|
D | BranchIsland.cpp | 86 Stub* BranchIsland::findStub(const Stub* pPrototype, const Relocation& pReloc) { in findStub() argument 87 Key key(pPrototype, pReloc.symInfo()->outSymbol(), pReloc.addend()); in findStub() 98 const Relocation& pReloc, in addStub() argument 101 Key key(pPrototype, pReloc.symInfo()->outSymbol(), pReloc.addend()); in addStub() 127 bool BranchIsland::addRelocation(Relocation& pReloc) { in addRelocation() argument 128 m_Relocations.push_back(&pReloc); in addRelocation()
|
D | DebugString.cpp | 67 void DebugString::applyOffset(Relocation& pReloc, TargetLDBackend& pBackend) { in applyOffset() argument 69 ResolveInfo* info = pReloc.symInfo(); in applyOffset() 78 uint32_t offset = pBackend.getRelocator()->getDebugStringOffset(pReloc); in applyOffset() 82 pBackend.getRelocator()->applyDebugStringOffset(pReloc, in applyOffset()
|
/frameworks/compile/mclinker/include/mcld/LD/ |
D | Relocator.h | 51 virtual void scanRelocation(Relocation& pReloc, 63 virtual void issueUndefRef(Relocation& pReloc, 89 virtual void partialScanRelocation(Relocation& pReloc, 107 virtual bool mayHaveFunctionPointerAccess(const Relocation& pReloc) const { in mayHaveFunctionPointerAccess() argument 113 virtual uint32_t getDebugStringOffset(Relocation& pReloc) const = 0; 117 virtual void applyDebugStringOffset(Relocation& pReloc, uint32_t pOffset) = 0;
|
D | StubFactory.h | 35 Stub* create(Relocation& pReloc, 43 Stub* findPrototype(const Relocation& pReloc,
|
D | BranchIsland.h | 89 Stub* findStub(const Stub* pPrototype, const Relocation& pReloc); 92 bool addStub(const Stub* pPrototype, const Relocation& pReloc, Stub& pStub); 95 bool addRelocation(Relocation& pReloc);
|
D | IdenticalCodeFolding.h | 40 FoldingCandidate(LDSection* pCode, LDSection* pReloc, Input* pInput) in FoldingCandidate() argument 41 : sect(pCode), reloc_sect(pReloc), obj(pInput) {} in FoldingCandidate()
|