Lines Matching defs:thunk
42 void populateThunk(InputSection *thunk, Symbol *funcSym) override;
45 void initICFSafeThunkBody(InputSection *thunk,
47 InputSection *getThunkBranchTarget(InputSection *thunk) const override;
161 // A thunk is the relaxed variation of stubCode. We don't need the
165 0x90000010, // 00: adrp x16, <thunk.ptr>@page
166 0x91000210, // 04: add x16, [x16,<thunk.ptr>@pageoff]
170 void ARM64::populateThunk(InputSection *thunk, Symbol *funcSym) {
171 thunk->align = 4;
172 thunk->data = {reinterpret_cast<const uint8_t *>(thunkCode),
174 thunk->relocs.emplace_back(/*type=*/ARM64_RELOC_PAGEOFF12,
178 thunk->relocs.emplace_back(/*type=*/ARM64_RELOC_PAGE21,
188 void ARM64::initICFSafeThunkBody(InputSection *thunk,
192 thunk->data = {reinterpret_cast<const uint8_t *>(icfSafeThunkCode),
195 thunk->relocs.emplace_back(/*type=*/ARM64_RELOC_BRANCH26,
201 InputSection *ARM64::getThunkBranchTarget(InputSection *thunk) const {
202 assert(thunk->relocs.size() == 1 &&
203 "expected a single reloc on ARM64 ICF thunk");
204 auto &reloc = thunk->relocs[0];
206 "ARM64 thunk reloc is expected to point to an InputSection");