Lines Matching refs:Expr

105                                         int64_t Addend, RelExpr Expr) {  in handleMipsTlsRelocation()  argument
106 if (Expr == R_MIPS_TLSLD) { in handleMipsTlsRelocation()
108 C.Relocations.push_back({Expr, Type, Offset, Addend, &Sym}); in handleMipsTlsRelocation()
111 if (Expr == R_MIPS_TLSGD) { in handleMipsTlsRelocation()
113 C.Relocations.push_back({Expr, Type, Offset, Addend, &Sym}); in handleMipsTlsRelocation()
136 int64_t Addend, RelExpr Expr) { in handleARMTlsRelocation() argument
154 if (Expr == R_TLSLD_PC && In.Got->addTlsIndex()) { in handleARMTlsRelocation()
157 C.Relocations.push_back({Expr, Type, Offset, Addend, &Sym}); in handleARMTlsRelocation()
164 if (Expr == R_TLSGD_PC) { in handleARMTlsRelocation()
171 C.Relocations.push_back({Expr, Type, Offset, Addend, &Sym}); in handleARMTlsRelocation()
181 typename ELFT::uint Offset, int64_t Addend, RelExpr Expr) { in handleTlsRelocation() argument
186 return handleARMTlsRelocation<ELFT>(Type, Sym, C, Offset, Addend, Expr); in handleTlsRelocation()
188 return handleMipsTlsRelocation(Type, Sym, C, Offset, Addend, Expr); in handleTlsRelocation()
190 if (isRelExprOneOf<R_TLSDESC, R_AARCH64_TLSDESC_PAGE, R_TLSDESC_CALL>(Expr) && in handleTlsRelocation()
197 if (Expr != R_TLSDESC_CALL) in handleTlsRelocation()
198 C.Relocations.push_back({Expr, Type, Offset, Addend, &Sym}); in handleTlsRelocation()
203 R_TLSLD_HINT>(Expr)) { in handleTlsRelocation()
211 if (Expr == R_TLSLD_HINT) in handleTlsRelocation()
216 C.Relocations.push_back({Expr, Type, Offset, Addend, &Sym}); in handleTlsRelocation()
221 if (Expr == R_ABS && !Config->Shared) { in handleTlsRelocation()
230 if (Expr == R_TLSLD_GOT_OFF) { in handleTlsRelocation()
242 C.Relocations.push_back({Expr, Type, Offset, Addend, &Sym}); in handleTlsRelocation()
247 R_TLSGD_GOT, R_TLSGD_GOT_FROM_END, R_TLSGD_PC>(Expr)) { in handleTlsRelocation()
262 C.Relocations.push_back({Expr, Type, Offset, Addend, &Sym}); in handleTlsRelocation()
288 R_GOT_OFF, R_TLSIE_HINT>(Expr) && in handleTlsRelocation()
294 if (Expr == R_TLSIE_HINT) in handleTlsRelocation()
339 static bool needsPlt(RelExpr Expr) { in needsPlt() argument
341 R_GOT_PLT, R_AARCH64_GOT_PAGE_PC_PLT>(Expr); in needsPlt()
347 static bool needsGot(RelExpr Expr) { in needsGot() argument
351 R_GOT_PLT>(Expr); in needsGot()
356 static bool isRelExpr(RelExpr Expr) { in isRelExpr() argument
359 R_AARCH64_PLT_PAGE_PC, R_RELAX_GOT_PC>(Expr); in isRelExpr()
430 static RelExpr toPlt(RelExpr Expr) { in toPlt() argument
431 switch (Expr) { in toPlt()
445 return Expr; in toPlt()
449 static RelExpr fromPlt(RelExpr Expr) { in fromPlt() argument
452 switch (Expr) { in fromPlt()
460 return Expr; in fromPlt()
595 InputSectionBase &Sec, RelExpr Expr, in computeMipsAddend() argument
597 if (Expr == R_MIPS_GOTREL && IsLocal) in computeMipsAddend()
630 InputSectionBase &Sec, RelExpr Expr, in computeAddend() argument
645 Addend += computeMipsAddend<ELFT>(Rel, End, Sec, Expr, IsLocal); in computeAddend()
746 Symbol *Sym, int64_t Addend, RelExpr Expr, in addRelativeReloc() argument
755 IS->Relocations.push_back({Expr, Type, OffsetInSec, Addend, Sym}); in addRelativeReloc()
759 In.RelaDyn->addReloc(Target->RelativeRel, IS, OffsetInSec, Sym, Addend, Expr, in addRelativeReloc()
775 RelExpr Expr; in addGotEntry() local
777 Expr = R_TLS; in addGotEntry()
779 Expr = R_PLT; in addGotEntry()
781 Expr = R_ABS; in addGotEntry()
795 In.Got->Relocations.push_back({Expr, Target->GotRel, Off, 0, &Sym}); in addGotEntry()
844 static void processRelocAux(InputSectionBase &Sec, RelExpr Expr, RelType Type, in processRelocAux() argument
847 if (isStaticLinkTimeConstant(Expr, Type, Sym, Sec, Offset)) { in processRelocAux()
848 Sec.Relocations.push_back({Expr, Type, Offset, Addend, &Sym}); in processRelocAux()
858 bool IsPreemptibleValue = Sym.IsPreemptible && Expr != R_GOT; in processRelocAux()
861 addRelativeReloc(&Sec, Offset, &Sym, Addend, Expr, Type); in processRelocAux()
882 In.MipsGot->addEntry(*Sec.File, Sym, Addend, Expr); in processRelocAux()
890 Sec.Relocations.push_back({Expr, Type, Offset, Addend, &Sym}); in processRelocAux()
894 if (!CanWrite && (Config->Pic && !isRelExpr(Expr))) { in processRelocAux()
932 Sec.Relocations.push_back({Expr, Type, Offset, Addend, &Sym}); in processRelocAux()
973 Sec.Relocations.push_back({Expr, Type, Offset, Addend, &Sym}); in processRelocAux()
1006 RelExpr Expr = Target->getRelExpr(Type, Sym, RelocatedAddr); in scanReloc() local
1009 if (isRelExprOneOf<R_HINT, R_NONE>(Expr)) in scanReloc()
1033 Expr = toPlt(Expr); in scanReloc()
1034 } else if (!Sym.IsPreemptible && Expr == R_GOT_PC && !isAbsoluteValue(Sym)) { in scanReloc()
1035 Expr = Target->adjustRelaxExpr(Type, RelocatedAddr, Expr); in scanReloc()
1037 Expr = fromPlt(Expr); in scanReloc()
1043 R_GOTREL_FROM_END, R_PPC_TOC>(Expr)) in scanReloc()
1047 int64_t Addend = computeAddend<ELFT>(Rel, End, Sec, Expr, Sym.isLocal()); in scanReloc()
1052 handleTlsRelocation<ELFT>(Type, Sym, Sec, Offset, Addend, Expr)) { in scanReloc()
1058 if (needsPlt(Expr) && !Sym.isInPlt()) { in scanReloc()
1067 if (needsGot(Expr)) { in scanReloc()
1076 In.MipsGot->addEntry(*Sec.File, Sym, Addend, Expr); in scanReloc()
1082 processRelocAux<ELFT>(Sec, Expr, Type, Offset, Sym, Rel, Addend); in scanReloc()
1422 Rel.Expr = toPlt(Rel.Expr); in normalizeExistingThunk()
1480 if (!Target->needsThunk(Rel.Expr, Rel.Type, IS->File, Src, in createThunks()
1501 Rel.Expr = fromPlt(Rel.Expr); in createThunks()